@projectcor/maia-components 2.11.11-6 → 2.11.11

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/components/atoms/ChatClientSelector/ChatClientSelector.js +70 -0
  2. package/lib/components/atoms/ChatClientSelector/index.js +2 -0
  3. package/lib/components/atoms/Chip/Chip.js +4 -3
  4. package/lib/components/atoms/Chip/styles.js +3 -3
  5. package/lib/components/atoms/EntitySelector/EntitySelector.js +195 -0
  6. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +63 -0
  7. package/lib/components/atoms/EntitySelector/index.js +2 -0
  8. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +5 -3
  9. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +33 -52
  10. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +57 -193
  11. package/lib/components/atoms/index.js +1 -2
  12. package/lib/components/index.js +2 -1
  13. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +50 -0
  14. package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
  15. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +9 -1
  16. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +2 -3
  17. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +105 -213
  18. package/lib/components/molecules/ChatAIMessages/newStyles.js +3 -5
  19. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +23 -17
  20. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -6
  21. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +5 -3
  22. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  23. package/lib/components/molecules/ChatFooter/ChatFooter.js +13 -28
  24. package/lib/components/molecules/ChatFooter/styles.js +1 -5
  25. package/lib/components/molecules/Sidebar/Sidebar.js +8 -2
  26. package/lib/components/organisms/ChatAI/ChatAI.js +11 -3
  27. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +26 -0
  28. package/lib/components/organisms/ClientAIButton/index.js +2 -0
  29. package/lib/constants/config.js +3 -2
  30. package/lib/context/global-context.js +1 -1
  31. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  32. package/lib/hooks/useChatManager/useChatManager.js +69 -31
  33. package/lib/hooks/useChatMessages/useChatMessages.js +133 -121
  34. package/lib/hooks/useChats/useChats.js +10 -6
  35. package/lib/hooks/useFrequentlyAskedQuestions.js +53 -68
  36. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -4
  37. package/lib/hooks/useProjectSearch.js +15 -8
  38. package/lib/hooks/useProjectSummaryConfig.js +35 -7
  39. package/lib/hooks/useRecentClientsSearch.js +180 -0
  40. package/lib/lang/br/index.js +27 -7
  41. package/lib/lang/en/index.js +27 -7
  42. package/lib/lang/es/index.js +27 -7
  43. package/lib/lang/fr/index.js +21 -2
  44. package/lib/services/maia/Agents/getAgents.js +10 -7
  45. package/lib/services/maia/Chats/getChatMessages.js +30 -16
  46. package/lib/services/maia/Chats/getChatsByUserId.js +4 -3
  47. package/lib/services/maia/Orchestrator/orchestrator.js +6 -4
  48. package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
  49. package/lib/services/maia/RecentClients/index.js +6 -0
  50. package/lib/services/maia/index.js +4 -2
  51. package/lib/services/utils/mapChatMessages.js +12 -4
  52. package/lib/store/chatsStore.types.js +1 -1
  53. package/lib/store/index.js +1 -2
  54. package/lib/store/useChatsStore.js +9 -7
  55. package/lib/types/Chat.js +1 -1
  56. package/lib/types/Client.js +2 -0
  57. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  58. package/lib/types/agent.js +1 -1
  59. package/package.json +1 -1
  60. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  61. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  62. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  63. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -173
  64. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  65. package/lib/store/faqsStore.types.js +0 -2
  66. package/lib/store/useFaqsStore.js +0 -27
@@ -25,7 +25,7 @@ export var SCMessagesScroll = styled.div.withConfig({
25
25
  export var SCMessagesInner = styled.div.withConfig({
26
26
  displayName: "newStyles__SCMessagesInner",
27
27
  componentId: "sc-1k23l8x-3"
28
- })(["flex-grow:1;display:flex;flex-direction:column;gap:36px;padding:0 16px;width:100%;max-width:864px;", ""], function (_ref2) {
28
+ })(["flex-grow:1;display:flex;flex-direction:column;gap:36px;padding:0 16px;max-width:864px;", ""], function (_ref2) {
29
29
  var $scrollOnParent = _ref2.$scrollOnParent;
30
30
  return $scrollOnParent ? 'overflow: visible;' : 'overflow-y: auto; overscroll-behavior-y: contain;';
31
31
  });
@@ -100,12 +100,10 @@ export var SCApprovalActionsColumn = styled.div.withConfig({
100
100
  displayName: "newStyles__SCApprovalActionsColumn",
101
101
  componentId: "sc-1k23l8x-14"
102
102
  })(["display:flex;flex-direction:column;gap:12px;"]);
103
-
104
- /** Wrapper del contenido del mensaje. contain limita repaint durante streaming al área del texto. */
105
103
  export var SCCAIMessageWrapper = styled.div.withConfig({
106
104
  displayName: "newStyles__SCCAIMessageWrapper",
107
105
  componentId: "sc-1k23l8x-15"
108
- })(["contain:layout style;min-width:0;max-width:100%;padding:", ";border-radius:8px;background-color:", ";display:flex;flex-direction:column;gap:16px;", " h1{font-size:24px;line-height:122%;font-weight:600;color:rgba(32,32,31,1);padding:6px 0 6px 0;}h2{font-family:Work Sans;font-weight:600;font-size:20px;line-height:125%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h3{font-family:Work Sans;font-weight:600;font-size:18px;line-height:114.99999999999999%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h4{font-family:Work Sans;font-weight:600;font-size:16px;line-height:114.99999999999999%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h5{font-family:Work Sans;font-weight:600;font-size:16px;line-height:122%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h6{font-family:Work Sans;font-weight:400;font-size:16px;line-height:122%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}p{line-height:140%;font-size:16px;font-weight:400;line-height:", ";color:", ";font-family:", ";letter-spacing:", ";margin-bottom:16px;&:last-child{margin-bottom:0;}}blockquote{margin:16px 0 !important;border-left:none;border-top:0.5px solid rgba(242,242,242,1);border-bottom:0.5px solid rgba(242,242,242,1);padding:16px 0 16px 12px;color:rgba(102,102,102,1);font-size:16px;line-height:140%;font-style:italic;p{padding-left:12px !important;margin:0 !important;border-left:1px solid rgba(217,217,217,1) !important;}}a{text-decoration:underline !important;font-size:16px;color:#337ab7 !important;}&.has-task-links a{text-decoration:none !important;color:#202020 !important;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;}}ul{list-style:inside !important;padding-left:15px !important;margin:0px 0 16px 0 !important;& > li{list-style:disc !important;margin-left:16px !important;margin-bottom:4px !important;color:rgba(32,32,31,1);font-size:16px;}}hr{margin:28px 0 !important;padding:0 !important;}ol{margin:0px 0 16px 0 !important;& > li{margin-bottom:4px !important;color:rgba(32,32,31,1);font-size:16px;p:last-child{margin-bottom:14px !important;}}}"], function (_ref6) {
106
+ })(["min-width:0;max-width:100%;padding:", ";border-radius:8px;background-color:", ";display:flex;flex-direction:column;gap:16px;", " h1{font-size:24px;line-height:122%;font-weight:600;color:rgba(32,32,31,1);padding:6px 0 6px 0;}h2{font-family:Work Sans;font-weight:600;font-size:20px;line-height:125%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h3{font-family:Work Sans;font-weight:600;font-size:18px;line-height:114.99999999999999%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h4{font-family:Work Sans;font-weight:600;font-size:16px;line-height:114.99999999999999%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h5{font-family:Work Sans;font-weight:600;font-size:16px;line-height:122%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}h6{font-family:Work Sans;font-weight:400;font-size:16px;line-height:122%;color:rgba(32,32,31,1);padding:6px 0 8px 0;}p{line-height:140%;font-size:16px;font-weight:400;line-height:", ";color:", ";font-family:", ";letter-spacing:", ";margin-bottom:16px;&:last-child{margin-bottom:0;}}blockquote{margin:16px 0 !important;border-left:none;border-top:0.5px solid rgba(242,242,242,1);border-bottom:0.5px solid rgba(242,242,242,1);padding:16px 0 16px 12px;color:rgba(102,102,102,1);font-size:16px;line-height:140%;font-style:italic;p{padding-left:12px !important;margin:0 !important;border-left:1px solid rgba(217,217,217,1) !important;}}a{text-decoration:underline !important;font-size:16px;color:#337ab7 !important;}&.has-task-links a{text-decoration:none !important;color:#202020 !important;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;}}ul{list-style:inside !important;padding-left:15px !important;margin:0px 0 16px 0 !important;& > li{list-style:disc !important;margin-left:16px !important;margin-bottom:4px !important;color:rgba(32,32,31,1);font-size:16px;}}hr{margin:28px 0 !important;padding:0 !important;}ol{margin:0px 0 16px 0 !important;& > li{margin-bottom:4px !important;color:rgba(32,32,31,1);font-size:16px;p:last-child{margin-bottom:14px !important;}}}"], function (_ref6) {
109
107
  var isCurrentUser = _ref6.isCurrentUser;
110
108
  return isCurrentUser ? '12px' : '0px';
111
109
  }, function (_ref7) {
@@ -135,4 +133,4 @@ export var ScrollToBottomButton = styled.button.withConfig({
135
133
  displayName: "newStyles__ScrollToBottomButton",
136
134
  componentId: "sc-1k23l8x-16"
137
135
  })(["display:flex;width:40px;height:40px;justify-content:center;align-items:center;gap:10px;aspect-ratio:1/1;border-radius:21.5px;border:1px solid #d9d9d9;background:#fff;box-shadow:0 4px 4px 0 rgba(0,0,0,0.05);position:absolute;bottom:15px;left:50%;transform:translateX(-50%);cursor:pointer;z-index:10;animation:", " 0.3s ease;transition:background 0.3s ease;pointer-events:auto;&:hover{background:#f7f7f7;}"], fadeInUp);
138
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJHTE9CQUxfQ09MT1JTIiwiTWVzc2FnZVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDTWVzc2FnZXNPdXRlciIsIl9yZWYiLCIkc2Nyb2xsT25QYXJlbnQiLCJTQ01lc3NhZ2VzU2Nyb2xsIiwiU0NNZXNzYWdlc0lubmVyIiwiX3JlZjIiLCJTQ0xvYWRpbmdNZXNzYWdlc0NvbHVtbiIsIlNDT3B0aW9uc0xpc3QiLCJTQ09wdGlvbkl0ZW0iLCJkYXJrIiwiX3JlZjMiLCIkaGFzU2VsZWN0aW9uIiwiX3JlZjQiLCIkZGltbWVkIiwiU0NBc3Npc3RhbnRNZXNzYWdlSGVhZGVyIiwiU0NBc3Npc3RhbnROYW1lIiwic3BhbiIsIlNDQXNzaXN0YW50QXZhdGFyIiwiU0NUYXNrTGluayIsImEiLCJTQ01lc3NhZ2VJdGVtV3JhcHBlciIsIl9yZWY1IiwiJGlzQXNzaXN0YW50IiwiU0NNZXNzYWdlSXRlbUlubmVyIiwiU0NBdHRhY2htZW50c1JvdyIsIlNDQXBwcm92YWxBY3Rpb25zQ29sdW1uIiwiU0NDQUlNZXNzYWdlV3JhcHBlciIsIl9yZWY2IiwiaXNDdXJyZW50VXNlciIsIl9yZWY3IiwiaXNGcm9udGVuZENhbmNlbGxlZCIsIl9yZWY4IiwiX3JlZjkiLCJfcmVmMCIsIl9yZWYxIiwiX3JlZjEwIiwiZmFkZUluVXAiLCJTY3JvbGxUb0JvdHRvbUJ1dHRvbiIsImJ1dHRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbmV4cG9ydCBjb25zdCBNZXNzYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDE2cHg7XG5gXG5cbi8qKiBDb250ZW5lZG9yIGV4dGVyaW9yIGRlbCDDoXJlYSBkZSBtZW5zYWplcy4gQ3VhbmRvIGV4cGFuZGVkLCBubyBoYWNlIHNjcm9sbDsgZWwgc2Nyb2xsIGxvIHRpZW5lIFNDTWVzc2FnZXNTY3JvbGwuICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc091dGVyID0gc3R5bGVkLmRpdjx7ICRzY3JvbGxPblBhcmVudD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMDtcbiAgJHsoeyAkc2Nyb2xsT25QYXJlbnQgfSkgPT4gKCRzY3JvbGxPblBhcmVudCA/ICcnIDogJ292ZXJmbG93OiBhdXRvOyBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47Jyl9XG5gXG5cbi8qKiBDdWFuZG8gZXhwYW5kZWQsIGVzdGUgY29udGVuZWRvciBoYWNlIHNjcm9sbCBwYXJhIHF1ZSBlbCBib3TDs24gXCJpciBhbCBmaW5hbFwiIHF1ZWRlIGZpam8gZW4gZWwgw6FyZWEgZGVsIGNoYXQgKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzU2Nyb2xsID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuLyoqIENvbnRlbmVkb3IgaW50ZXJpb3IgZGUgbWVuc2FqZXMgKG1heFdpZHRoIDg2NHB4KS4gQ3VhbmRvIGV4cGFuZGVkLCBvdmVyZmxvdyB2aXNpYmxlIHBhcmEgcXVlIHNjcm9sbCBsbyB0ZW5nYSBTQ01lc3NhZ2VzU2Nyb2xsICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc0lubmVyID0gc3R5bGVkLmRpdjx7ICRzY3JvbGxPblBhcmVudD86IGJvb2xlYW4gfT5gXG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzNnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICAkeyh7ICRzY3JvbGxPblBhcmVudCB9KSA9PlxuICAgICRzY3JvbGxPblBhcmVudCA/ICdvdmVyZmxvdzogdmlzaWJsZTsnIDogJ292ZXJmbG93LXk6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnfVxuYFxuXG4vKiogQ29sdW1uYSBwYXJhIGxvYWRpbmcvbG9hZGluZyBtZXNzYWdlcyAqL1xuZXhwb3J0IGNvbnN0IFNDTG9hZGluZ01lc3NhZ2VzQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmBcblxuLyoqIExpc3RhIGRlIG9wY2lvbmVzIChNZXNzYWdlT3B0aW9ucykgKi9cbmV4cG9ydCBjb25zdCBTQ09wdGlvbnNMaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NPcHRpb25JdGVtID0gc3R5bGVkLmRpdjx7ICRoYXNTZWxlY3Rpb24/OiBib29sZWFuOyAkZGltbWVkPzogYm9vbGVhbiB9PmBcbiAgY29sb3I6ICR7R0xPQkFMX0NPTE9SUy5kYXJrfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY3Vyc29yOiAkeyh7ICRoYXNTZWxlY3Rpb24gfSkgPT4gKCRoYXNTZWxlY3Rpb24gPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInKX07XG4gIG9wYWNpdHk6ICR7KHsgJGRpbW1lZCB9KSA9PiAoJGRpbW1lZCA/IDAuNSA6IDEpfTtcbmBcblxuLyoqIEhlYWRlciBkZWwgbWVuc2FqZSBkZWwgYXNpc3RlbnRlIChhdmF0YXIgKyBub21icmUpICovXG5leHBvcnQgY29uc3QgU0NBc3Npc3RhbnRNZXNzYWdlSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0Fzc2lzdGFudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbmBcblxuLyoqIFdyYXBwZXIgZGVsIGF2YXRhciBkZWwgYXNpc3RlbnRlICovXG5leHBvcnQgY29uc3QgU0NBc3Npc3RhbnRBdmF0YXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbi8qKiBFbmxhY2UgZGUgdGFyZWEgKHRhc2sgbGluaykgKi9cbmV4cG9ydCBjb25zdCBTQ1Rhc2tMaW5rID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzM3YWI3ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuLyoqIFdyYXBwZXIgZGUgdW4gbWVuc2FqZSAocG9zaWNpw7NuLCBmbGV4LCBnYXApICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlSXRlbVdyYXBwZXIgPSBzdHlsZWQuZGl2PHsgJGlzQXNzaXN0YW50PzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgJHsoeyAkaXNBc3Npc3RhbnQgfSkgPT4gJGlzQXNzaXN0YW50ICYmICdqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0Oyd9XG5gXG5cbi8qKiBDb250ZW5lZG9yIGludGVyaW9yIGRlbCBtZW5zYWplIChhdHRhY2htZW50cyArIGFwcHJvdmFsICsgY29udGVudCkgKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VJdGVtSW5uZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gXG5cbi8qKiBGaWxhIGRlIGF0dGFjaG1lbnRzIChmbGV4IGVuZCwgd3JhcCkgKi9cbmV4cG9ydCBjb25zdCBTQ0F0dGFjaG1lbnRzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAxMnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5gXG5cbi8qKiBDb2x1bW5hIGRlIGFjY2lvbmVzIGRlIGFwcHJvdmFsICovXG5leHBvcnQgY29uc3QgU0NBcHByb3ZhbEFjdGlvbnNDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gXG5cbi8qKiBXcmFwcGVyIGRlbCBjb250ZW5pZG8gZGVsIG1lbnNhamUuIGNvbnRhaW4gbGltaXRhIHJlcGFpbnQgZHVyYW50ZSBzdHJlYW1pbmcgYWwgw6FyZWEgZGVsIHRleHRvLiAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJTWVzc2FnZVdyYXBwZXIgPSBzdHlsZWQuZGl2PHsgaXNDdXJyZW50VXNlcjogYm9vbGVhbjsgaXNGcm9udGVuZENhbmNlbGxlZD86IGJvb2xlYW4gfT5gXG4gIGNvbnRhaW46IGxheW91dCBzdHlsZTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PiAoaXNDdXJyZW50VXNlciA/ICcxMnB4JyA6ICcwcHgnKX07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBpc0N1cnJlbnRVc2VyLCBpc0Zyb250ZW5kQ2FuY2VsbGVkIH0pID0+IHtcbiAgICBpZiAoaXNGcm9udGVuZENhbmNlbGxlZCkgcmV0dXJuICd0cmFuc3BhcmVudCdcbiAgICBpZiAoaXNDdXJyZW50VXNlcikgcmV0dXJuICcjRjdGMEZDJ1xuICAgIHJldHVybiAndHJhbnNwYXJlbnQnXG4gIH19O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG4gICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PlxuICAgIGlzQ3VycmVudFVzZXIgJiZcbiAgICBjc3NgXG4gICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgYH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMjIlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgcGFkZGluZzogNnB4IDAgNnB4IDA7XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTI1JTtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgICBwYWRkaW5nOiA2cHggMCA4cHggMDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMTQuOTk5OTk5OTk5OTk5OTklO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgIHBhZGRpbmc6IDZweCAwIDhweCAwO1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDExNC45OTk5OTk5OTk5OTk5OSU7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgcGFkZGluZzogNnB4IDAgOHB4IDA7XG4gIH1cblxuICBoNSB7XG4gICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTIyJTtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgICBwYWRkaW5nOiA2cHggMCA4cHggMDtcbiAgfVxuXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMjIlO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgIHBhZGRpbmc6IDZweCAwIDhweCAwO1xuICB9XG5cbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6ICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PiAoaXNDdXJyZW50VXNlciA/ICdub3JtYWwnIDogJzEuNicpfTtcbiAgICBjb2xvcjogJHsoeyBpc0Zyb250ZW5kQ2FuY2VsbGVkIH0pID0+IChpc0Zyb250ZW5kQ2FuY2VsbGVkID8gJyM5OTknIDogJ3JnYmEoMzIsIDMyLCAzMSwgMSknKX07XG4gICAgZm9udC1mYW1pbHk6ICR7KHsgaXNGcm9udGVuZENhbmNlbGxlZCB9KSA9PiAoaXNGcm9udGVuZENhbmNlbGxlZCA/ICdcIldvcmsgU2Fuc1wiJyA6ICdpbmhlcml0Jyl9O1xuICAgIGxldHRlci1zcGFjaW5nOiAkeyh7IGlzRnJvbnRlbmRDYW5jZWxsZWQgfSkgPT4gKGlzRnJvbnRlbmRDYW5jZWxsZWQgPyAnLTAuMjFweCcgOiAnbm9ybWFsJyl9O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgLyogY29sb3I6ICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PiAoaXNDdXJyZW50VXNlciA/ICdyZ2JhKDMyLCAzMiwgMzEsIDEpJyA6ICdyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpJyl9OyAqL1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMC41cHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDEpO1xuICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDEycHg7XG4gICAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjE3LCAyMTcsIDIxNywgMSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzMzN2FiNyAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5oYXMtdGFzay1saW5rcyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMCAxOEMxMS4xMjUgMTggMTIuMTI1IDE3LjQzNzUgMTIuNjg3NSAxNi41NjI1QzEzLjcxODggMTYuNzgxMiAxNC44NDM4IDE2LjQ2ODggMTUuNjU2MiAxNS42NTYyQzE2LjQzNzUgMTQuODc1IDE2Ljc1IDEzLjc1IDE2LjUzMTIgMTIuNzE4OEMxNy40MDYyIDEyLjE1NjIgMTggMTEuMTU2MiAxOCAxMEMxOCA4Ljg3NSAxNy40MDYyIDcuODc1IDE2LjUzMTIgNy4zMTI1QzE2Ljc1IDYuMjgxMjUgMTYuNDM3NSA1LjE1NjI1IDE1LjY1NjIgNC4zNDM3NUMxNC44NDM4IDMuNTYyNSAxMy43MTg4IDMuMjUgMTIuNjg3NSAzLjQ2ODc1QzEyLjEyNSAyLjU5Mzc1IDExLjEyNSAyIDEwIDJDOC44NDM3NSAyIDcuODQzNzUgMi41OTM3NSA3LjI4MTI1IDMuNDY4NzVDNi4yNSAzLjI1IDUuMTI1IDMuNTYyNSA0LjM0Mzc1IDQuMzQzNzVDMy41MzEyNSA1LjE1NjI1IDMuMjE4NzUgNi4yODEyNSAzLjQzNzUgNy4zMTI1QzIuNTYyNSA3Ljg3NSAyIDguODc1IDIgMTBDMiAxMS4xNTYyIDIuNTYyNSAxMi4xNTYyIDMuNDM3NSAxMi43MTg4QzMuMjE4NzUgMTMuNzUgMy41MzEyNSAxNC44NzUgNC4zNDM3NSAxNS42NTYyQzUuMTI1IDE2LjQ2ODggNi4yNSAxNi43ODEyIDcuMjgxMjUgMTYuNTYyNUM3Ljg0Mzc1IDE3LjQzNzUgOC44NDM3NSAxOCAxMCAxOFpNOC4wNjI1IDE0LjYyNUM3LjQwNjI1IDE0LjkzNzUgNi4zNDM3NSAxNS41NjI1IDUuMzc1IDE0LjU5MzhDNC4zNzUgMTMuNTkzOCA1LjEyNSAxMi40Njg4IDUuMzc1IDExLjkzNzVDNC43MTg3NSAxMS42ODc1IDMuNSAxMS4zNzUgMy41IDEwQzMuNSA4LjU5Mzc1IDQuODEyNSA4LjMxMjUgNS4zNzUgOC4wOTM3NUM1LjA5Mzc1IDcuNDY4NzUgNC40Mzc1IDYuMzc1IDUuNDA2MjUgNS40MDYyNUM2LjQwNjI1IDQuNDA2MjUgNy41MzEyNSA1LjE1NjI1IDguMDYyNSA1LjQwNjI1QzguMzEyNSA0Ljc1IDguNjI1IDMuNSAxMCAzLjVDMTEuNDA2MiAzLjUgMTEuNjg3NSA0Ljg0Mzc1IDExLjkwNjIgNS40MDYyNUMxMi41MzEyIDUuMTI1IDEzLjYyNSA0LjQ2ODc1IDE0LjU5MzggNS40Mzc1QzE1LjU5MzggNi40Mzc1IDE0Ljg0MzggNy41NjI1IDE0LjU5MzggOC4wOTM3NUMxNS4yNSA4LjM0Mzc1IDE2LjQ2ODggOC42NTYyNSAxNi40Njg4IDEwLjAzMTJDMTYuNDY4OCAxMS40Mzc1IDE1LjE1NjIgMTEuNzE4OCAxNC41OTM4IDExLjkzNzVDMTQuODc1IDEyLjU2MjUgMTUuNTYyNSAxMy42NTYyIDE0LjU5MzggMTQuNjI1QzEzLjcxODggMTUuNSAxMi44NDM4IDE1LjA2MjUgMTEuOTA2MiAxNC42MjVDMTEuNjU2MiAxNS4yODEyIDExLjM0MzggMTYuNSAxMCAxNi41QzguNTYyNSAxNi41IDguMjgxMjUgMTUuMTg3NSA4LjA2MjUgMTQuNjI1WicgZmlsbD0nJTIzODc0MEJGJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogaW5zaWRlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwcHggMCAxNnB4IDAgIWltcG9ydGFudDtcbiAgICAmID4gbGkge1xuICAgICAgbGlzdC1zdHlsZTogZGlzYyAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgaHIge1xuICAgIG1hcmdpbjogMjhweCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgb2wge1xuICAgIG1hcmdpbjogMHB4IDAgMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgJiA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IGZhZGVJblVwID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTY3JvbGxUb0JvdHRvbUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiAyMS41cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxNXB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMDtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJblVwfSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELFNBQVNDLGFBQWEsUUFBUSx3QkFBd0I7QUFFdEQsT0FBTyxJQUFNQyxjQUFjLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUV2Qzs7QUFFRDtBQUNBLE9BQU8sSUFBTUMsZUFBZSxHQUFHVCxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0RkFNckMsVUFBQUUsSUFBQTtFQUFBLElBQUdDLGVBQWUsR0FBQUQsSUFBQSxDQUFmQyxlQUFlO0VBQUEsT0FBUUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxpREFBaUQ7QUFBQSxDQUFDLENBQ3RHOztBQUVEO0FBQ0EsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBR1osTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsOEdBT3pDOztBQUVEO0FBQ0EsT0FBTyxJQUFNSyxlQUFlLEdBQUdiLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtHQVFyQyxVQUFBTSxLQUFBO0VBQUEsSUFBR0gsZUFBZSxHQUFBRyxLQUFBLENBQWZILGVBQWU7RUFBQSxPQUNsQkEsZUFBZSxHQUFHLG9CQUFvQixHQUFHLG1EQUFtRDtBQUFBLEVBQy9GOztBQUVEO0FBQ0EsT0FBTyxJQUFNSSx1QkFBdUIsR0FBR2YsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkNBR2hEOztBQUVEO0FBQ0EsT0FBTyxJQUFNUSxhQUFhLEdBQUdoQixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxX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
136
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJHTE9CQUxfQ09MT1JTIiwiTWVzc2FnZVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDTWVzc2FnZXNPdXRlciIsIl9yZWYiLCIkc2Nyb2xsT25QYXJlbnQiLCJTQ01lc3NhZ2VzU2Nyb2xsIiwiU0NNZXNzYWdlc0lubmVyIiwiX3JlZjIiLCJTQ0xvYWRpbmdNZXNzYWdlc0NvbHVtbiIsIlNDT3B0aW9uc0xpc3QiLCJTQ09wdGlvbkl0ZW0iLCJkYXJrIiwiX3JlZjMiLCIkaGFzU2VsZWN0aW9uIiwiX3JlZjQiLCIkZGltbWVkIiwiU0NBc3Npc3RhbnRNZXNzYWdlSGVhZGVyIiwiU0NBc3Npc3RhbnROYW1lIiwic3BhbiIsIlNDQXNzaXN0YW50QXZhdGFyIiwiU0NUYXNrTGluayIsImEiLCJTQ01lc3NhZ2VJdGVtV3JhcHBlciIsIl9yZWY1IiwiJGlzQXNzaXN0YW50IiwiU0NNZXNzYWdlSXRlbUlubmVyIiwiU0NBdHRhY2htZW50c1JvdyIsIlNDQXBwcm92YWxBY3Rpb25zQ29sdW1uIiwiU0NDQUlNZXNzYWdlV3JhcHBlciIsIl9yZWY2IiwiaXNDdXJyZW50VXNlciIsIl9yZWY3IiwiaXNGcm9udGVuZENhbmNlbGxlZCIsIl9yZWY4IiwiX3JlZjkiLCJfcmVmMCIsIl9yZWYxIiwiX3JlZjEwIiwiZmFkZUluVXAiLCJTY3JvbGxUb0JvdHRvbUJ1dHRvbiIsImJ1dHRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbmV4cG9ydCBjb25zdCBNZXNzYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDE2cHg7XG5gXG5cbi8qKiBDb250ZW5lZG9yIGV4dGVyaW9yIGRlbCDDoXJlYSBkZSBtZW5zYWplcy4gQ3VhbmRvIGV4cGFuZGVkLCBubyBoYWNlIHNjcm9sbDsgZWwgc2Nyb2xsIGxvIHRpZW5lIFNDTWVzc2FnZXNTY3JvbGwuICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc091dGVyID0gc3R5bGVkLmRpdjx7ICRzY3JvbGxPblBhcmVudD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMDtcbiAgJHsoeyAkc2Nyb2xsT25QYXJlbnQgfSkgPT4gKCRzY3JvbGxPblBhcmVudCA/ICcnIDogJ292ZXJmbG93OiBhdXRvOyBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47Jyl9XG5gXG5cbi8qKiBDdWFuZG8gZXhwYW5kZWQsIGVzdGUgY29udGVuZWRvciBoYWNlIHNjcm9sbCBwYXJhIHF1ZSBlbCBib3TDs24gXCJpciBhbCBmaW5hbFwiIHF1ZWRlIGZpam8gZW4gZWwgw6FyZWEgZGVsIGNoYXQgKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzU2Nyb2xsID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuLyoqIENvbnRlbmVkb3IgaW50ZXJpb3IgZGUgbWVuc2FqZXMgKG1heFdpZHRoIDg2NHB4KS4gQ3VhbmRvIGV4cGFuZGVkLCBvdmVyZmxvdyB2aXNpYmxlIHBhcmEgcXVlIHNjcm9sbCBsbyB0ZW5nYSBTQ01lc3NhZ2VzU2Nyb2xsICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc0lubmVyID0gc3R5bGVkLmRpdjx7ICRzY3JvbGxPblBhcmVudD86IGJvb2xlYW4gfT5gXG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzNnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIG1heC13aWR0aDogODY0cHg7XG4gICR7KHsgJHNjcm9sbE9uUGFyZW50IH0pID0+XG4gICAgJHNjcm9sbE9uUGFyZW50ID8gJ292ZXJmbG93OiB2aXNpYmxlOycgOiAnb3ZlcmZsb3cteTogYXV0bzsgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluOyd9XG5gXG5cbi8qKiBDb2x1bW5hIHBhcmEgbG9hZGluZy9sb2FkaW5nIG1lc3NhZ2VzICovXG5leHBvcnQgY29uc3QgU0NMb2FkaW5nTWVzc2FnZXNDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYFxuXG4vKiogTGlzdGEgZGUgb3BjaW9uZXMgKE1lc3NhZ2VPcHRpb25zKSAqL1xuZXhwb3J0IGNvbnN0IFNDT3B0aW9uc0xpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ09wdGlvbkl0ZW0gPSBzdHlsZWQuZGl2PHsgJGhhc1NlbGVjdGlvbj86IGJvb2xlYW47ICRkaW1tZWQ/OiBib29sZWFuIH0+YFxuICBjb2xvcjogJHtHTE9CQUxfQ09MT1JTLmRhcmt9O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjdXJzb3I6ICR7KHsgJGhhc1NlbGVjdGlvbiB9KSA9PiAoJGhhc1NlbGVjdGlvbiA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicpfTtcbiAgb3BhY2l0eTogJHsoeyAkZGltbWVkIH0pID0+ICgkZGltbWVkID8gMC41IDogMSl9O1xuYFxuXG4vKiogSGVhZGVyIGRlbCBtZW5zYWplIGRlbCBhc2lzdGVudGUgKGF2YXRhciArIG5vbWJyZSkgKi9cbmV4cG9ydCBjb25zdCBTQ0Fzc2lzdGFudE1lc3NhZ2VIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQXNzaXN0YW50TmFtZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuYFxuXG4vKiogV3JhcHBlciBkZWwgYXZhdGFyIGRlbCBhc2lzdGVudGUgKi9cbmV4cG9ydCBjb25zdCBTQ0Fzc2lzdGFudEF2YXRhciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuLyoqIEVubGFjZSBkZSB0YXJlYSAodGFzayBsaW5rKSAqL1xuZXhwb3J0IGNvbnN0IFNDVGFza0xpbmsgPSBzdHlsZWQuYWBcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzMzdhYjcgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuYFxuXG4vKiogV3JhcHBlciBkZSB1biBtZW5zYWplIChwb3NpY2nDs24sIGZsZXgsIGdhcCkgKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VJdGVtV3JhcHBlciA9IHN0eWxlZC5kaXY8eyAkaXNBc3Npc3RhbnQ/OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAkeyh7ICRpc0Fzc2lzdGFudCB9KSA9PiAkaXNBc3Npc3RhbnQgJiYgJ2p1c3RpZnktY29udGVudDogc3RhcnQ7J31cbmBcblxuLyoqIENvbnRlbmVkb3IgaW50ZXJpb3IgZGVsIG1lbnNhamUgKGF0dGFjaG1lbnRzICsgYXBwcm92YWwgKyBjb250ZW50KSAqL1xuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZUl0ZW1Jbm5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbmBcblxuLyoqIEZpbGEgZGUgYXR0YWNobWVudHMgKGZsZXggZW5kLCB3cmFwKSAqL1xuZXhwb3J0IGNvbnN0IFNDQXR0YWNobWVudHNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDEycHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmBcblxuLyoqIENvbHVtbmEgZGUgYWNjaW9uZXMgZGUgYXBwcm92YWwgKi9cbmV4cG9ydCBjb25zdCBTQ0FwcHJvdmFsQWN0aW9uc0NvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTWVzc2FnZVdyYXBwZXIgPSBzdHlsZWQuZGl2PHsgaXNDdXJyZW50VXNlcjogYm9vbGVhbjsgaXNGcm9udGVuZENhbmNlbGxlZD86IGJvb2xlYW4gfT5gXG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkeyh7IGlzQ3VycmVudFVzZXIgfSkgPT4gKGlzQ3VycmVudFVzZXIgPyAnMTJweCcgOiAnMHB4Jyl9O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaXNDdXJyZW50VXNlciwgaXNGcm9udGVuZENhbmNlbGxlZCB9KSA9PiB7XG4gICAgaWYgKGlzRnJvbnRlbmRDYW5jZWxsZWQpIHJldHVybiAndHJhbnNwYXJlbnQnXG4gICAgaWYgKGlzQ3VycmVudFVzZXIpIHJldHVybiAnI0Y3RjBGQydcbiAgICByZXR1cm4gJ3RyYW5zcGFyZW50J1xuICB9fTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuICAkeyh7IGlzQ3VycmVudFVzZXIgfSkgPT5cbiAgICBpc0N1cnJlbnRVc2VyICYmXG4gICAgY3NzYFxuICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIGB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMTIyJTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgIHBhZGRpbmc6IDZweCAwIDZweCAwO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEyNSU7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgcGFkZGluZzogNnB4IDAgOHB4IDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTE0Ljk5OTk5OTk5OTk5OTk5JTtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgICBwYWRkaW5nOiA2cHggMCA4cHggMDtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMTQuOTk5OTk5OTk5OTk5OTklO1xuICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgIHBhZGRpbmc6IDZweCAwIDhweCAwO1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEyMiU7XG4gICAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gICAgcGFkZGluZzogNnB4IDAgOHB4IDA7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTIyJTtcbiAgICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgICBwYWRkaW5nOiA2cHggMCA4cHggMDtcbiAgfVxuXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkeyh7IGlzQ3VycmVudFVzZXIgfSkgPT4gKGlzQ3VycmVudFVzZXIgPyAnbm9ybWFsJyA6ICcxLjYnKX07XG4gICAgY29sb3I6ICR7KHsgaXNGcm9udGVuZENhbmNlbGxlZCB9KSA9PiAoaXNGcm9udGVuZENhbmNlbGxlZCA/ICcjOTk5JyA6ICdyZ2JhKDMyLCAzMiwgMzEsIDEpJyl9O1xuICAgIGZvbnQtZmFtaWx5OiAkeyh7IGlzRnJvbnRlbmRDYW5jZWxsZWQgfSkgPT4gKGlzRnJvbnRlbmRDYW5jZWxsZWQgPyAnXCJXb3JrIFNhbnNcIicgOiAnaW5oZXJpdCcpfTtcbiAgICBsZXR0ZXItc3BhY2luZzogJHsoeyBpc0Zyb250ZW5kQ2FuY2VsbGVkIH0pID0+IChpc0Zyb250ZW5kQ2FuY2VsbGVkID8gJy0wLjIxcHgnIDogJ25vcm1hbCcpfTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIC8qIGNvbG9yOiAkeyh7IGlzQ3VycmVudFVzZXIgfSkgPT4gKGlzQ3VycmVudFVzZXIgPyAncmdiYSgzMiwgMzIsIDMxLCAxKScgOiAncmdiYSgxMDIsIDEwMiwgMTAyLCAxKScpfTsgKi9cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDE2cHggMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci10b3A6IDAuNXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMTZweCAxMnB4O1xuICAgIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDIxNywgMjE3LCAyMTcsIDEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMzMzdhYjcgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuaGFzLXRhc2stbGlua3MgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMDIwMjAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAgMThDMTEuMTI1IDE4IDEyLjEyNSAxNy40Mzc1IDEyLjY4NzUgMTYuNTYyNUMxMy43MTg4IDE2Ljc4MTIgMTQuODQzOCAxNi40Njg4IDE1LjY1NjIgMTUuNjU2MkMxNi40Mzc1IDE0Ljg3NSAxNi43NSAxMy43NSAxNi41MzEyIDEyLjcxODhDMTcuNDA2MiAxMi4xNTYyIDE4IDExLjE1NjIgMTggMTBDMTggOC44NzUgMTcuNDA2MiA3Ljg3NSAxNi41MzEyIDcuMzEyNUMxNi43NSA2LjI4MTI1IDE2LjQzNzUgNS4xNTYyNSAxNS42NTYyIDQuMzQzNzVDMTQuODQzOCAzLjU2MjUgMTMuNzE4OCAzLjI1IDEyLjY4NzUgMy40Njg3NUMxMi4xMjUgMi41OTM3NSAxMS4xMjUgMiAxMCAyQzguODQzNzUgMiA3Ljg0Mzc1IDIuNTkzNzUgNy4yODEyNSAzLjQ2ODc1QzYuMjUgMy4yNSA1LjEyNSAzLjU2MjUgNC4zNDM3NSA0LjM0Mzc1QzMuNTMxMjUgNS4xNTYyNSAzLjIxODc1IDYuMjgxMjUgMy40Mzc1IDcuMzEyNUMyLjU2MjUgNy44NzUgMiA4Ljg3NSAyIDEwQzIgMTEuMTU2MiAyLjU2MjUgMTIuMTU2MiAzLjQzNzUgMTIuNzE4OEMzLjIxODc1IDEzLjc1IDMuNTMxMjUgMTQuODc1IDQuMzQzNzUgMTUuNjU2MkM1LjEyNSAxNi40Njg4IDYuMjUgMTYuNzgxMiA3LjI4MTI1IDE2LjU2MjVDNy44NDM3NSAxNy40Mzc1IDguODQzNzUgMTggMTAgMThaTTguMDYyNSAxNC42MjVDNy40MDYyNSAxNC45Mzc1IDYuMzQzNzUgMTUuNTYyNSA1LjM3NSAxNC41OTM4QzQuMzc1IDEzLjU5MzggNS4xMjUgMTIuNDY4OCA1LjM3NSAxMS45Mzc1QzQuNzE4NzUgMTEuNjg3NSAzLjUgMTEuMzc1IDMuNSAxMEMzLjUgOC41OTM3NSA0LjgxMjUgOC4zMTI1IDUuMzc1IDguMDkzNzVDNS4wOTM3NSA3LjQ2ODc1IDQuNDM3NSA2LjM3NSA1LjQwNjI1IDUuNDA2MjVDNi40MDYyNSA0LjQwNjI1IDcuNTMxMjUgNS4xNTYyNSA4LjA2MjUgNS40MDYyNUM4LjMxMjUgNC43NSA4LjYyNSAzLjUgMTAgMy41QzExLjQwNjIgMy41IDExLjY4NzUgNC44NDM3NSAxMS45MDYyIDUuNDA2MjVDMTIuNTMxMiA1LjEyNSAxMy42MjUgNC40Njg3NSAxNC41OTM4IDUuNDM3NUMxNS41OTM4IDYuNDM3NSAxNC44NDM4IDcuNTYyNSAxNC41OTM4IDguMDkzNzVDMTUuMjUgOC4zNDM3NSAxNi40Njg4IDguNjU2MjUgMTYuNDY4OCAxMC4wMzEyQzE2LjQ2ODggMTEuNDM3NSAxNS4xNTYyIDExLjcxODggMTQuNTkzOCAxMS45Mzc1QzE0Ljg3NSAxMi41NjI1IDE1LjU2MjUgMTMuNjU2MiAxNC41OTM4IDE0LjYyNUMxMy43MTg4IDE1LjUgMTIuODQzOCAxNS4wNjI1IDExLjkwNjIgMTQuNjI1QzExLjY1NjIgMTUuMjgxMiAxMS4zNDM4IDE2LjUgMTAgMTYuNUM4LjU2MjUgMTYuNSA4LjI4MTI1IDE1LjE4NzUgOC4wNjI1IDE0LjYyNVonIGZpbGw9JyUyMzg3NDBCRicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGluc2lkZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMHB4IDAgMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgJiA+IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2MgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIGhyIHtcbiAgICBtYXJnaW46IDI4cHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIG9sIHtcbiAgICBtYXJnaW46IDBweCAwIDE2cHggMCAhaW1wb3J0YW50O1xuICAgICYgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBmYWRlSW5VcCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU2Nyb2xsVG9Cb3R0b21CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYm9yZGVyLXJhZGl1czogMjEuNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTVweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTA7XG4gIGFuaW1hdGlvbjogJHtmYWRlSW5VcH0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUMxRCxTQUFTQyxhQUFh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
@@ -33,14 +33,13 @@ import { SECTIONS } from '../../../constants/config';
33
33
  import { SCCAIMContent, SCCAIMContentWrapper, SCCAIMWrapper } from './ChatAIModal.styles';
34
34
  import { ChatAiModalFooter } from './components/ChatAiModalFooter';
35
35
  import { validateIsMaia } from '../../../services/utils/validateIsMaia';
36
- import { useFaqsStore } from '../../../store/useFaqsStore';
37
36
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
37
  export var ID_MODAL_CHAT_AGENT = 'modals-portal-maia-chat-agent';
39
38
  var validateAccessByFeature = function validateAccessByFeature(section) {
40
39
  if (section === 'header' && (window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || window.MAIA_CHAT_AI_FEATURE_ACCESS)) {
41
40
  return true;
42
41
  }
43
- if (section === 'project' && window.MAIA_CHAT_AI_FEATURE_ACCESS) {
42
+ if ((section === 'project' || section === 'client') && window.MAIA_CHAT_AI_FEATURE_ACCESS) {
44
43
  return true;
45
44
  }
46
45
  return false;
@@ -51,10 +50,6 @@ export var ChatAIModal = function ChatAIModal(_ref) {
51
50
  var user = useUser();
52
51
  var _useTranslation = useTranslation([SECTIONS.abmAgent]),
53
52
  i18n = _useTranslation.i18n;
54
- var handleCloseModal = useCallback(function () {
55
- useFaqsStore.getState().clearFaqs();
56
- handleClose === null || handleClose === void 0 || handleClose();
57
- }, [handleClose]);
58
53
  var _useState = useState({
59
54
  message: '',
60
55
  attachments: []
@@ -113,9 +108,11 @@ export var ChatAIModal = function ChatAIModal(_ref) {
113
108
  section = _useGlobalContext.section,
114
109
  agent = _useGlobalContext.agent,
115
110
  project = _useGlobalContext.project,
111
+ client = _useGlobalContext.client,
116
112
  toggleWebSearch = _useGlobalContext.toggleWebSearch,
117
113
  isWebSearchActive = _useGlobalContext.isWebSearchActive,
118
- setChipsProject = _useGlobalContext.setChipsProject;
114
+ setChipsProject = _useGlobalContext.setChipsProject,
115
+ setClient = _useGlobalContext.setClient;
119
116
  var _useGetAgents = useGetAgents({
120
117
  selectAgent: selectAgent,
121
118
  section: section,
@@ -138,12 +135,18 @@ export var ChatAIModal = function ChatAIModal(_ref) {
138
135
  var isMAIA = validateIsMaia(agent);
139
136
  var userHasPermissions = ((user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 || (_user$permissions = _user$permissions.ai_agents) === null || _user$permissions === void 0 ? void 0 : _user$permissions.create) || (user === null || user === void 0 || (_user$permissions2 = user.permissions) === null || _user$permissions2 === void 0 || (_user$permissions2 = _user$permissions2.ai_agents) === null || _user$permissions2 === void 0 ? void 0 : _user$permissions2.edit) || (user === null || user === void 0 || (_user$permissions3 = user.permissions) === null || _user$permissions3 === void 0 || (_user$permissions3 = _user$permissions3.ai_agents) === null || _user$permissions3 === void 0 ? void 0 : _user$permissions3["delete"])) && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
140
137
  var computedCurrentOption = useMemo(function () {
141
- var shouldShowProjectSelector = currentOption !== options.chat && isMAIA && !project;
138
+ var isProjectSpecialist = isMAIA && ((agent === null || agent === void 0 ? void 0 : agent.entity) === 'project' || (agent === null || agent === void 0 ? void 0 : agent.entity) == null);
139
+ var isClientSpecialist = isMAIA && (agent === null || agent === void 0 ? void 0 : agent.entity) === 'client';
140
+ var shouldShowProjectSelector = currentOption !== options.chat && isProjectSpecialist && !project;
141
+ var shouldShowClientSelector = currentOption !== options.chat && isClientSpecialist && !client;
142
142
  if (shouldShowProjectSelector) {
143
143
  return options.projectSelector;
144
144
  }
145
+ if (shouldShowClientSelector) {
146
+ return options.clientSelector;
147
+ }
145
148
  return currentOption;
146
- }, [section, currentOption, project, isMAIA]);
149
+ }, [currentOption, project, client, isMAIA, agent === null || agent === void 0 ? void 0 : agent.entity]);
147
150
  var agentsFetchedRef = useRef(false);
148
151
  var selector = document.querySelector("#".concat(ID_MODAL_CHAT_AGENT));
149
152
  var _useState21 = useState(false),
@@ -192,14 +195,14 @@ export var ChatAIModal = function ChatAIModal(_ref) {
192
195
  setIsStreaming(streaming);
193
196
  setIsWriting(writing);
194
197
  }, []);
195
- var handleSendMessage = useCallback(function (message, attachments, faqId) {
198
+ var handleSendMessage = useCallback(function (message, attachments) {
196
199
  if (sidebarHasError) {
197
200
  setSidebarHasError(false);
198
201
  }
199
202
  if (sendMessageFunction && computedCurrentOption === options.chat) {
200
- sendMessageFunction(message, attachments, faqId);
203
+ sendMessageFunction(message, attachments);
201
204
  } else {
202
- startChat(message, attachments, faqId);
205
+ startChat(message, attachments);
203
206
  }
204
207
  }, [sendMessageFunction, startChat, computedCurrentOption, sidebarHasError]);
205
208
  var handleGoHome = useCallback(function () {
@@ -209,6 +212,10 @@ export var ChatAIModal = function ChatAIModal(_ref) {
209
212
  setNewChatKey(function (prev) {
210
213
  return prev + 1;
211
214
  });
215
+ // No borrar el cliente si es agente de clientes (igual que el proyecto se mantiene)
216
+ if ((agent === null || agent === void 0 ? void 0 : agent.entity) !== 'client') {
217
+ setClient === null || setClient === void 0 || setClient(null);
218
+ }
212
219
  }
213
220
  if ((!agent || agent !== null && agent !== void 0 && agent.is_deleted || agent !== null && agent !== void 0 && agent.has_not_permissions || agent !== null && agent !== void 0 && agent.has_not_access || agent !== null && agent !== void 0 && agent.project_deleted) && agents.data.length > 0) {
214
221
  selectAgent(agents.data[0]);
@@ -220,7 +227,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
220
227
  if (resetSelectedChatRef.current) {
221
228
  resetSelectedChatRef.current();
222
229
  }
223
- }, [options.home, options.chat, currentOption, isWebSearchActive, toggleWebSearch, agent, agents, selectAgent]);
230
+ }, [options.home, options.chat, currentOption, isWebSearchActive, toggleWebSearch, agent, agents, selectAgent, setClient]);
224
231
  var handleResetChat = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
225
232
  return _regeneratorRuntime.wrap(function (_context) {
226
233
  while (1) switch (_context.prev = _context.next) {
@@ -266,7 +273,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
266
273
  children: [/*#__PURE__*/_jsx(ChatAIModalHeader, {
267
274
  expanded: expanded,
268
275
  setExpanded: setExpanded,
269
- handleClose: handleCloseModal,
276
+ handleClose: handleClose,
270
277
  agents: agents.data,
271
278
  hasError: !!agentError,
272
279
  loading: loading,
@@ -303,8 +310,7 @@ export var ChatAIModal = function ChatAIModal(_ref) {
303
310
  isStreaming: isStreaming,
304
311
  isWriting: isWriting,
305
312
  chatId: initialChatId,
306
- newChatKey: newChatKey,
307
- showFaqs: computedCurrentOption === options.chat
313
+ newChatKey: newChatKey
308
314
  })]
309
315
  })]
310
316
  }), userHasPermissions && /*#__PURE__*/_jsx(AbmAgentModal, {
@@ -316,4 +322,4 @@ export var ChatAIModal = function ChatAIModal(_ref) {
316
322
  }), /*#__PURE__*/_jsx(Snackbar, {})]
317
323
  }), selector);
318
324
  };
319
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwiQ2hhdEFJQ29udGVudCIsImJ1aWxkSGFuZGxlcnMiLCJvcHRpb25zIiwiU2lkZWJhciIsInVzZUdldEFnZW50cyIsInVzZUdsb2JhbENvbnRleHQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIlNuYWNrYmFyIiwiUHJvamVjdFN1bW1hcnlDb250ZW50IiwiQWJtQWdlbnRNb2RhbCIsIlNFQ1RJT05TIiwiU0NDQUlNQ29udGVudCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiU0NDQUlNV3JhcHBlciIsIkNoYXRBaU1vZGFsRm9vdGVyIiwidmFsaWRhdGVJc01haWEiLCJ1c2VGYXFzU3RvcmUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiSURfTU9EQUxfQ0hBVF9BR0VOVCIsInZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlIiwic2VjdGlvbiIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJDaGF0QUlNb2RhbCIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl91c2VyJHBlcm1pc3Npb25zMiIsIl91c2VyJHBlcm1pc3Npb25zMyIsIl9hZ2VudHMkZGF0YSIsImhhbmRsZUNsb3NlIiwidXNlciIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiaTE4biIsImhhbmRsZUNsb3NlTW9kYWwiLCJnZXRTdGF0ZSIsImNsZWFyRmFxcyIsIl91c2VTdGF0ZSIsIm1lc3NhZ2UiLCJhdHRhY2htZW50cyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInVzZXJJbml0aWFsTWVzc2FnZSIsInNldFVzZXJJbml0aWFsTWVzc2FnZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaW5pdGlhbENoYXRJZCIsInNldEluaXRpYWxDaGF0SWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm5ld0NoYXRLZXkiLCJzZXROZXdDaGF0S2V5IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZW5kTWVzc2FnZUZ1bmN0aW9uIiwic2V0U2VuZE1lc3NhZ2VGdW5jdGlvbiIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic3RvcEdlbmVyYXRpb25GdW5jdGlvbiIsInNldFN0b3BHZW5lcmF0aW9uRnVuY3Rpb24iLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJpc1N0cmVhbWluZyIsInNldElzU3RyZWFtaW5nIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsImlzV3JpdGluZyIsInNldElzV3JpdGluZyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJyZWZldGNoQ2hhdHMiLCJzZXRSZWZldGNoQ2hhdHMiLCJfdXNlU3RhdGUxNSIsImhvbWUiLCJfdXNlU3RhdGUxNiIsImN1cnJlbnRPcHRpb24iLCJzZXRDdXJyZW50T3B0aW9uIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImhhc0Vycm9yIiwic2V0SGFzRXJyb3IiLCJoYW5kbGVycyIsIl91c2VTdGF0ZTE5IiwiX3VzZVN0YXRlMjAiLCJzaWRlYmFySGFzRXJyb3IiLCJzZXRTaWRlYmFySGFzRXJyb3IiLCJyZXNldFNlbGVjdGVkQ2hhdFJlZiIsImxhbmciLCJsYW5ndWFnZSIsImxvY2FsZSIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0QWdlbnQiLCJhZ2VudCIsInByb2plY3QiLCJ0b2dnbGVXZWJTZWFyY2giLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInNldENoaXBzUHJvamVjdCIsIl91c2VHZXRBZ2VudHMiLCJoYW5kbGVHb0hvbWUiLCJhZ2VudHMiLCJsb2FkaW5nIiwibG9hZGluZ01vcmUiLCJhZ2VudEVycm9yIiwiZXJyb3IiLCJoYXNOb0FnZW50cyIsImhhbmRsZUdldEFnZW50cyIsImxvYWRNb3JlQWdlbnRzIiwiYWRkQWdlbnQiLCJyZW1vdmVBZ2VudCIsInVwZGF0ZUFnZW50IiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNlbGVjdEZpcnN0QWdlbnQiLCJzb3J0QWdlbnRzTGlzdCIsImlzTUFJQSIsInVzZXJIYXNQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY3JlYXRlIiwiZWRpdCIsImNvbXB1dGVkQ3VycmVudE9wdGlvbiIsInNob3VsZFNob3dQcm9qZWN0U2VsZWN0b3IiLCJjaGF0IiwicHJvamVjdFNlbGVjdG9yIiwiYWdlbnRzRmV0Y2hlZFJlZiIsInNlbGVjdG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY29uY2F0IiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJzdGFydENoYXQiLCJmYXFJZCIsInByZXYiLCJfb2JqZWN0U3ByZWFkIiwiZ29Ub0NoYXQiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsInNlbGVjdGVkQWdlbnQiLCJkYXRhIiwiZmluZCIsImFnZW50SXRlbSIsImlkIiwiYWdlbnRJZCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImhhbmRsZVNlbmRNZXNzYWdlUmVhZHkiLCJzZW5kTWVzc2FnZSIsInN0b3BHZW5lcmF0aW9uIiwic3RyZWFtaW5nIiwid3JpdGluZyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInByb2plY3RfZGVsZXRlZCIsImxlbmd0aCIsImN1cnJlbnQiLCJoYW5kbGVSZXNldENoYXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJzdG9wIiwic2hvd05ld0NoYXQiLCJjcmVhdGVQb3J0YWwiLCJjaGlsZHJlbiIsIm9uR29Ub0NoYXQiLCJvbkVycm9yIiwiaGFuZGxlR29Ub0hvbWUiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNNb3JlIiwiaGFzX21vcmUiLCJvbkFnZW50VXBkYXRlIiwicmVmcyIsIm9uU2VuZE1lc3NhZ2VSZWFkeSIsIm9uUmVzdGFydFN1bW1hcnkiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsInNob3dGYXFzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL0NoYXRBSU1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW5vLXVzZWxlc3MtZnJhZ21lbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgTUFJQUVycm9yIH0gZnJvbSAnLi4vLi4vYXRvbXMvTUFJQUVycm9yJ1xuXG5pbXBvcnQgeyBDaGF0QUlDb250ZW50IH0gZnJvbSAnLi4vQ2hhdEFJQ29udGVudCdcbmltcG9ydCB7IGJ1aWxkSGFuZGxlcnMsIG9wdGlvbnMgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tICcuLi9TaWRlYmFyJ1xuaW1wb3J0IHsgdXNlR2V0QWdlbnRzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvZ2V0QWdlbnRzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENoYXRBSU1vZGFsSGVhZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyJ1xuaW1wb3J0IHsgU25hY2tiYXIgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvU25hY2tCYXIvU25hY2tiYXInXG5pbXBvcnQgeyBQcm9qZWN0U3VtbWFyeUNvbnRlbnQgfSBmcm9tICcuLi9Qcm9qZWN0U3VtbWFyeUNvbnRlbnQnXG5pbXBvcnQgeyBBYm1BZ2VudE1vZGFsIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0FibUFnZW50TW9kYWwvQWJtQWdlbnRNb2RhbCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IFNDQ0FJTUNvbnRlbnQsIFNDQ0FJTUNvbnRlbnRXcmFwcGVyLCBTQ0NBSU1XcmFwcGVyIH0gZnJvbSAnLi9DaGF0QUlNb2RhbC5zdHlsZXMnXG5pbXBvcnQgeyBDaGF0QWlNb2RhbEZvb3RlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0QWlNb2RhbEZvb3RlcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdXNlRmFxc1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlRmFxc1N0b3JlJ1xuXG50eXBlIENoYXRBSU1vZGFsUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgcGFyZW50UmVmPzogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PlxufVxuXG5leHBvcnQgY29uc3QgSURfTU9EQUxfQ0hBVF9BR0VOVCA9ICdtb2RhbHMtcG9ydGFsLW1haWEtY2hhdC1hZ2VudCdcblxuY29uc3QgdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUgPSAoc2VjdGlvbjogc3RyaW5nKSA9PiB7XG4gIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJyAmJiAod2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUykpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIGlmIChzZWN0aW9uID09PSAncHJvamVjdCcgJiYgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUykge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNb2RhbCA9ICh7IGhhbmRsZUNsb3NlIH06IENoYXRBSU1vZGFsUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudF0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1c2VGYXFzU3RvcmUuZ2V0U3RhdGUoKS5jbGVhckZhcXMoKVxuICAgIGhhbmRsZUNsb3NlPy4oKVxuICB9LCBbaGFuZGxlQ2xvc2VdKVxuICBjb25zdCBbdXNlckluaXRpYWxNZXNzYWdlLCBzZXRVc2VySW5pdGlhbE1lc3NhZ2VdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50RmlsZVtdXG4gICAgZmFxSWQ/OiBzdHJpbmdcbiAgfT4oe1xuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgfSlcbiAgY29uc3QgW2luaXRpYWxDaGF0SWQsIHNldEluaXRpYWxDaGF0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW25ld0NoYXRLZXksIHNldE5ld0NoYXRLZXldID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3NlbmRNZXNzYWdlRnVuY3Rpb24sIHNldFNlbmRNZXNzYWdlRnVuY3Rpb25dID0gdXNlU3RhdGU8XG4gICAgKChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSwgZmFxSWQ/OiBzdHJpbmcpID0+IHZvaWQpIHwgbnVsbFxuICA+KG51bGwpXG4gIGNvbnN0IFtzdG9wR2VuZXJhdGlvbkZ1bmN0aW9uLCBzZXRTdG9wR2VuZXJhdGlvbkZ1bmN0aW9uXSA9IHVzZVN0YXRlPCgoKSA9PiB2b2lkKSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc1N0cmVhbWluZywgc2V0SXNTdHJlYW1pbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1dyaXRpbmcsIHNldElzV3JpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBbcmVmZXRjaENoYXRzLCBzZXRSZWZldGNoQ2hhdHNdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtjdXJyZW50T3B0aW9uLCBzZXRDdXJyZW50T3B0aW9uXSA9IHVzZVN0YXRlKG9wdGlvbnMuaG9tZSlcbiAgY29uc3QgW2hhc0Vycm9yLCBzZXRIYXNFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgaGFuZGxlcnMgPSB1c2VNZW1vKCgpID0+IGJ1aWxkSGFuZGxlcnMoc2V0Q3VycmVudE9wdGlvbiwgc2V0SGFzRXJyb3IpLCBbXSlcbiAgY29uc3QgW3NpZGViYXJIYXNFcnJvciwgc2V0U2lkZWJhckhhc0Vycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCByZXNldFNlbGVjdGVkQ2hhdFJlZiA9IHVzZVJlZjwoKCkgPT4gdm9pZCkgfCBudWxsPihudWxsKVxuICBjb25zdCBsYW5nID0gaTE4bi5sYW5ndWFnZSA9PT0gJ2JyJyA/ICdwdC1icicgOiBpMThuLmxhbmd1YWdlXG5cbiAgbW9tZW50LmxvY2FsZShsYW5nKVxuXG4gIGNvbnN0IHsgc2VsZWN0QWdlbnQsIHNlY3Rpb24sIGFnZW50LCBwcm9qZWN0LCB0b2dnbGVXZWJTZWFyY2gsIGlzV2ViU2VhcmNoQWN0aXZlLCBzZXRDaGlwc1Byb2plY3QgfSA9XG4gICAgdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3Qge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yOiBhZ2VudEVycm9yLFxuICAgIGhhc05vQWdlbnRzLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH0gPSB1c2VHZXRBZ2VudHMoeyBzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGhhbmRsZUdvSG9tZTogaGFuZGxlcnMuaG9tZSB9KVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuXG4gIGNvbnN0IHVzZXJIYXNQZXJtaXNzaW9ucyA9XG4gICAgKHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZWRpdCB8fFxuICAgICAgdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uZGVsZXRlKSAmJlxuICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgY29uc3QgY29tcHV0ZWRDdXJyZW50T3B0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2hvdWxkU2hvd1Byb2plY3RTZWxlY3RvciA9IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuY2hhdCAmJiBpc01BSUEgJiYgIXByb2plY3RcblxuICAgIGlmIChzaG91bGRTaG93UHJvamVjdFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5wcm9qZWN0U2VsZWN0b3JcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRPcHRpb25cbiAgfSwgW3NlY3Rpb24sIGN1cnJlbnRPcHRpb24sIHByb2plY3QsIGlzTUFJQV0pXG5cbiAgY29uc3QgYWdlbnRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBzZWxlY3RvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke0lEX01PREFMX0NIQVRfQUdFTlR9YClcblxuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHN0YXJ0Q2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChtZXNzYWdlPzogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoc2lkZWJhckhhc0Vycm9yKSB7XG4gICAgICAgIHNldFNpZGViYXJIYXNFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICAgIHNldEluaXRpYWxDaGF0SWQobnVsbClcbiAgICAgIHNldE5ld0NoYXRLZXkocHJldiA9PiBwcmV2ICsgMSlcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7XG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgJycsXG4gICAgICAgIGF0dGFjaG1lbnRzOiBhdHRhY2htZW50cyB8fCBbXSxcbiAgICAgICAgLi4uKGZhcUlkID8geyBmYXFJZCB9IDoge30pLFxuICAgICAgfSlcbiAgICAgIGhhbmRsZXJzLmNoYXQoKVxuICAgIH0sXG4gICAgW2hhbmRsZXJzLCBzaWRlYmFySGFzRXJyb3JdXG4gIClcblxuICBjb25zdCBnb1RvQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjaGF0OiBhbnkpID0+IHtcbiAgICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICAgIHNldEluaXRpYWxDaGF0SWQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IHNlbGVjdGVkQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uaWQgPT09IGNoYXQuYWdlbnRJZClcbiAgICAgIGlmIChzZWxlY3RlZEFnZW50KSB7XG4gICAgICAgIHNlbGVjdEFnZW50KHNlbGVjdGVkQWdlbnQpXG4gICAgICB9XG4gICAgICAvLyBEaXNwYXRjaCBldmVudCB0byBjbGVhciB0aGUgaW5wdXQgdGV4dGFyZWFcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIGFnZW50cywgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZVJlYWR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSwgZmFxSWQ/OiBzdHJpbmcpID0+IHZvaWQsXG4gICAgICBzdG9wR2VuZXJhdGlvbjogKCkgPT4gdm9pZCxcbiAgICAgIHN0cmVhbWluZzogYm9vbGVhbixcbiAgICAgIHdyaXRpbmc6IGJvb2xlYW5cbiAgICApID0+IHtcbiAgICAgIHNldFNlbmRNZXNzYWdlRnVuY3Rpb24oKCkgPT4gc2VuZE1lc3NhZ2UpXG4gICAgICBzZXRTdG9wR2VuZXJhdGlvbkZ1bmN0aW9uKCgpID0+IHN0b3BHZW5lcmF0aW9uKVxuICAgICAgc2V0SXNTdHJlYW1pbmcoc3RyZWFtaW5nKVxuICAgICAgc2V0SXNXcml0aW5nKHdyaXRpbmcpXG4gICAgfSxcbiAgICBbXVxuICApXG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoc2lkZWJhckhhc0Vycm9yKSB7XG4gICAgICAgIHNldFNpZGViYXJIYXNFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChzZW5kTWVzc2FnZUZ1bmN0aW9uICYmIGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgICAgIHNlbmRNZXNzYWdlRnVuY3Rpb24obWVzc2FnZSwgYXR0YWNobWVudHMsIGZhcUlkKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhcnRDaGF0KG1lc3NhZ2UsIGF0dGFjaG1lbnRzLCBmYXFJZClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZW5kTWVzc2FnZUZ1bmN0aW9uLCBzdGFydENoYXQsIGNvbXB1dGVkQ3VycmVudE9wdGlvbiwgc2lkZWJhckhhc0Vycm9yXVxuICApXG5cbiAgY29uc3QgaGFuZGxlR29Ib21lID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIC8vIFNpIGVzdGFtb3MgZW4gdW5hIGNvbnZlcnNhY2nDs24geSB2YW1vcyBhIGhvbWUsIHJlc2V0ZWFyIGluaXRpYWxDaGF0SWQgeSBpbmNyZW1lbnRhciBuZXdDaGF0S2V5XG4gICAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgICAgc2V0TmV3Q2hhdEtleShwcmV2ID0+IHByZXYgKyAxKVxuICAgIH1cbiAgICBpZiAoXG4gICAgICAoIWFnZW50IHx8IGFnZW50Py5pc19kZWxldGVkIHx8IGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8IGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fCBhZ2VudD8ucHJvamVjdF9kZWxldGVkKSAmJlxuICAgICAgYWdlbnRzLmRhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnRzLmRhdGFbMF0pXG4gICAgfVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIGlzV2ViU2VhcmNoQWN0aXZlICYmIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQoKVxuICAgIH1cbiAgfSwgW29wdGlvbnMuaG9tZSwgb3B0aW9ucy5jaGF0LCBjdXJyZW50T3B0aW9uLCBpc1dlYlNlYXJjaEFjdGl2ZSwgdG9nZ2xlV2ViU2VhcmNoLCBhZ2VudCwgYWdlbnRzLCBzZWxlY3RBZ2VudF0pXG5cbiAgY29uc3QgaGFuZGxlUmVzZXRDaGF0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldFVzZXJJbml0aWFsTWVzc2FnZSh7IG1lc3NhZ2U6ICcnLCBhdHRhY2htZW50czogW10gfSlcbiAgICBzZXRJbml0aWFsQ2hhdElkKG51bGwpXG4gICAgLy8gRGlzcGF0Y2ggZXZlbnQgdG8gY2xlYXIgdGhlIGlucHV0IHRleHRhcmVhXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJykpXG4gICAgaGFuZGxlR29Ib21lKClcbiAgfSwgW2hhbmRsZUdvSG9tZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFnZW50c0ZldGNoZWRSZWYuY3VycmVudCkge1xuICAgICAgYWdlbnRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgaGFuZGxlR2V0QWdlbnRzKClcbiAgICB9XG4gIH0sIFtoYW5kbGVHZXRBZ2VudHNdKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0ID0gY29tcHV0ZWRDdXJyZW50T3B0aW9uICE9PSBvcHRpb25zLmNoYXRcblxuICByZXR1cm4gKFxuICAgIHNlbGVjdG9yICYmXG4gICAgUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgPFNDQ0FJTVdyYXBwZXIgZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgICAgPFNDQ0FJTUNvbnRlbnRXcmFwcGVyIGV4cGFuZGVkPXtleHBhbmRlZH0+XG4gICAgICAgICAge3ZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlKHNlY3Rpb24pICYmIChcbiAgICAgICAgICAgIDxTaWRlYmFyXG4gICAgICAgICAgICAgIG9uR29Ub0NoYXQ9e2dvVG9DaGF0fVxuICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBzZXRTaWRlYmFySGFzRXJyb3IodHJ1ZSl9XG4gICAgICAgICAgICAgIGhhbmRsZUdvVG9Ib21lPXtoYW5kbGVHb0hvbWV9XG4gICAgICAgICAgICAgIHNob3dOZXdDaGF0PXtzaG93TmV3Q2hhdH1cbiAgICAgICAgICAgICAgcmVmZXRjaENoYXRzPXtyZWZldGNoQ2hhdHN9XG4gICAgICAgICAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cz17c2V0UmVmZXRjaENoYXRzfVxuICAgICAgICAgICAgICBoYXNFcnJvcj17c2lkZWJhckhhc0Vycm9yfVxuICAgICAgICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZj17cmVzZXRTZWxlY3RlZENoYXRSZWZ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPFNDQ0FJTUNvbnRlbnQgZXhwYW5kZWQ9e2V4cGFuZGVkfT5cbiAgICAgICAgICAgIHsvKiBIZWFkZXIgKi99XG4gICAgICAgICAgICA8Q2hhdEFJTW9kYWxIZWFkZXJcbiAgICAgICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAgICAgICBzZXRFeHBhbmRlZD17c2V0RXhwYW5kZWR9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZU1vZGFsfVxuICAgICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgICBoYXNFcnJvcj17ISFhZ2VudEVycm9yfVxuICAgICAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgICAgICAgICBsb2FkaW5nTW9yZT17bG9hZGluZ01vcmV9XG4gICAgICAgICAgICAgIGhhc01vcmU9e2FnZW50cy5oYXNfbW9yZX1cbiAgICAgICAgICAgICAgaGFuZGxlUmVzZXRDaGF0PXtoYW5kbGVSZXNldENoYXR9XG4gICAgICAgICAgICAgIG9uQWdlbnRVcGRhdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICAgIGxvYWRNb3JlQWdlbnRzPXtsb2FkTW9yZUFnZW50c31cbiAgICAgICAgICAgICAgc29ydEFnZW50c0xpc3Q9e3NvcnRBZ2VudHNMaXN0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHsvKiBDb250ZW50ICovfVxuXG4gICAgICAgICAgICB7aGFzRXJyb3IgPyAoXG4gICAgICAgICAgICAgIDxNQUlBRXJyb3IgLz5cbiAgICAgICAgICAgICkgOiB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSA/IChcbiAgICAgICAgICAgICAgPENoYXRBSUNvbnRlbnRcbiAgICAgICAgICAgICAgICBjdXJyZW50T3B0aW9uPXtjb21wdXRlZEN1cnJlbnRPcHRpb259XG4gICAgICAgICAgICAgICAgaGFuZGxlcnM9e3sgLi4uaGFuZGxlcnMsIGNoYXQ6IHN0YXJ0Q2hhdCwgaG9tZTogaGFuZGxlcnMuaG9tZSwgaGFuZGxlR29Ib21lIH19XG4gICAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SGFzRXJyb3IodHJ1ZSl9XG4gICAgICAgICAgICAgICAgcmVmcz17eyB1c2VySW5pdGlhbE1lc3NhZ2UsIGluaXRpYWxDaGF0SWQgfX1cbiAgICAgICAgICAgICAgICBvblNlbmRNZXNzYWdlUmVhZHk9e2hhbmRsZVNlbmRNZXNzYWdlUmVhZHl9XG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAgICAgICAgIGhhc05vQWdlbnRzPXtoYXNOb0FnZW50c31cbiAgICAgICAgICAgICAgICBhZ2VudHM9e2FnZW50cy5kYXRhfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFByb2plY3RTdW1tYXJ5Q29udGVudCBvblJlc3RhcnRTdW1tYXJ5PXtoYW5kbGVycy5ob21lfSAvPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgey8qIEZvb3RlciAqL31cbiAgICAgICAgICAgIHsoKGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5ob21lICYmICEhYWdlbnRzPy5kYXRhPy5sZW5ndGgpIHx8XG4gICAgICAgICAgICAgIGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSAmJlxuICAgICAgICAgICAgICAhaGFzRXJyb3IgJiZcbiAgICAgICAgICAgICAgIWxvYWRpbmcgJiZcbiAgICAgICAgICAgICAgdmFsaWRhdGVBY2Nlc3NCeUZlYXR1cmUoc2VjdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgIDxDaGF0QWlNb2RhbEZvb3RlclxuICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlU3RvcEdlbmVyYXRpb249e3N0b3BHZW5lcmF0aW9uRnVuY3Rpb259XG4gICAgICAgICAgICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgICAgICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgICAgICAgICAgIGNoYXRJZD17aW5pdGlhbENoYXRJZH1cbiAgICAgICAgICAgICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgICAgICAgICAgICBzaG93RmFxcz17Y29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJTUNvbnRlbnQ+XG4gICAgICAgIDwvU0NDQUlNQ29udGVudFdyYXBwZXI+XG4gICAgICAgIHt1c2VySGFzUGVybWlzc2lvbnMgJiYgKFxuICAgICAgICAgIDxBYm1BZ2VudE1vZGFsXG4gICAgICAgICAgICBhZGRBZ2VudD17YWRkQWdlbnR9XG4gICAgICAgICAgICB1cGRhdGVBZ2VudD17dXBkYXRlQWdlbnR9XG4gICAgICAgICAgICByZW1vdmVBZ2VudD17cmVtb3ZlQWdlbnR9XG4gICAgICAgICAgICB1cGRhdGVBZ2VudEZhdm9yaXRlPXt1cGRhdGVBZ2VudEZhdm9yaXRlfVxuICAgICAgICAgICAgc2VsZWN0Rmlyc3RBZ2VudD17c2VsZWN0Rmlyc3RBZ2VudH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8U25hY2tiYXIgLz5cbiAgICAgIDwvU0NDQUlNV3JhcHBlcj4sXG4gICAgICBzZWxlY3RvclxuICAgIClcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQ3BGLE9BQU9DLFFBQVEsTUFBTSxXQUFXO0FBQ2hDLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUVqRCxTQUFTQyxhQUFhLFFBQVEsa0JBQWtCO0FBQ2hELFNBQVNDLGFBQWEsRUFBRUMsT0FBTyxRQUFRLGFBQWE7QUFDcEQsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsWUFBWSxRQUFRLHlDQUF5QztBQUN0RSxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFFbEUsU0FBU0MsaUJBQWlCLFFBQVEsa0RBQWtEO0FBQ3BGLFNBQVNDLFFBQVEsUUFBUSxtQ0FBbUM7QUFDNUQsU0FBU0MscUJBQXFCLFFBQVEsMEJBQTBCO0FBQ2hFLFNBQVNDLGFBQWEsUUFBUSw2Q0FBNkM7QUFDM0UsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxhQUFhLEVBQUVDLG9CQUFvQixFQUFFQyxhQUFhLFFBQVEsc0JBQXNCO0FBQ3pGLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxjQUFjLFFBQVEsd0NBQXdDO0FBRXZFLFNBQVNDLFlBQVksUUFBUSw2QkFBNkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBUTFELE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsK0JBQStCO0FBRWxFLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLE9BQWUsRUFBSztFQUNuRCxJQUFJQSxPQUFPLEtBQUssUUFBUSxLQUFLQyxNQUFNLENBQUNDLHdDQUF3QyxJQUFJRCxNQUFNLENBQUNFLDJCQUEyQixDQUFDLEVBQUU7SUFDbkgsT0FBTyxJQUFJO0VBQ2I7RUFDQSxJQUFJSCxPQUFPLEtBQUssU0FBUyxJQUFJQyxNQUFNLENBQUNFLDJCQUEyQixFQUFFO0lBQy9ELE9BQU8sSUFBSTtFQUNiO0VBQ0EsT0FBTyxLQUFLO0FBQ2QsQ0FBQztBQUVELE9BQU8sSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUFDLElBQUEsRUFBMEM7RUFBQSxJQUFBQyxpQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxZQUFBO0VBQUEsSUFBcENDLFdBQVcsR0FBQUwsSUFBQSxDQUFYSyxXQUFXO0VBQ3ZDLElBQU1DLElBQUksR0FBR3BDLE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLElBQUFxQyxlQUFBLEdBQWlCdEMsY0FBYyxDQUFDLENBQUNhLFFBQVEsQ0FBQzBCLFFBQVEsQ0FBQyxDQUFDO0lBQTVDQyxJQUFJLEdBQUFGLGVBQUEsQ0FBSkUsSUFBSTtFQUVaLElBQU1DLGdCQUFnQixHQUFHaEQsV0FBVyxDQUFDLFlBQU07SUFDekMwQixZQUFZLENBQUN1QixRQUFRLENBQUMsQ0FBQyxDQUFDQyxTQUFTLENBQUMsQ0FBQztJQUNuQ1AsV0FBVyxhQUFYQSxXQUFXLGVBQVhBLFdBQVcsQ0FBRyxDQUFDO0VBQ2pCLENBQUMsRUFBRSxDQUFDQSxXQUFXLENBQUMsQ0FBQztFQUNqQixJQUFBUSxTQUFBLEdBQW9EakQsUUFBUSxDQUl6RDtNQUNEa0QsT0FBTyxFQUFFLEVBQUU7TUFDWEMsV0FBVyxFQUFFO0lBQ2YsQ0FBQyxDQUFDO0lBQUFDLFVBQUEsR0FBQUMsY0FBQSxDQUFBSixTQUFBO0lBUEtLLGtCQUFrQixHQUFBRixVQUFBO0lBQUVHLHFCQUFxQixHQUFBSCxVQUFBO0VBUWhELElBQUFJLFVBQUEsR0FBMEN4RCxRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBeUQsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBaEVFLGFBQWEsR0FBQUQsVUFBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsVUFBQTtFQUN0QyxJQUFBRyxVQUFBLEdBQW9DNUQsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBNkQsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBeENFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUFzRGhFLFFBQVEsQ0FFNUQsSUFBSSxDQUFDO0lBQUFpRSxVQUFBLEdBQUFaLGNBQUEsQ0FBQVcsVUFBQTtJQUZBRSxtQkFBbUIsR0FBQUQsVUFBQTtJQUFFRSxzQkFBc0IsR0FBQUYsVUFBQTtFQUdsRCxJQUFBRyxVQUFBLEdBQTREcEUsUUFBUSxDQUFzQixJQUFJLENBQUM7SUFBQXFFLFVBQUEsR0FBQWhCLGNBQUEsQ0FBQWUsVUFBQTtJQUF4RkUsc0JBQXNCLEdBQUFELFVBQUE7SUFBRUUseUJBQXlCLEdBQUFGLFVBQUE7RUFDeEQsSUFBQUcsVUFBQSxHQUFzQ3hFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXlFLFdBQUEsR0FBQXBCLGNBQUEsQ0FBQW1CLFVBQUE7SUFBOUNFLFdBQVcsR0FBQUQsV0FBQTtJQUFFRSxjQUFjLEdBQUFGLFdBQUE7RUFDbEMsSUFBQUcsV0FBQSxHQUFrQzVFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZFLFdBQUEsR0FBQXhCLGNBQUEsQ0FBQXVCLFdBQUE7SUFBMUNFLFNBQVMsR0FBQUQsV0FBQTtJQUFFRSxZQUFZLEdBQUFGLFdBQUE7RUFFOUIsSUFBQUcsV0FBQSxHQUF3Q2hGLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQWlGLFdBQUEsR0FBQTVCLGNBQUEsQ0FBQTJCLFdBQUE7SUFBaERFLFlBQVksR0FBQUQsV0FBQTtJQUFFRSxlQUFlLEdBQUFGLFdBQUE7RUFDcEMsSUFBQUcsV0FBQSxHQUEwQ3BGLFFBQVEsQ0FBQ1UsT0FBTyxDQUFDMkUsSUFBSSxDQUFDO0lBQUFDLFdBQUEsR0FBQWpDLGNBQUEsQ0FBQStCLFdBQUE7SUFBekRHLGFBQWEsR0FBQUQsV0FBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsV0FBQTtFQUN0QyxJQUFBRyxXQUFBLEdBQWdDekYsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBMEYsV0FBQSxHQUFBckMsY0FBQSxDQUFBb0MsV0FBQTtJQUF4Q0UsUUFBUSxHQUFBRCxXQUFBO0lBQUVFLFdBQVcsR0FBQUYsV0FBQTtFQUM1QixJQUFNRyxRQUFRLEdBQUc5RixPQUFPLENBQUM7SUFBQSxPQUFNVSxhQUFhLENBQUMrRSxnQkFBZ0IsRUFBRUksV0FBVyxDQUFDO0VBQUEsR0FBRSxFQUFFLENBQUM7RUFDaEYsSUFBQUUsV0FBQSxHQUE4QzlGLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQStGLFdBQUEsR0FBQTFDLGNBQUEsQ0FBQXlDLFdBQUE7SUFBdERFLGVBQWUsR0FBQUQsV0FBQTtJQUFFRSxrQkFBa0IsR0FBQUYsV0FBQTtFQUMxQyxJQUFNRyxvQkFBb0IsR0FBR2pHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDO0VBQzlELElBQU1rRyxJQUFJLEdBQUd0RCxJQUFJLENBQUN1RCxRQUFRLEtBQUssSUFBSSxHQUFHLE9BQU8sR0FBR3ZELElBQUksQ0FBQ3VELFFBQVE7RUFFN0RoRyxNQUFNLENBQUNpRyxNQUFNLENBQUNGLElBQUksQ0FBQztFQUVuQixJQUFBRyxpQkFBQSxHQUNFekYsZ0JBQWdCLENBQUMsQ0FBQztJQURaMEYsV0FBVyxHQUFBRCxpQkFBQSxDQUFYQyxXQUFXO0lBQUV4RSxPQUFPLEdBQUF1RSxpQkFBQSxDQUFQdkUsT0FBTztJQUFFeUUsS0FBSyxHQUFBRixpQkFBQSxDQUFMRSxLQUFLO0lBQUVDLE9BQU8sR0FBQUgsaUJBQUEsQ0FBUEcsT0FBTztJQUFFQyxlQUFlLEdBQUFKLGlCQUFBLENBQWZJLGVBQWU7SUFBRUMsaUJBQWlCLEdBQUFMLGlCQUFBLENBQWpCSyxpQkFBaUI7SUFBRUMsZUFBZSxHQUFBTixpQkFBQSxDQUFmTSxlQUFlO0VBR2pHLElBQUFDLGFBQUEsR0FjSWpHLFlBQVksQ0FBQztNQUFFMkYsV0FBVyxFQUFYQSxXQUFXO01BQUV4RSxPQUFPLEVBQVBBLE9BQU87TUFBRXlFLEtBQUssRUFBTEEsS0FBSztNQUFFTSxZQUFZLEVBQUVqQixRQUFRLENBQUNSO0lBQUssQ0FBQyxDQUFDO0lBYjVFMEIsTUFBTSxHQUFBRixhQUFBLENBQU5FLE1BQU07SUFDTkMsT0FBTyxHQUFBSCxhQUFBLENBQVBHLE9BQU87SUFDUEMsV0FBVyxHQUFBSixhQUFBLENBQVhJLFdBQVc7SUFDSkMsVUFBVSxHQUFBTCxhQUFBLENBQWpCTSxLQUFLO0lBQ0xDLFdBQVcsR0FBQVAsYUFBQSxDQUFYTyxXQUFXO0lBQ1hDLGVBQWUsR0FBQVIsYUFBQSxDQUFmUSxlQUFlO0lBQ2ZDLGNBQWMsR0FBQVQsYUFBQSxDQUFkUyxjQUFjO0lBQ2RDLFFBQVEsR0FBQVYsYUFBQSxDQUFSVSxRQUFRO0lBQ1JDLFdBQVcsR0FBQVgsYUFBQSxDQUFYVyxXQUFXO0lBQ1hDLFdBQVcsR0FBQVosYUFBQSxDQUFYWSxXQUFXO0lBQ1hDLG1CQUFtQixHQUFBYixhQUFBLENBQW5CYSxtQkFBbUI7SUFDbkJDLGdCQUFnQixHQUFBZCxhQUFBLENBQWhCYyxnQkFBZ0I7SUFDaEJDLGNBQWMsR0FBQWYsYUFBQSxDQUFkZSxjQUFjO0VBR2hCLElBQU1DLE1BQU0sR0FBR3RHLGNBQWMsQ0FBQ2lGLEtBQWMsQ0FBQztFQUU3QyxJQUFNc0Isa0JBQWtCLEdBQ3RCLENBQUMsQ0FBQXBGLElBQUksYUFBSkEsSUFBSSxnQkFBQUwsaUJBQUEsR0FBSkssSUFBSSxDQUFFcUYsV0FBVyxjQUFBMUYsaUJBQUEsZ0JBQUFBLGlCQUFBLEdBQWpCQSxpQkFBQSxDQUFtQjJGLFNBQVMsY0FBQTNGLGlCQUFBLHVCQUE1QkEsaUJBQUEsQ0FBOEI0RixNQUFNLE1BQ25DdkYsSUFBSSxhQUFKQSxJQUFJLGdCQUFBSixrQkFBQSxHQUFKSSxJQUFJLENBQUVxRixXQUFXLGNBQUF6RixrQkFBQSxnQkFBQUEsa0JBQUEsR0FBakJBLGtCQUFBLENBQW1CMEYsU0FBUyxjQUFBMUYsa0JBQUEsdUJBQTVCQSxrQkFBQSxDQUE4QjRGLElBQUksTUFDbEN4RixJQUFJLGFBQUpBLElBQUksZ0JBQUFILGtCQUFBLEdBQUpHLElBQUksQ0FBRXFGLFdBQVcsY0FBQXhGLGtCQUFBLGdCQUFBQSxrQkFBQSxHQUFqQkEsa0JBQUEsQ0FBbUJ5RixTQUFTLGNBQUF6RixrQkFBQSx1QkFBNUJBLGtCQUFBLFVBQW9DLE1BQ3RDUCxNQUFNLENBQUNDLHdDQUF3QztFQUVqRCxJQUFNa0cscUJBQXFCLEdBQUdwSSxPQUFPLENBQUMsWUFBTTtJQUMxQyxJQUFNcUkseUJBQXlCLEdBQUc3QyxhQUFhLEtBQUs3RSxPQUFPLENBQUMySCxJQUFJLElBQUlSLE1BQU0sSUFBSSxDQUFDcEIsT0FBTztJQUV0RixJQUFJMkIseUJBQXlCLEVBQUU7TUFDN0IsT0FBTzFILE9BQU8sQ0FBQzRILGVBQWU7SUFDaEM7SUFDQSxPQUFPL0MsYUFBYTtFQUN0QixDQUFDLEVBQUUsQ0FBQ3hELE9BQU8sRUFBRXdELGFBQWEsRUFBRWtCLE9BQU8sRUFBRW9CLE1BQU0sQ0FBQyxDQUFDO0VBRTdDLElBQU1VLGdCQUFnQixHQUFHdEksTUFBTSxDQUFDLEtBQUssQ0FBQztFQUV0QyxJQUFNdUksUUFBUSxHQUFHQyxRQUFRLENBQUNDLGFBQWEsS0FBQUMsTUFBQSxDQUFLOUcsbUJBQW1CLENBQUUsQ0FBQztFQUVsRSxJQUFBK0csV0FBQSxHQUFnQzVJLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZJLFdBQUEsR0FBQXhGLGNBQUEsQ0FBQXVGLFdBQUE7SUFBeENFLFFBQVEsR0FBQUQsV0FBQTtJQUFFRSxXQUFXLEdBQUFGLFdBQUE7RUFFNUIsSUFBTUcsU0FBUyxHQUFHbEosV0FBVyxDQUMzQixVQUFDb0QsT0FBZ0IsRUFBRUMsV0FBOEIsRUFBRThGLEtBQWMsRUFBSztJQUNwRSxJQUFJakQsZUFBZSxFQUFFO01BQ25CQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDM0I7SUFDQXRDLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUN0QkksYUFBYSxDQUFDLFVBQUFtRixJQUFJO01BQUEsT0FBSUEsSUFBSSxHQUFHLENBQUM7SUFBQSxFQUFDO0lBQy9CM0YscUJBQXFCLENBQUE0RixhQUFBO01BQ25CakcsT0FBTyxFQUFFQSxPQUFPLElBQUksRUFBRTtNQUN0QkMsV0FBVyxFQUFFQSxXQUFXLElBQUk7SUFBRSxHQUMxQjhGLEtBQUssR0FBRztNQUFFQSxLQUFLLEVBQUxBO0lBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMzQixDQUFDO0lBQ0ZwRCxRQUFRLENBQUN3QyxJQUFJLENBQUMsQ0FBQztFQUNqQixDQUFDLEVBQ0QsQ0FBQ3hDLFFBQVEsRUFBRUcsZUFBZSxDQUM1QixDQUFDO0VBRUQsSUFBTW9ELFFBQVEsR0FBR3RKLFdBQVcsQ0FDMUIsVUFBQ3VJLElBQVMsRUFBSztJQUNiOUUscUJBQXFCLENBQUM7TUFBRUwsT0FBTyxFQUFFLEVBQUU7TUFBRUMsV0FBVyxFQUFFO0lBQUcsQ0FBQyxDQUFDO0lBQ3ZEUSxnQkFBZ0IsQ0FBQzBFLElBQUksQ0FBQ2dCLGlCQUFpQixDQUFDO0lBQ3hDLElBQU1DLGFBQWEsR0FBR3ZDLE1BQU0sQ0FBQ3dDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFVBQUFDLFNBQVM7TUFBQSxPQUFJQSxTQUFTLENBQUNDLEVBQUUsS0FBS3JCLElBQUksQ0FBQ3NCLE9BQU87SUFBQSxFQUFDO0lBQ2xGLElBQUlMLGFBQWEsRUFBRTtNQUNqQi9DLFdBQVcsQ0FBQytDLGFBQWEsQ0FBQztJQUM1QjtJQUNBO0lBQ0FiLFFBQVEsQ0FBQ21CLGFBQWEsQ0FBQyxJQUFJQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMvRGhFLFFBQVEsQ0FBQ3dDLElBQUksQ0FBQyxDQUFDO0VBQ2pCLENBQUMsRUFDRCxDQUFDeEMsUUFBUSxFQUFFa0IsTUFBTSxFQUFFUixXQUFXLENBQ2hDLENBQUM7RUFFRCxJQUFNdUQsc0JBQXNCLEdBQUdoSyxXQUFXLENBQ3hDLFVBQ0VpSyxXQUFzRixFQUN0RkMsY0FBMEIsRUFDMUJDLFNBQWtCLEVBQ2xCQyxPQUFnQixFQUNiO0lBQ0gvRixzQkFBc0IsQ0FBQztNQUFBLE9BQU00RixXQUFXO0lBQUEsRUFBQztJQUN6Q3hGLHlCQUF5QixDQUFDO01BQUEsT0FBTXlGLGNBQWM7SUFBQSxFQUFDO0lBQy9DckYsY0FBYyxDQUFDc0YsU0FBUyxDQUFDO0lBQ3pCbEYsWUFBWSxDQUFDbUYsT0FBTyxDQUFDO0VBQ3ZCLENBQUMsRUFDRCxFQUNGLENBQUM7RUFFRCxJQUFNQyxpQkFBaUIsR0FBR3JLLFdBQVcsQ0FDbkMsVUFBQ29ELE9BQWUsRUFBRUMsV0FBOEIsRUFBRThGLEtBQWMsRUFBSztJQUNuRSxJQUFJakQsZUFBZSxFQUFFO01BQ25CQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDM0I7SUFDQSxJQUFJL0IsbUJBQW1CLElBQUlpRSxxQkFBcUIsS0FBS3pILE9BQU8sQ0FBQzJILElBQUksRUFBRTtNQUNqRW5FLG1CQUFtQixDQUFDaEIsT0FBTyxFQUFFQyxXQUFXLEVBQUU4RixLQUFLLENBQUM7SUFDbEQsQ0FBQyxNQUFNO01BQ0xELFNBQVMsQ0FBQzlGLE9BQU8sRUFBRUMsV0FBVyxFQUFFOEYsS0FBSyxDQUFDO0lBQ3hDO0VBQ0YsQ0FBQyxFQUNELENBQUMvRSxtQkFBbUIsRUFBRThFLFNBQVMsRUFBRWIscUJBQXFCLEVBQUVuQyxlQUFlLENBQ3pFLENBQUM7RUFFRCxJQUFNYyxZQUFZLEdBQUdoSCxXQUFXLENBQUMsWUFBTTtJQUNyQztJQUNBLElBQUl5RixhQUFhLEtBQUs3RSxPQUFPLENBQUMySCxJQUFJLEVBQUU7TUFDbEMxRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDdEJJLGFBQWEsQ0FBQyxVQUFBbUYsSUFBSTtRQUFBLE9BQUlBLElBQUksR0FBRyxDQUFDO01BQUEsRUFBQztJQUNqQztJQUNBLElBQ0UsQ0FBQyxDQUFDMUMsS0FBSyxJQUFJQSxLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFNEQsVUFBVSxJQUFJNUQsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRTZELG1CQUFtQixJQUFJN0QsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRThELGNBQWMsSUFBSTlELEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUUrRCxlQUFlLEtBQzdHeEQsTUFBTSxDQUFDd0MsSUFBSSxDQUFDaUIsTUFBTSxHQUFHLENBQUMsRUFDdEI7TUFDQWpFLFdBQVcsQ0FBQ1EsTUFBTSxDQUFDd0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCO0lBQ0EvRCxnQkFBZ0IsQ0FBQzlFLE9BQU8sQ0FBQzJFLElBQUksQ0FBQztJQUM5QnVCLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDckJoQixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCZSxpQkFBaUIsSUFBSUQsZUFBZSxDQUFDLENBQUM7SUFDdEMsSUFBSVIsb0JBQW9CLENBQUN1RSxPQUFPLEVBQUU7TUFDaEN2RSxvQkFBb0IsQ0FBQ3VFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDO0VBQ0YsQ0FBQyxFQUFFLENBQUMvSixPQUFPLENBQUMyRSxJQUFJLEVBQUUzRSxPQUFPLENBQUMySCxJQUFJLEVBQUU5QyxhQUFhLEVBQUVvQixpQkFBaUIsRUFBRUQsZUFBZSxFQUFFRixLQUFLLEVBQUVPLE1BQU0sRUFBRVIsV0FBVyxDQUFDLENBQUM7RUFFL0csSUFBTW1FLGVBQWUsR0FBRzVLLFdBQVcsY0FBQTZLLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBQyxTQUFBQyxRQUFBO0lBQUEsT0FBQUYsbUJBQUEsQ0FBQUcsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQTlCLElBQUEsR0FBQThCLFFBQUEsQ0FBQUMsSUFBQTtRQUFBO1VBQ2xDMUgscUJBQXFCLENBQUM7WUFBRUwsT0FBTyxFQUFFLEVBQUU7WUFBRUMsV0FBVyxFQUFFO1VBQUcsQ0FBQyxDQUFDO1VBQ3ZEUSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7VUFDdEI7VUFDQThFLFFBQVEsQ0FBQ21CLGFBQWEsQ0FBQyxJQUFJQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztVQUMvRC9DLFlBQVksQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFrRSxRQUFBLENBQUFFLElBQUE7TUFBQTtJQUFBLEdBQUFKLE9BQUE7RUFBQSxDQUNmLElBQUUsQ0FBQ2hFLFlBQVksQ0FBQyxDQUFDO0VBRWxCNUcsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNxSSxnQkFBZ0IsQ0FBQ2tDLE9BQU8sRUFBRTtNQUM3QmxDLGdCQUFnQixDQUFDa0MsT0FBTyxHQUFHLElBQUk7TUFDL0JwRCxlQUFlLENBQUMsQ0FBQztJQUNuQjtFQUNGLENBQUMsRUFBRSxDQUFDQSxlQUFlLENBQUMsQ0FBQztFQUVyQixJQUFNOEQsV0FBVyxHQUFHaEQscUJBQXFCLEtBQUt6SCxPQUFPLENBQUMySCxJQUFJO0VBRTFELE9BQ0VHLFFBQVEsaUJBQ1JySSxRQUFRLENBQUNpTCxZQUFZLGNBQ25CeEosS0FBQSxDQUFDUCxhQUFhO0lBQUN5SCxRQUFRLEVBQUVBLFFBQVM7SUFBQXVDLFFBQUEsZ0JBQ2hDekosS0FBQSxDQUFDUixvQkFBb0I7TUFBQzBILFFBQVEsRUFBRUEsUUFBUztNQUFBdUMsUUFBQSxHQUN0Q3ZKLHVCQUF1QixDQUFDQyxPQUFPLENBQUMsaUJBQy9CTCxJQUFBLENBQUNmLE9BQU87UUFDTjJLLFVBQVUsRUFBRWxDLFFBQVM7UUFDckJtQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtVQUFBLE9BQVF0RixrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFBQSxDQUFDO1FBQ3hDdUYsY0FBYyxFQUFFMUUsWUFBYTtRQUM3QnFFLFdBQVcsRUFBRUEsV0FBWTtRQUN6QmpHLFlBQVksRUFBRUEsWUFBYTtRQUMzQnVHLHFCQUFxQixFQUFFdEcsZUFBZ0I7UUFDdkNRLFFBQVEsRUFBRUssZUFBZ0I7UUFDMUJFLG9CQUFvQixFQUFFQTtNQUFxQixDQUM1QyxDQUNGLGVBQ0R0RSxLQUFBLENBQUNULGFBQWE7UUFBQzJILFFBQVEsRUFBRUEsUUFBUztRQUFBdUMsUUFBQSxnQkFFaEMzSixJQUFBLENBQUNaLGlCQUFpQjtVQUNoQmdJLFFBQVEsRUFBRUEsUUFBUztVQUNuQkMsV0FBVyxFQUFFQSxXQUFZO1VBQ3pCdEcsV0FBVyxFQUFFSyxnQkFBaUI7VUFDOUJpRSxNQUFNLEVBQUVBLE1BQU0sQ0FBQ3dDLElBQUs7VUFDcEI1RCxRQUFRLEVBQUUsQ0FBQyxDQUFDdUIsVUFBVztVQUN2QkYsT0FBTyxFQUFFQSxPQUFRO1VBQ2pCQyxXQUFXLEVBQUVBLFdBQVk7VUFDekJ5RSxPQUFPLEVBQUUzRSxNQUFNLENBQUM0RSxRQUFTO1VBQ3pCakIsZUFBZSxFQUFFQSxlQUFnQjtVQUNqQ2tCLGFBQWEsRUFBRWxFLG1CQUFvQjtVQUNuQ0osY0FBYyxFQUFFQSxjQUFlO1VBQy9CTSxjQUFjLEVBQUVBO1FBQWUsQ0FDaEMsQ0FBQyxFQUdEakMsUUFBUSxnQkFDUGpFLElBQUEsQ0FBQ25CLFNBQVMsSUFBRSxDQUFDLEdBQ1h1Qix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDLGdCQUNsQ0wsSUFBQSxDQUFDbEIsYUFBYTtVQUNaK0UsYUFBYSxFQUFFNEMscUJBQXNCO1VBQ3JDdEMsUUFBUSxFQUFBc0QsYUFBQSxDQUFBQSxhQUFBLEtBQU90RCxRQUFRO1lBQUV3QyxJQUFJLEVBQUVXLFNBQVM7WUFBRTNELElBQUksRUFBRVEsUUFBUSxDQUFDUixJQUFJO1lBQUV5QixZQUFZLEVBQVpBO1VBQVksRUFBRztVQUM5RXlFLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1lBQUEsT0FBUTNGLFdBQVcsQ0FBQyxJQUFJLENBQUM7VUFBQSxDQUFDO1VBQ2pDaUcsSUFBSSxFQUFFO1lBQUV2SSxrQkFBa0IsRUFBbEJBLGtCQUFrQjtZQUFFSSxhQUFhLEVBQWJBO1VBQWMsQ0FBRTtVQUM1Q29JLGtCQUFrQixFQUFFaEMsc0JBQXVCO1VBQzNDaEIsUUFBUSxFQUFFQSxRQUFTO1VBQ25CMUIsV0FBVyxFQUFFQSxXQUFZO1VBQ3pCTCxNQUFNLEVBQUVBLE1BQU0sQ0FBQ3dDO1FBQUssQ0FDckIsQ0FBQyxnQkFFRjdILElBQUEsQ0FBQ1YscUJBQXFCO1VBQUMrSyxnQkFBZ0IsRUFBRWxHLFFBQVEsQ0FBQ1I7UUFBSyxDQUFFLENBQzFELEVBR0EsQ0FBRThDLHFCQUFxQixLQUFLekgsT0FBTyxDQUFDMkUsSUFBSSxJQUFJLENBQUMsRUFBQzBCLE1BQU0sYUFBTkEsTUFBTSxnQkFBQXZFLFlBQUEsR0FBTnVFLE1BQU0sQ0FBRXdDLElBQUksY0FBQS9HLFlBQUEsZUFBWkEsWUFBQSxDQUFjZ0ksTUFBTSxLQUNqRXJDLHFCQUFxQixLQUFLekgsT0FBTyxDQUFDMkgsSUFBSSxLQUN0QyxDQUFDMUMsUUFBUSxJQUNULENBQUNxQixPQUFPLElBQ1JsRix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDLGlCQUM5QkwsSUFBQSxDQUFDSixpQkFBaUI7VUFDaEJrRixLQUFLLEVBQUVBLEtBQU07VUFDYjJELGlCQUFpQixFQUFFQSxpQkFBa0I7VUFDckM2QixvQkFBb0IsRUFBRTFILHNCQUF1QjtVQUM3Q0ksV0FBVyxFQUFFQSxXQUFZO1VBQ3pCSSxTQUFTLEVBQUVBLFNBQVU7VUFDckJtSCxNQUFNLEVBQUV2SSxhQUFjO1VBQ3RCSSxVQUFVLEVBQUVBLFVBQVc7VUFDdkJvSSxRQUFRLEVBQUUvRCxxQkFBcUIsS0FBS3pILE9BQU8sQ0FBQzJIO1FBQUssQ0FDbEQsQ0FDRjtNQUFBLENBQ1UsQ0FBQztJQUFBLENBQ0ksQ0FBQyxFQUN0QlAsa0JBQWtCLGlCQUNqQnBHLElBQUEsQ0FBQ1QsYUFBYTtNQUNac0csUUFBUSxFQUFFQSxRQUFTO01BQ25CRSxXQUFXLEVBQUVBLFdBQVk7TUFDekJELFdBQVcsRUFBRUEsV0FBWTtNQUN6QkUsbUJBQW1CLEVBQUVBLG1CQUFvQjtNQUN6Q0MsZ0JBQWdCLEVBQUVBO0lBQWlCLENBQ3BDLENBQ0YsZUFDRGpHLElBQUEsQ0FBQ1gsUUFBUSxJQUFFLENBQUM7RUFBQSxDQUNDLENBQUMsRUFDaEJ5SCxRQUNGLENBQUM7QUFFTCxDQUFDIiwiaWdub3JlTGlzdCI6W119
325
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsIlJlYWN0RE9NIiwibW9tZW50IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VVc2VyIiwiTUFJQUVycm9yIiwiQ2hhdEFJQ29udGVudCIsImJ1aWxkSGFuZGxlcnMiLCJvcHRpb25zIiwiU2lkZWJhciIsInVzZUdldEFnZW50cyIsInVzZUdsb2JhbENvbnRleHQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIlNuYWNrYmFyIiwiUHJvamVjdFN1bW1hcnlDb250ZW50IiwiQWJtQWdlbnRNb2RhbCIsIlNFQ1RJT05TIiwiU0NDQUlNQ29udGVudCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiU0NDQUlNV3JhcHBlciIsIkNoYXRBaU1vZGFsRm9vdGVyIiwidmFsaWRhdGVJc01haWEiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiSURfTU9EQUxfQ0hBVF9BR0VOVCIsInZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlIiwic2VjdGlvbiIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJDaGF0QUlNb2RhbCIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl91c2VyJHBlcm1pc3Npb25zMiIsIl91c2VyJHBlcm1pc3Npb25zMyIsIl9hZ2VudHMkZGF0YSIsImhhbmRsZUNsb3NlIiwidXNlciIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiaTE4biIsIl91c2VTdGF0ZSIsIm1lc3NhZ2UiLCJhdHRhY2htZW50cyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInVzZXJJbml0aWFsTWVzc2FnZSIsInNldFVzZXJJbml0aWFsTWVzc2FnZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaW5pdGlhbENoYXRJZCIsInNldEluaXRpYWxDaGF0SWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm5ld0NoYXRLZXkiLCJzZXROZXdDaGF0S2V5IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZW5kTWVzc2FnZUZ1bmN0aW9uIiwic2V0U2VuZE1lc3NhZ2VGdW5jdGlvbiIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic3RvcEdlbmVyYXRpb25GdW5jdGlvbiIsInNldFN0b3BHZW5lcmF0aW9uRnVuY3Rpb24iLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJpc1N0cmVhbWluZyIsInNldElzU3RyZWFtaW5nIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsImlzV3JpdGluZyIsInNldElzV3JpdGluZyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJyZWZldGNoQ2hhdHMiLCJzZXRSZWZldGNoQ2hhdHMiLCJfdXNlU3RhdGUxNSIsImhvbWUiLCJfdXNlU3RhdGUxNiIsImN1cnJlbnRPcHRpb24iLCJzZXRDdXJyZW50T3B0aW9uIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImhhc0Vycm9yIiwic2V0SGFzRXJyb3IiLCJoYW5kbGVycyIsIl91c2VTdGF0ZTE5IiwiX3VzZVN0YXRlMjAiLCJzaWRlYmFySGFzRXJyb3IiLCJzZXRTaWRlYmFySGFzRXJyb3IiLCJyZXNldFNlbGVjdGVkQ2hhdFJlZiIsImxhbmciLCJsYW5ndWFnZSIsImxvY2FsZSIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0QWdlbnQiLCJhZ2VudCIsInByb2plY3QiLCJjbGllbnQiLCJ0b2dnbGVXZWJTZWFyY2giLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInNldENoaXBzUHJvamVjdCIsInNldENsaWVudCIsIl91c2VHZXRBZ2VudHMiLCJoYW5kbGVHb0hvbWUiLCJhZ2VudHMiLCJsb2FkaW5nIiwibG9hZGluZ01vcmUiLCJhZ2VudEVycm9yIiwiZXJyb3IiLCJoYXNOb0FnZW50cyIsImhhbmRsZUdldEFnZW50cyIsImxvYWRNb3JlQWdlbnRzIiwiYWRkQWdlbnQiLCJyZW1vdmVBZ2VudCIsInVwZGF0ZUFnZW50IiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNlbGVjdEZpcnN0QWdlbnQiLCJzb3J0QWdlbnRzTGlzdCIsImlzTUFJQSIsInVzZXJIYXNQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY3JlYXRlIiwiZWRpdCIsImNvbXB1dGVkQ3VycmVudE9wdGlvbiIsImlzUHJvamVjdFNwZWNpYWxpc3QiLCJlbnRpdHkiLCJpc0NsaWVudFNwZWNpYWxpc3QiLCJzaG91bGRTaG93UHJvamVjdFNlbGVjdG9yIiwiY2hhdCIsInNob3VsZFNob3dDbGllbnRTZWxlY3RvciIsInByb2plY3RTZWxlY3RvciIsImNsaWVudFNlbGVjdG9yIiwiYWdlbnRzRmV0Y2hlZFJlZiIsInNlbGVjdG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY29uY2F0IiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJzdGFydENoYXQiLCJmYXFJZCIsInByZXYiLCJfb2JqZWN0U3ByZWFkIiwiZ29Ub0NoYXQiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsInNlbGVjdGVkQWdlbnQiLCJkYXRhIiwiZmluZCIsImFnZW50SXRlbSIsImlkIiwiYWdlbnRJZCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImhhbmRsZVNlbmRNZXNzYWdlUmVhZHkiLCJzZW5kTWVzc2FnZSIsInN0b3BHZW5lcmF0aW9uIiwic3RyZWFtaW5nIiwid3JpdGluZyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInByb2plY3RfZGVsZXRlZCIsImxlbmd0aCIsImN1cnJlbnQiLCJoYW5kbGVSZXNldENoYXQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJzdG9wIiwic2hvd05ld0NoYXQiLCJjcmVhdGVQb3J0YWwiLCJjaGlsZHJlbiIsIm9uR29Ub0NoYXQiLCJvbkVycm9yIiwiaGFuZGxlR29Ub0hvbWUiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNNb3JlIiwiaGFzX21vcmUiLCJvbkFnZW50VXBkYXRlIiwicmVmcyIsIm9uU2VuZE1lc3NhZ2VSZWFkeSIsIm9uUmVzdGFydFN1bW1hcnkiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImNoYXRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1uby11c2VsZXNzLWZyYWdtZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IE1BSUFFcnJvciB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFFcnJvcidcblxuaW1wb3J0IHsgQ2hhdEFJQ29udGVudCB9IGZyb20gJy4uL0NoYXRBSUNvbnRlbnQnXG5pbXBvcnQgeyBidWlsZEhhbmRsZXJzLCBvcHRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi4vU2lkZWJhcidcbmltcG9ydCB7IHVzZUdldEFnZW50cyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0QUlNb2RhbEhlYWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlcidcbmltcG9ydCB7IFNuYWNrYmFyIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL1NuYWNrQmFyL1NuYWNrYmFyJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb250ZW50IH0gZnJvbSAnLi4vUHJvamVjdFN1bW1hcnlDb250ZW50J1xuaW1wb3J0IHsgQWJtQWdlbnRNb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9BYm1BZ2VudE1vZGFsL0FibUFnZW50TW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBTQ0NBSU1Db250ZW50LCBTQ0NBSU1Db250ZW50V3JhcHBlciwgU0NDQUlNV3JhcHBlciB9IGZyb20gJy4vQ2hhdEFJTW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgQ2hhdEFpTW9kYWxGb290ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXInXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcblxudHlwZSBDaGF0QUlNb2RhbFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIHBhcmVudFJlZj86IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cbn1cblxuZXhwb3J0IGNvbnN0IElEX01PREFMX0NIQVRfQUdFTlQgPSAnbW9kYWxzLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnQnXG5cbmNvbnN0IHZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlID0gKHNlY3Rpb246IHN0cmluZykgPT4ge1xuICBpZiAoc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgKHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8IHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAnY2xpZW50JykgJiYgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUykge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNb2RhbCA9ICh7IGhhbmRsZUNsb3NlIH06IENoYXRBSU1vZGFsUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudF0pXG4gIGNvbnN0IFt1c2VySW5pdGlhbE1lc3NhZ2UsIHNldFVzZXJJbml0aWFsTWVzc2FnZV0gPSB1c2VTdGF0ZTx7XG4gICAgbWVzc2FnZTogc3RyaW5nXG4gICAgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRGaWxlW11cbiAgICBmYXFJZD86IHN0cmluZ1xuICB9Pih7XG4gICAgbWVzc2FnZTogJycsXG4gICAgYXR0YWNobWVudHM6IFtdLFxuICB9KVxuICBjb25zdCBbaW5pdGlhbENoYXRJZCwgc2V0SW5pdGlhbENoYXRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbbmV3Q2hhdEtleSwgc2V0TmV3Q2hhdEtleV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbc2VuZE1lc3NhZ2VGdW5jdGlvbiwgc2V0U2VuZE1lc3NhZ2VGdW5jdGlvbl0gPSB1c2VTdGF0ZTxcbiAgICAoKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdKSA9PiB2b2lkKSB8IG51bGxcbiAgPihudWxsKVxuICBjb25zdCBbc3RvcEdlbmVyYXRpb25GdW5jdGlvbiwgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbl0gPSB1c2VTdGF0ZTwoKCkgPT4gdm9pZCkgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNTdHJlYW1pbmcsIHNldElzU3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNXcml0aW5nLCBzZXRJc1dyaXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW3JlZmV0Y2hDaGF0cywgc2V0UmVmZXRjaENoYXRzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbY3VycmVudE9wdGlvbiwgc2V0Q3VycmVudE9wdGlvbl0gPSB1c2VTdGF0ZShvcHRpb25zLmhvbWUpXG4gIGNvbnN0IFtoYXNFcnJvciwgc2V0SGFzRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGhhbmRsZXJzID0gdXNlTWVtbygoKSA9PiBidWlsZEhhbmRsZXJzKHNldEN1cnJlbnRPcHRpb24sIHNldEhhc0Vycm9yKSwgW10pXG4gIGNvbnN0IFtzaWRlYmFySGFzRXJyb3IsIHNldFNpZGViYXJIYXNFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgcmVzZXRTZWxlY3RlZENoYXRSZWYgPSB1c2VSZWY8KCgpID0+IHZvaWQpIHwgbnVsbD4obnVsbClcbiAgY29uc3QgbGFuZyA9IGkxOG4ubGFuZ3VhZ2UgPT09ICdicicgPyAncHQtYnInIDogaTE4bi5sYW5ndWFnZVxuXG4gIG1vbWVudC5sb2NhbGUobGFuZylcblxuICBjb25zdCB7XG4gICAgc2VsZWN0QWdlbnQsXG4gICAgc2VjdGlvbixcbiAgICBhZ2VudCxcbiAgICBwcm9qZWN0LFxuICAgIGNsaWVudCxcbiAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgIHNldENsaWVudCxcbiAgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIGNvbnN0IHtcbiAgICBhZ2VudHMsXG4gICAgbG9hZGluZyxcbiAgICBsb2FkaW5nTW9yZSxcbiAgICBlcnJvcjogYWdlbnRFcnJvcixcbiAgICBoYXNOb0FnZW50cyxcbiAgICBoYW5kbGVHZXRBZ2VudHMsXG4gICAgbG9hZE1vcmVBZ2VudHMsXG4gICAgYWRkQWdlbnQsXG4gICAgcmVtb3ZlQWdlbnQsXG4gICAgdXBkYXRlQWdlbnQsXG4gICAgdXBkYXRlQWdlbnRGYXZvcml0ZSxcbiAgICBzZWxlY3RGaXJzdEFnZW50LFxuICAgIHNvcnRBZ2VudHNMaXN0LFxuICB9ID0gdXNlR2V0QWdlbnRzKHsgc2VsZWN0QWdlbnQsIHNlY3Rpb24sIGFnZW50LCBoYW5kbGVHb0hvbWU6IGhhbmRsZXJzLmhvbWUgfSlcblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcblxuICBjb25zdCB1c2VySGFzUGVybWlzc2lvbnMgPVxuICAgICh1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5jcmVhdGUgfHxcbiAgICAgIHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmVkaXQgfHxcbiAgICAgIHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmRlbGV0ZSkgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGlzUHJvamVjdFNwZWNpYWxpc3QgPSBpc01BSUEgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09IG51bGwpXG4gICAgY29uc3QgaXNDbGllbnRTcGVjaWFsaXN0ID0gaXNNQUlBICYmIGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnXG5cbiAgICBjb25zdCBzaG91bGRTaG93UHJvamVjdFNlbGVjdG9yID0gY3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0ICYmIGlzUHJvamVjdFNwZWNpYWxpc3QgJiYgIXByb2plY3RcbiAgICBjb25zdCBzaG91bGRTaG93Q2xpZW50U2VsZWN0b3IgPSBjdXJyZW50T3B0aW9uICE9PSBvcHRpb25zLmNoYXQgJiYgaXNDbGllbnRTcGVjaWFsaXN0ICYmICFjbGllbnRcblxuICAgIGlmIChzaG91bGRTaG93UHJvamVjdFNlbGVjdG9yKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5wcm9qZWN0U2VsZWN0b3JcbiAgICB9XG4gICAgaWYgKHNob3VsZFNob3dDbGllbnRTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuY2xpZW50U2VsZWN0b3JcbiAgICB9XG4gICAgcmV0dXJuIGN1cnJlbnRPcHRpb25cbiAgfSwgW2N1cnJlbnRPcHRpb24sIHByb2plY3QsIGNsaWVudCwgaXNNQUlBLCBhZ2VudD8uZW50aXR5XSlcblxuICBjb25zdCBhZ2VudHNGZXRjaGVkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IHNlbGVjdG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7SURfTU9EQUxfQ0hBVF9BR0VOVH1gKVxuXG4gIGNvbnN0IFtleHBhbmRlZCwgc2V0RXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3Qgc3RhcnRDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1lc3NhZ2U/OiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSwgZmFxSWQ/OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChzaWRlYmFySGFzRXJyb3IpIHtcbiAgICAgICAgc2V0U2lkZWJhckhhc0Vycm9yKGZhbHNlKVxuICAgICAgfVxuICAgICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgICAgc2V0TmV3Q2hhdEtleShwcmV2ID0+IHByZXYgKyAxKVxuICAgICAgc2V0VXNlckluaXRpYWxNZXNzYWdlKHtcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCAnJyxcbiAgICAgICAgYXR0YWNobWVudHM6IGF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgICAuLi4oZmFxSWQgPyB7IGZhcUlkIH0gOiB7fSksXG4gICAgICB9KVxuICAgICAgaGFuZGxlcnMuY2hhdCgpXG4gICAgfSxcbiAgICBbaGFuZGxlcnMsIHNpZGViYXJIYXNFcnJvcl1cbiAgKVxuXG4gIGNvbnN0IGdvVG9DaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGNoYXQ6IGFueSkgPT4ge1xuICAgICAgc2V0VXNlckluaXRpYWxNZXNzYWdlKHsgbWVzc2FnZTogJycsIGF0dGFjaG1lbnRzOiBbXSB9KVxuICAgICAgc2V0SW5pdGlhbENoYXRJZChjaGF0LnNlc3Npb25FeHRlcm5hbElkKVxuICAgICAgY29uc3Qgc2VsZWN0ZWRBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmQoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5pZCA9PT0gY2hhdC5hZ2VudElkKVxuICAgICAgaWYgKHNlbGVjdGVkQWdlbnQpIHtcbiAgICAgICAgc2VsZWN0QWdlbnQoc2VsZWN0ZWRBZ2VudClcbiAgICAgIH1cbiAgICAgIC8vIERpc3BhdGNoIGV2ZW50IHRvIGNsZWFyIHRoZSBpbnB1dCB0ZXh0YXJlYVxuICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJykpXG4gICAgICBoYW5kbGVycy5jaGF0KClcbiAgICB9LFxuICAgIFtoYW5kbGVycywgYWdlbnRzLCBzZWxlY3RBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlUmVhZHkgPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdKSA9PiB2b2lkLFxuICAgICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgICBzdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgICB3cml0aW5nOiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBzZXRTZW5kTWVzc2FnZUZ1bmN0aW9uKCgpID0+IHNlbmRNZXNzYWdlKVxuICAgICAgc2V0U3RvcEdlbmVyYXRpb25GdW5jdGlvbigoKSA9PiBzdG9wR2VuZXJhdGlvbilcbiAgICAgIHNldElzU3RyZWFtaW5nKHN0cmVhbWluZylcbiAgICAgIHNldElzV3JpdGluZyh3cml0aW5nKVxuICAgIH0sXG4gICAgW11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1lc3NhZ2U6IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdKSA9PiB7XG4gICAgICBpZiAoc2lkZWJhckhhc0Vycm9yKSB7XG4gICAgICAgIHNldFNpZGViYXJIYXNFcnJvcihmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChzZW5kTWVzc2FnZUZ1bmN0aW9uICYmIGNvbXB1dGVkQ3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgICAgIHNlbmRNZXNzYWdlRnVuY3Rpb24obWVzc2FnZSwgYXR0YWNobWVudHMpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFydENoYXQobWVzc2FnZSwgYXR0YWNobWVudHMpXG4gICAgICB9XG4gICAgfSxcbiAgICBbc2VuZE1lc3NhZ2VGdW5jdGlvbiwgc3RhcnRDaGF0LCBjb21wdXRlZEN1cnJlbnRPcHRpb24sIHNpZGViYXJIYXNFcnJvcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdvSG9tZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAvLyBTaSBlc3RhbW9zIGVuIHVuYSBjb252ZXJzYWNpw7NuIHkgdmFtb3MgYSBob21lLCByZXNldGVhciBpbml0aWFsQ2hhdElkIHkgaW5jcmVtZW50YXIgbmV3Q2hhdEtleVxuICAgIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpIHtcbiAgICAgIHNldEluaXRpYWxDaGF0SWQobnVsbClcbiAgICAgIHNldE5ld0NoYXRLZXkocHJldiA9PiBwcmV2ICsgMSlcbiAgICAgIC8vIE5vIGJvcnJhciBlbCBjbGllbnRlIHNpIGVzIGFnZW50ZSBkZSBjbGllbnRlcyAoaWd1YWwgcXVlIGVsIHByb3llY3RvIHNlIG1hbnRpZW5lKVxuICAgICAgaWYgKGFnZW50Py5lbnRpdHkgIT09ICdjbGllbnQnKSB7XG4gICAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgICghYWdlbnQgfHwgYWdlbnQ/LmlzX2RlbGV0ZWQgfHwgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8IGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpICYmXG4gICAgICBhZ2VudHMuZGF0YS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBzZWxlY3RBZ2VudChhZ2VudHMuZGF0YVswXSlcbiAgICB9XG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmhvbWUpXG4gICAgc2V0Q2hpcHNQcm9qZWN0KG51bGwpXG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUgJiYgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCkge1xuICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCgpXG4gICAgfVxuICB9LCBbXG4gICAgb3B0aW9ucy5ob21lLFxuICAgIG9wdGlvbnMuY2hhdCxcbiAgICBjdXJyZW50T3B0aW9uLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIHRvZ2dsZVdlYlNlYXJjaCxcbiAgICBhZ2VudCxcbiAgICBhZ2VudHMsXG4gICAgc2VsZWN0QWdlbnQsXG4gICAgc2V0Q2xpZW50LFxuICBdKVxuXG4gIGNvbnN0IGhhbmRsZVJlc2V0Q2hhdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRVc2VySW5pdGlhbE1lc3NhZ2UoeyBtZXNzYWdlOiAnJywgYXR0YWNobWVudHM6IFtdIH0pXG4gICAgc2V0SW5pdGlhbENoYXRJZChudWxsKVxuICAgIC8vIERpc3BhdGNoIGV2ZW50IHRvIGNsZWFyIHRoZSBpbnB1dCB0ZXh0YXJlYVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjaGF0LXNlc3Npb24tY2hhbmdlZCcpKVxuICAgIGhhbmRsZUdvSG9tZSgpXG4gIH0sIFtoYW5kbGVHb0hvbWVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhZ2VudHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGFnZW50c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldEFnZW50cygpXG4gICAgfVxuICB9LCBbaGFuZGxlR2V0QWdlbnRzXSlcblxuICBjb25zdCBzaG93TmV3Q2hhdCA9IGNvbXB1dGVkQ3VycmVudE9wdGlvbiAhPT0gb3B0aW9ucy5jaGF0XG5cbiAgcmV0dXJuIChcbiAgICBzZWxlY3RvciAmJlxuICAgIFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgIDxTQ0NBSU1XcmFwcGVyIGV4cGFuZGVkPXtleHBhbmRlZH0+XG4gICAgICAgIDxTQ0NBSU1Db250ZW50V3JhcHBlciBleHBhbmRlZD17ZXhwYW5kZWR9PlxuICAgICAgICAgIHt2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSAmJiAoXG4gICAgICAgICAgICA8U2lkZWJhclxuICAgICAgICAgICAgICBvbkdvVG9DaGF0PXtnb1RvQ2hhdH1cbiAgICAgICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0U2lkZWJhckhhc0Vycm9yKHRydWUpfVxuICAgICAgICAgICAgICBoYW5kbGVHb1RvSG9tZT17aGFuZGxlR29Ib21lfVxuICAgICAgICAgICAgICBzaG93TmV3Q2hhdD17c2hvd05ld0NoYXR9XG4gICAgICAgICAgICAgIHJlZmV0Y2hDaGF0cz17cmVmZXRjaENoYXRzfVxuICAgICAgICAgICAgICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM9e3NldFJlZmV0Y2hDaGF0c31cbiAgICAgICAgICAgICAgaGFzRXJyb3I9e3NpZGViYXJIYXNFcnJvcn1cbiAgICAgICAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWY9e3Jlc2V0U2VsZWN0ZWRDaGF0UmVmfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxTQ0NBSU1Db250ZW50IGV4cGFuZGVkPXtleHBhbmRlZH0+XG4gICAgICAgICAgICB7LyogSGVhZGVyICovfVxuICAgICAgICAgICAgPENoYXRBSU1vZGFsSGVhZGVyXG4gICAgICAgICAgICAgIGV4cGFuZGVkPXtleHBhbmRlZH1cbiAgICAgICAgICAgICAgc2V0RXhwYW5kZWQ9e3NldEV4cGFuZGVkfVxuICAgICAgICAgICAgICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgICAgIGhhc0Vycm9yPXshIWFnZW50RXJyb3J9XG4gICAgICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgICAgIGxvYWRpbmdNb3JlPXtsb2FkaW5nTW9yZX1cbiAgICAgICAgICAgICAgaGFzTW9yZT17YWdlbnRzLmhhc19tb3JlfVxuICAgICAgICAgICAgICBoYW5kbGVSZXNldENoYXQ9e2hhbmRsZVJlc2V0Q2hhdH1cbiAgICAgICAgICAgICAgb25BZ2VudFVwZGF0ZT17dXBkYXRlQWdlbnRGYXZvcml0ZX1cbiAgICAgICAgICAgICAgbG9hZE1vcmVBZ2VudHM9e2xvYWRNb3JlQWdlbnRzfVxuICAgICAgICAgICAgICBzb3J0QWdlbnRzTGlzdD17c29ydEFnZW50c0xpc3R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgey8qIENvbnRlbnQgKi99XG5cbiAgICAgICAgICAgIHtoYXNFcnJvciA/IChcbiAgICAgICAgICAgICAgPE1BSUFFcnJvciAvPlxuICAgICAgICAgICAgKSA6IHZhbGlkYXRlQWNjZXNzQnlGZWF0dXJlKHNlY3Rpb24pID8gKFxuICAgICAgICAgICAgICA8Q2hhdEFJQ29udGVudFxuICAgICAgICAgICAgICAgIGN1cnJlbnRPcHRpb249e2NvbXB1dGVkQ3VycmVudE9wdGlvbn1cbiAgICAgICAgICAgICAgICBoYW5kbGVycz17eyAuLi5oYW5kbGVycywgY2hhdDogc3RhcnRDaGF0LCBob21lOiBoYW5kbGVycy5ob21lLCBoYW5kbGVHb0hvbWUgfX1cbiAgICAgICAgICAgICAgICBvbkVycm9yPXsoKSA9PiBzZXRIYXNFcnJvcih0cnVlKX1cbiAgICAgICAgICAgICAgICByZWZzPXt7IHVzZXJJbml0aWFsTWVzc2FnZSwgaW5pdGlhbENoYXRJZCB9fVxuICAgICAgICAgICAgICAgIG9uU2VuZE1lc3NhZ2VSZWFkeT17aGFuZGxlU2VuZE1lc3NhZ2VSZWFkeX1cbiAgICAgICAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgaGFzTm9BZ2VudHM9e2hhc05vQWdlbnRzfVxuICAgICAgICAgICAgICAgIGFnZW50cz17YWdlbnRzLmRhdGF9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICAgICAgeygoY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUgJiYgISFhZ2VudHM/LmRhdGE/Lmxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgY29tcHV0ZWRDdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmNoYXQpICYmXG4gICAgICAgICAgICAgICFoYXNFcnJvciAmJlxuICAgICAgICAgICAgICAhbG9hZGluZyAmJlxuICAgICAgICAgICAgICB2YWxpZGF0ZUFjY2Vzc0J5RmVhdHVyZShzZWN0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgPENoYXRBaU1vZGFsRm9vdGVyXG4gICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTdG9wR2VuZXJhdGlvbj17c3RvcEdlbmVyYXRpb25GdW5jdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICAgICAgICAgICAgY2hhdElkPXtpbml0aWFsQ2hhdElkfVxuICAgICAgICAgICAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNQ29udGVudD5cbiAgICAgICAgPC9TQ0NBSU1Db250ZW50V3JhcHBlcj5cbiAgICAgICAge3VzZXJIYXNQZXJtaXNzaW9ucyAmJiAoXG4gICAgICAgICAgPEFibUFnZW50TW9kYWxcbiAgICAgICAgICAgIGFkZEFnZW50PXthZGRBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50PXt1cGRhdGVBZ2VudH1cbiAgICAgICAgICAgIHJlbW92ZUFnZW50PXtyZW1vdmVBZ2VudH1cbiAgICAgICAgICAgIHVwZGF0ZUFnZW50RmF2b3JpdGU9e3VwZGF0ZUFnZW50RmF2b3JpdGV9XG4gICAgICAgICAgICBzZWxlY3RGaXJzdEFnZW50PXtzZWxlY3RGaXJzdEFnZW50fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTbmFja2JhciAvPlxuICAgICAgPC9TQ0NBSU1XcmFwcGVyPixcbiAgICAgIHNlbGVjdG9yXG4gICAgKVxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBb0JBLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDcEYsT0FBT0MsUUFBUSxNQUFNLFdBQVc7QUFDaEMsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBRWpELFNBQVNDLGFBQWEsUUFBUSxrQkFBa0I7QUFDaEQsU0FBU0MsYUFBYSxFQUFFQyxPQUFPLFFBQVEsYUFBYTtBQUNwRCxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUNwQyxTQUFTQyxZQUFZLFFBQVEseUNBQXlDO0FB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
@@ -12,9 +12,7 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
12
12
  isStreaming = _ref.isStreaming,
13
13
  isWriting = _ref.isWriting,
14
14
  chatId = _ref.chatId,
15
- newChatKey = _ref.newChatKey,
16
- _ref$showFaqs = _ref.showFaqs,
17
- showFaqs = _ref$showFaqs === void 0 ? false : _ref$showFaqs;
15
+ newChatKey = _ref.newChatKey;
18
16
  var _useTranslation = useTranslation([SECTIONS.abmAgent]),
19
17
  t = _useTranslation.t;
20
18
  if (agent !== null && agent !== void 0 && agent.is_deleted) {
@@ -91,9 +89,8 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
91
89
  isWriting: isWriting,
92
90
  onStopGeneration: handleStopGeneration,
93
91
  chatId: chatId,
94
- newChatKey: newChatKey,
95
- showFaqs: showFaqs
92
+ newChatKey: newChatKey
96
93
  })
97
94
  });
98
95
  };
99
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwiU0NDQUlNRldyYXBwZXIiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0IiwiU0NDQUlNRldyYXBwZXJJbmZvSWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QWlNb2RhbEZvb3RlciIsIl9yZWYiLCJhZ2VudCIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJpc19kZWxldGVkIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiZGVsZXRlZF9hdCIsImZvcm1hdCIsInByb2plY3RfZGVsZXRlZCIsIm5hbWUiLCJoYXNfbm90X2FjY2VzcyIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJvblNlbmRNZXNzYWdlIiwiZGlzYWJsZWQiLCJvblN0b3BHZW5lcmF0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZm9ybWF0aW9uQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSW5mb3JtYXRpb25DaXJjbGUnXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHtcbiAgU0NDQUlNRldyYXBwZXIsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCxcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dCxcbiAgU0NDQUlNRldyYXBwZXJJbmZvSWNvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBpZiAoYWdlbnQ/LmlzX2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kUHJvamVjdERlbGV0ZWQnLCB7IG5hbWU6IGFnZW50LnByb2plY3RfZGVsZXRlZC5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9BY2Nlc3MnLCB7IG5hbWU6IGFnZW50Py5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhYWdlbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHNob3dGYXFzPXtzaG93RmFxc31cbiAgICAgIC8+XG4gICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUNoRCxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQ0VDLGNBQWMsRUFDZEMsOEJBQThCLEVBQzlCQyxrQ0FBa0MsRUFDbENDLHNCQUFzQixRQUNqQiw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRW5DLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQVN4QjtFQUFBLElBUkpDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQ0xDLGlCQUFpQixHQUFBRixJQUFBLENBQWpCRSxpQkFBaUI7SUFDakJDLG9CQUFvQixHQUFBSCxJQUFBLENBQXBCRyxvQkFBb0I7SUFDcEJDLFdBQVcsR0FBQUosSUFBQSxDQUFYSSxXQUFXO0lBQ1hDLFNBQVMsR0FBQUwsSUFBQSxDQUFUSyxTQUFTO0lBQ1RDLE1BQU0sR0FBQU4sSUFBQSxDQUFOTSxNQUFNO0lBQ05DLFVBQVUsR0FBQVAsSUFBQSxDQUFWTyxVQUFVO0lBQUFD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
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwiU0NDQUlNRldyYXBwZXIiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0IiwiU0NDQUlNRldyYXBwZXJJbmZvSWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QWlNb2RhbEZvb3RlciIsIl9yZWYiLCJhZ2VudCIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJpc19kZWxldGVkIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiZGVsZXRlZF9hdCIsImZvcm1hdCIsInByb2plY3RfZGVsZXRlZCIsIm5hbWUiLCJoYXNfbm90X2FjY2VzcyIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJvblNlbmRNZXNzYWdlIiwiZGlzYWJsZWQiLCJvblN0b3BHZW5lcmF0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxGb290ZXIvQ2hhdEFpTW9kYWxGb290ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZm9ybWF0aW9uQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSW5mb3JtYXRpb25DaXJjbGUnXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHtcbiAgU0NDQUlNRldyYXBwZXIsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCxcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dCxcbiAgU0NDQUlNRldyYXBwZXJJbmZvSWNvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBpZiAoYWdlbnQ/LmlzX2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kUHJvamVjdERlbGV0ZWQnLCB7IG5hbWU6IGFnZW50LnByb2plY3RfZGVsZXRlZC5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9BY2Nlc3MnLCB7IG5hbWU6IGFnZW50Py5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhYWdlbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFVBQVUsUUFBUSxxQkFBcUI7QUFDaEQsU0FBU0MsUUFBUSxRQUFRLGlDQUFpQztBQUMxRCxTQUNFQyxjQUFjLEVBQ2RDLDhCQUE4QixFQUM5QkMsa0NBQWtDLEVBQ2xDQyxzQkFBc0IsUUFDakIsNEJBQTRCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUVuQyxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUFReEI7RUFBQSxJQVBKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUNMQyxpQkFBaUIsR0FBQUYsSUFBQSxDQUFqQkUsaUJBQWlCO0lBQ2pCQyxvQkFBb0IsR0FBQUgsSUFBQSxDQUFwQkcsb0JBQW9CO0lBQ3BCQyxXQUFXLEdBQUFKLElBQUEsQ0FBWEksV0FBVztJQUNYQyxTQUFTLEdBQUFMLElBQUEsQ0FBVEssU0FBUztJQUNUQyxNQUFNLEdBQUFOLElBQUEsQ0FBTk0sTUFBTTtJQUNOQyxVQUFVLEdBQUFQLElBQUEsQ0FBVk8sVUFBVTtFQUVWLElBQUFDLGVBQUEsR0FBY3BCLGNBQWMsQ0FBQyxDQUFDRSxRQUFRLENBQUNtQixRQUFRLENBQUMsQ0FBQztJQUF6Q0MsQ0FBQyxHQUFB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