@projectcor/maia-components 2.11.93 → 2.11.94-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +0 -69
  2. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +2 -2
  3. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +41 -28
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +1 -38
  5. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +7 -15
  6. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +4 -10
  7. package/lib/components/atoms/MAIAInput/MAIAInput.js +26 -47
  8. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +17 -0
  9. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +15 -0
  10. package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
  11. package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
  12. package/lib/components/atoms/icons/index.js +2 -1
  13. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +1 -4
  14. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
  15. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +30 -117
  16. package/lib/components/molecules/ChatAIHome/styles.js +49 -142
  17. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +48 -12
  18. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +2 -6
  19. package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
  20. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +211 -89
  21. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -18
  22. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +10 -3
  23. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +15 -3
  24. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -1
  25. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +55 -0
  26. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +46 -0
  27. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
  28. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  29. package/lib/components/molecules/ChatFooter/ChatFooter.js +8 -19
  30. package/lib/components/molecules/Sidebar/Sidebar.js +108 -67
  31. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +16 -1
  32. package/lib/components/molecules/Sidebar/Sidebar.styles.js +34 -29
  33. package/lib/components/organisms/ChatAI/ChatAI.js +10 -17
  34. package/lib/constants/maiaTaskPanelAccess.js +4 -4
  35. package/lib/context/cor-user.js +1 -9
  36. package/lib/context/global-context.js +1 -1
  37. package/lib/dev/DevChatAI.js +2 -2
  38. package/lib/hooks/useChatManager/useChatManager.js +560 -456
  39. package/lib/hooks/useChatMessages/useChatMessages.js +414 -236
  40. package/lib/hooks/useChats/useChats.js +21 -4
  41. package/lib/hooks/useContextPinPopover.js +8 -1
  42. package/lib/hooks/useEvent.js +1 -2
  43. package/lib/hooks/useFrequentlyUsedActions.js +2 -4
  44. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  45. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +139 -521
  46. package/lib/hooks/useProjectSummaryConfig.js +30 -23
  47. package/lib/hooks/useSlashCommands.js +2 -3
  48. package/lib/hooks/useStreamingMessage/index.js +2 -3
  49. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +13 -17
  50. package/lib/lang/br/index.js +13 -20
  51. package/lib/lang/en/index.js +13 -20
  52. package/lib/lang/es/index.js +13 -20
  53. package/lib/lang/fr/index.js +15 -17
  54. package/lib/services/appcues.js +2 -3
  55. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  56. package/lib/services/maia/Agents/getAgents.js +2 -2
  57. package/lib/services/maia/Chats/getChatsByUserId.js +6 -4
  58. package/lib/services/maia/Chats/index.js +3 -1
  59. package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
  60. package/lib/services/maia/Orchestrator/orchestrator.js +7 -1
  61. package/lib/store/chatsSidebarOptimistic.js +92 -0
  62. package/lib/store/chatsStore.types.js +1 -1
  63. package/lib/store/maiaMinimizedPersistence.js +49 -0
  64. package/lib/store/sessions/activeView.js +22 -0
  65. package/lib/store/sessions/index.js +9 -0
  66. package/lib/store/sessions/sessionHitlContext.js +15 -0
  67. package/lib/store/sessions/sessionNotificationSound.js +57 -0
  68. package/lib/store/sessions/sessionNotifications.js +110 -0
  69. package/lib/store/sessions/sessionNotifications.types.js +2 -0
  70. package/lib/store/sessions/sessionStreamManager.js +576 -0
  71. package/lib/store/sessions/sessionStreamingText.js +80 -0
  72. package/lib/store/sessions/sessions.types.js +35 -0
  73. package/lib/store/sessions/useSessionMeta.js +39 -0
  74. package/lib/store/sessions/useSessionStreamingText.js +18 -0
  75. package/lib/store/sessions/useSessionsStore.js +197 -0
  76. package/lib/store/useChatsStore.js +149 -12
  77. package/lib/types/Action.js +1 -1
  78. package/lib/types/Chat.js +1 -1
  79. package/lib/types/agent.js +1 -1
  80. package/lib/types/global.d.js +1 -1
  81. package/lib/utils/actionCategoryMap.js +2 -6
  82. package/lib/utils/actionIconMap.js +2 -8
  83. package/lib/utils/formatUnreadCount.js +6 -0
  84. package/lib/utils/streamActivityMessages.js +1 -2
  85. package/package.json +10 -15
  86. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +0 -128
  87. package/lib/components/atoms/icons/ActionCalendarIcon.js +0 -112
  88. package/lib/components/atoms/icons/ActionChatIcon.js +0 -71
  89. package/lib/components/atoms/icons/ActionTimeBackIcon.js +0 -112
  90. package/lib/constants/maiaHourAgentAccess.js +0 -15
  91. package/lib/constants/plannerSyncEvents.js +0 -15
  92. package/lib/hooks/useStreamingMessage/streamingStore.js +0 -69
  93. package/lib/utils/hoursPlannerQuickActionType.js +0 -65
  94. package/lib/utils/orchestratorSubagents.js +0 -11
@@ -4,36 +4,39 @@ import { MAIA_TASK_PANEL_CHAT_MODAL_Z_INDEX } from '../../../constants/maiaTaskP
4
4
  export var SCCAIMWrapper = styled.div.withConfig({
5
5
  displayName: "ChatAIModalstyles__SCCAIMWrapper",
6
6
  componentId: "sc-7bgzxb-0"
7
- })(["box-sizing:border-box;z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
8
- var elevated = _ref.elevated;
9
- return elevated ? MAIA_TASK_PANEL_CHAT_MODAL_Z_INDEX : 1099;
7
+ })(["box-sizing:border-box;", " z-index:", ";height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
8
+ var $minimized = _ref.$minimized;
9
+ return $minimized && css(["pointer-events:none;"]);
10
10
  }, function (_ref2) {
11
- var expanded = _ref2.expanded;
12
- return expanded && css(["left:0;right:0;width:100%;max-width:100vw;"]);
11
+ var elevated = _ref2.elevated;
12
+ return elevated ? MAIA_TASK_PANEL_CHAT_MODAL_Z_INDEX : 1099;
13
13
  }, function (_ref3) {
14
- var layoutMode = _ref3.layoutMode,
15
- dragPosition = _ref3.dragPosition,
16
- expanded = _ref3.expanded;
14
+ var expanded = _ref3.expanded;
15
+ return expanded && css(["left:0;right:0;width:100%;max-width:100vw;"]);
16
+ }, function (_ref4) {
17
+ var layoutMode = _ref4.layoutMode,
18
+ dragPosition = _ref4.dragPosition,
19
+ expanded = _ref4.expanded;
17
20
  return layoutMode === 'floating' && dragPosition && !expanded && css(["top:", "px;left:", "px;right:auto;padding:0;width:auto;height:auto;max-height:none;align-items:flex-start;justify-content:flex-start;transition:none;"], dragPosition.y, dragPosition.x);
18
21
  });
19
22
  export var SCCAIMContentWrapper = styled.div.withConfig({
20
23
  displayName: "ChatAIModalstyles__SCCAIMContentWrapper",
21
24
  componentId: "sc-7bgzxb-1"
22
- })(["position:relative;height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:width 0.1s ease-out-in;overflow:hidden;", " ", ""], function (_ref4) {
23
- var expanded = _ref4.expanded;
25
+ })(["position:relative;height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:width 0.1s ease-out-in;overflow:hidden;", " ", ""], function (_ref5) {
26
+ var expanded = _ref5.expanded;
24
27
  return expanded ? {
25
28
  width: '100%'
26
29
  } : {};
27
- }, function (_ref5) {
28
- var floating = _ref5.floating;
30
+ }, function (_ref6) {
31
+ var floating = _ref6.floating;
29
32
  return floating && css(["height:", "px;max-height:85vh;@media (min-width:", "px){height:", "px;}@media (min-width:", "px){height:", "px;}"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl);
30
33
  });
31
34
  export var SCCAIMContent = styled.div.withConfig({
32
35
  displayName: "ChatAIModalstyles__SCCAIMContent",
33
36
  componentId: "sc-7bgzxb-2"
34
- })(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", " ", ""], function (_ref6) {
35
- var expanded = _ref6.expanded,
36
- floating = _ref6.floating;
37
+ })(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", " ", ""], function (_ref7) {
38
+ var expanded = _ref7.expanded,
39
+ floating = _ref7.floating;
37
40
  if (expanded) {
38
41
  return css(["flex:1;"]);
39
42
  }
@@ -41,8 +44,15 @@ export var SCCAIMContent = styled.div.withConfig({
41
44
  return css(["width:", "px;@media (min-width:", "px){width:", "px;}@media (min-width:", "px){width:", "px;}"], MAIA_FLOATING_PANEL_WIDTH_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_WIDTH_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_WIDTH_PX.xxl);
42
45
  }
43
46
  return css(["width:480px;"]);
44
- }, function (_ref7) {
45
- var floating = _ref7.floating;
47
+ }, function (_ref8) {
48
+ var floating = _ref8.floating;
46
49
  return floating && css(["border-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;"]);
47
50
  });
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJlbGV2YXRlZCIsIl9yZWYyIiwiZXhwYW5kZWQiLCJfcmVmMyIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjQiLCJ3aWR0aCIsIl9yZWY1IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNiIsIl9yZWY3Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL0NoYXRBSU1vZGFsLnN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7XG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRSxcbiAgTUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX1hYTCxcbiAgTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgsXG59IGZyb20gJy4vbGF5b3V0J1xuaW1wb3J0IHsgTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgU0NDQUlNV3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBleHBhbmRlZDogYm9vbGVhblxuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBkcmFnUG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsXG4gIGVsZXZhdGVkPzogYm9vbGVhblxufT5gXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIHotaW5kZXggYWx0byBjdWFuZG8gc2UgYWJyZSBkZXNkZSBlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDApOyBlbCBkZWZhdWx0XG4gICAgIGN1YnJlIGxvcyBmbHVqb3MgcmVzdGFudGVzIGRlIE1haWEuICovXG4gIHotaW5kZXg6ICR7KHsgZWxldmF0ZWQgfSkgPT4gKGVsZXZhdGVkID8gTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCA6IDEwOTkpfTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBwYWRkaW5nOiAxNnB4O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2Utb3V0LWluO1xuICAkeyh7IGV4cGFuZGVkIH0pID0+XG4gICAgZXhwYW5kZWQgJiZcbiAgICBjc3NgXG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgYH1cbiAgJHsoeyBsYXlvdXRNb2RlLCBkcmFnUG9zaXRpb24sIGV4cGFuZGVkIH0pID0+XG4gICAgbGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJyAmJlxuICAgIGRyYWdQb3NpdGlvbiAmJlxuICAgICFleHBhbmRlZCAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogJHtkcmFnUG9zaXRpb24ueX1weDtcbiAgICAgIGxlZnQ6ICR7ZHJhZ1Bvc2l0aW9uLnh9cHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnRXcmFwcGVyID0gc3R5bGVkLmRpdjx7XG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGZsb2F0aW5nPzogYm9vbGVhblxufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTZweCByZ2JhKDE4LCAxOCwgMTgsIDAuMjQpO1xuICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2Utb3V0LWluO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAkeyh7IGV4cGFuZGVkIH0pID0+IChleHBhbmRlZCA/IHsgd2lkdGg6ICcxMDAlJyB9IDoge30pfVxuICAkeyh7IGZsb2F0aW5nIH0pID0+XG4gICAgZmxvYXRpbmcgJiZcbiAgICBjc3NgXG4gICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFguZGVmYXVsdH1weDtcbiAgICAgIG1heC1oZWlnaHQ6IDg1dmg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgaGVpZ2h0OiAke01BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLmxhcmdlfXB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR7TUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX1hYTH1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgueHhsfXB4O1xuICAgICAgfVxuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1Db250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGZsb2F0aW5nPzogYm9vbGVhblxufT5gXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0LWluO1xuICAkeyh7IGV4cGFuZGVkLCBmbG9hdGluZyB9KSA9PiB7XG4gICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gY3NzYFxuICAgICAgICBmbGV4OiAxO1xuICAgICAgYFxuICAgIH1cbiAgICBpZiAoZmxvYXRpbmcpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIHdpZHRoOiAke01BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFguZGVmYXVsdH1weDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR7TUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX0xBUkdFfXB4KSB7XG4gICAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5sYXJnZX1weDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC54eGx9cHg7XG4gICAgICAgIH1cbiAgICAgIGBcbiAgICB9XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgIHdpZHRoOiA0ODBweDtcbiAgICBgXG4gIH19XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICBgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsU0FDRUMsOEJBQThCLEVBQzlCQyw0QkFBNEIsRUFDNUJDLDZCQUE2QixFQUM3QkMsNEJBQTRCLFFBQ3ZCLFVBQVU7QUFDakIsU0FBU0Msa0NBQWtDLFFBQVEsd0NBQXdDO0FBRTNGLE9BQU8sSUFBTUMsYUFBYSxHQUFHUCxNQUFNLENBQUNRLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1TUFTMUIsVUFBQUMsSUFBQTtFQUFBLElBQUdDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0VBQUEsT0FBUUEsUUFBUSxHQUFHUCxrQ0FBa0MsR0FBRyxJQUFJO0FBQUEsQ0FBQyxFQVVqRixVQUFBUSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JkLEdBQUcsZ0RBS0Y7QUFBQSxHQUNELFVBQUFlLEtBQUE7RUFBQSxJQUFHQyxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtJQUFFQyxZQUFZLEdBQUFGLEtBQUEsQ0FBWkUsWUFBWTtJQUFFSCxRQUFRLEdBQUFDLEtBQUEsQ0FBUkQsUUFBUTtFQUFBLE9BQ3JDRSxVQUFVLEtBQUssVUFBVSxJQUN6QkMsWUFBWSxJQUNaLENBQUNILFFBQVEsSUFDVGQsR0FBRyw0SkFDTWlCLFlBQVksQ0FBQ0MsQ0FBQyxFQUNiRCxZQUFZLENBQUNFLENBQUMsQ0FTdkI7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNQyxvQkFBb0IsR0FBR3JCLE1BQU0sQ0FBQ1EsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1NQVkxQyxVQUFBVyxLQUFBO0VBQUEsSUFBR1AsUUFBUSxHQUFBTyxLQUFBLENBQVJQLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUc7SUFBRVEsS0FBSyxFQUFFO0VBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUFBLENBQUMsRUFDckQsVUFBQUMsS0FBQTtFQUFBLElBQUdDLFFBQVEsR0FBQUQsS0FBQSxDQUFSQyxRQUFRO0VBQUEsT0FDWEEsUUFBUSxJQUNSeEIsR0FBRyx1SEFDU0csNkJBQTZCLFdBQVEsRUFFMUJGLDhCQUE4QixFQUN2Q0UsNkJBQTZCLENBQUNzQixLQUFLLEVBRTFCdkIsNEJBQTRCLEVBQ3JDQyw2QkFBNkIsQ0FBQ3VCLEdBQUcsQ0FFOUM7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNQyxhQUFhLEdBQUc1QixNQUFNLENBQUNRLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5T0FjbkMsVUFBQWtCLEtBQUEsRUFBNEI7RUFBQSxJQUF6QmQsUUFBUSxHQUFBYyxLQUFBLENBQVJkLFFBQVE7SUFBRVUsUUFBUSxHQUFBSSxLQUFBLENBQVJKLFFBQVE7RUFDckIsSUFBSVYsUUFBUSxFQUFFO0lBQ1osT0FBT2QsR0FBRztFQUdaO0VBQ0EsSUFBSXdCLFFBQVEsRUFBRTtJQUNaLE9BQU94QixHQUFHLG9HQUNDSSw0QkFBNEIsV0FBUSxFQUN4QkgsOEJBQThCLEVBQ3hDRyw0QkFBNEIsQ0FBQ3FCLEtBQUssRUFFeEJ2Qiw0QkFBNEIsRUFDdENFLDRCQUE0QixDQUFDc0IsR0FBRztFQUcvQztFQUNBLE9BQU8xQixHQUFHO0FBR1osQ0FBQyxFQUNDLFVBQUE2QixLQUFBO0VBQUEsSUFBR0wsUUFBUSxHQUFBSyxLQUFBLENBQVJMLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1J4QixHQUFHLGlGQUlGO0FBQUEsRUFDSiIsImlnbm9yZUxpc3QiOltdfQ==
51
+ export var SCCAIMMinimizedHide = styled.div.withConfig({
52
+ displayName: "ChatAIModalstyles__SCCAIMMinimizedHide",
53
+ componentId: "sc-7bgzxb-3"
54
+ })(["display:", ";"], function (_ref9) {
55
+ var $hidden = _ref9.$hidden;
56
+ return $hidden ? 'none' : 'contents';
57
+ });
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiTUFJQV9UQVNLX1BBTkVMX0NIQVRfTU9EQUxfWl9JTkRFWCIsIlNDQ0FJTVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCIkbWluaW1pemVkIiwiX3JlZjIiLCJlbGV2YXRlZCIsIl9yZWYzIiwiZXhwYW5kZWQiLCJfcmVmNCIsImxheW91dE1vZGUiLCJkcmFnUG9zaXRpb24iLCJ5IiwieCIsIlNDQ0FJTUNvbnRlbnRXcmFwcGVyIiwiX3JlZjUiLCJ3aWR0aCIsIl9yZWY2IiwiZmxvYXRpbmciLCJsYXJnZSIsInh4bCIsIlNDQ0FJTUNvbnRlbnQiLCJfcmVmNyIsIl9yZWY4IiwiU0NDQUlNTWluaW1pemVkSGlkZSIsIl9yZWY5IiwiJGhpZGRlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcbmltcG9ydCB7IE1BSUFfVEFTS19QQU5FTF9DSEFUX01PREFMX1pfSU5ERVggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxuICBlbGV2YXRlZD86IGJvb2xlYW5cbiAgJG1pbmltaXplZD86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAkeyh7ICRtaW5pbWl6ZWQgfSkgPT5cbiAgICAkbWluaW1pemVkICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYH1cbiAgLyogei1pbmRleCBhbHRvIGN1YW5kbyBzZSBhYnJlIGRlc2RlIGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMCk7IGVsIGRlZmF1bHRcbiAgICAgY3VicmUgbG9zIGZsdWpvcyByZXN0YW50ZXMgZGUgTWFpYS4gKi9cbiAgei1pbmRleDogJHsoeyBlbGV2YXRlZCB9KSA9PiAoZWxldmF0ZWQgPyBNQUlBX1RBU0tfUEFORUxfQ0hBVF9NT0RBTF9aX0lOREVYIDogMTA5OSl9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT5cbiAgICBleHBhbmRlZCAmJlxuICAgIGNzc2BcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBgfVxuICAkeyh7IGxheW91dE1vZGUsIGRyYWdQb3NpdGlvbiwgZXhwYW5kZWQgfSkgPT5cbiAgICBsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnICYmXG4gICAgZHJhZ1Bvc2l0aW9uICYmXG4gICAgIWV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgdG9wOiAke2RyYWdQb3NpdGlvbi55fXB4O1xuICAgICAgbGVmdDogJHtkcmFnUG9zaXRpb24ueH1weDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgubGFyZ2V9cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC54eGx9cHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQsIGZsb2F0aW5nIH0pID0+IHtcbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICBgXG4gICAgfVxuICAgIGlmIChmbG9hdGluZykge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5kZWZhdWx0fXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlfXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLnh4bH1weDtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH1cbiAgICByZXR1cm4gY3NzYFxuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIGBcbiAgfX1cbiAgJHsoeyBmbG9hdGluZyB9KSA9PlxuICAgIGZsb2F0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NaW5pbWl6ZWRIaWRlID0gc3R5bGVkLmRpdjx7ICRoaWRkZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6ICR7KHsgJGhpZGRlbiB9KSA9PiAoJGhpZGRlbiA/ICdub25lJyA6ICdjb250ZW50cycpfTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBRS9DLFNBQ0VDLDhCQUE4QixFQUM5QkMsNEJBQTRCLEVBQzVCQyw2QkFBNkIsRUFDN0JDLDRCQUE0QixRQUN2QixVQUFVO0FBQ2pCLFNBQVNDLGtDQUFrQyxRQUFRLHdDQUF3QztBQUUzRixPQUFPLElBQU1DLGFBQWEsR0FBR1AsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNE1BUW5DLFVBQUFD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
@@ -7,6 +7,7 @@ import { SECTIONS } from '../../../../../constants/config';
7
7
  import { useUser } from '../../../../../context/cor-user';
8
8
  import { validateIsMaia } from '../../../../../services/utils/validateIsMaia';
9
9
  import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
10
+ import { useChatsStore } from '../../../../../store/useChatsStore';
10
11
  import { SCCAIMFWrapper, SCCAIMFWrapperInfoDeletedAgent, SCCAIMFWrapperInfoDeletedAgentText, SCCAIMFWrapperInfoIcon, SCCAIMFMessageWithAction, SCCAIMFChangeModelButton } from './ChatAiModalFooter.styles';
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
@@ -28,6 +29,9 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
28
29
  t = _useTranslation.t;
29
30
  var user = useUser();
30
31
  var eventAmplitude = useEvent();
32
+ var markChatAsRead = useChatsStore(function (state) {
33
+ return state.markChatAsRead;
34
+ });
31
35
  var infoIconColor = colors.text.secondary;
32
36
  var canEditCustomAgent = !!agent && !!(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 && _user$permissions.edit) && !validateIsMaia(agent) && agent.type === 'custom' && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
33
37
  var handleOpenChangeModelModal = function handleOpenChangeModelModal() {
@@ -143,7 +147,7 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
143
147
  var customAgentWarningKey = null;
144
148
  if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && agent !== null && agent !== void 0 && agent.model_deprecated) {
145
149
  customAgentWarningKey = 'legendModelDeprecated';
146
- } else if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && ((agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'partial_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'major_outage' || (agent === null || agent === void 0 ? void 0 : agent.provider_status) === 'under_maintenance')) {
150
+ } else if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && agent !== null && agent !== void 0 && agent.provider_status && agent.provider_status !== 'operational') {
147
151
  customAgentWarningKey = 'legendProviderStatus';
148
152
  }
149
153
  if (customAgentWarningKey) {
@@ -178,8 +182,11 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
178
182
  newChatKey: newChatKey,
179
183
  showFaqs: showFaqs,
180
184
  tooltipZIndex: tooltipZIndex,
181
- layoutMode: layoutMode
185
+ layoutMode: layoutMode,
186
+ onInputFocus: function onInputFocus() {
187
+ return markChatAsRead(chatId);
188
+ }
182
189
  })
183
190
  });
184
191
  };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ0NBSU1GV3JhcHBlciIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQiLCJTQ0NBSU1GV3JhcHBlckluZm9JY29uIiwiU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uIiwiU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwidG9vbHRpcFpJbmRleCIsImxlZ2FjeUNvbnRleHRTZXNzaW9uIiwib25Db250aW51ZUluTmV3Q2hhdCIsImxheW91dE1vZGUiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJpbmZvSWNvbkNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsImNhbkVkaXRDdXN0b21BZ2VudCIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsIm5hbWUiLCJpZCIsImlzT3BlbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNvbnRleHROYW1lIiwib25DbGljayIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwiZm9ybWF0IiwicHJvamVjdF9kZWxldGVkIiwiaGFzX25vdF9hY2Nlc3MiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiY3VzdG9tQWdlbnRXYXJuaW5nS2V5IiwibW9kZWxfZGVwcmVjYXRlZCIsInByb3ZpZGVyX3N0YXR1cyIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsIm9uU3RvcEdlbmVyYXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEZvb3Rlci9DaGF0QWlNb2RhbEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQ0FJTUZXcmFwcGVyLFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0ljb24sXG4gIFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbixcbiAgU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSBmYWxzZSxcbiAgdG9vbHRpcFpJbmRleCxcbiAgbGVnYWN5Q29udGV4dFNlc3Npb24sXG4gIG9uQ29udGludWVJbk5ld0NoYXQsXG4gIGxheW91dE1vZGUsXG59OiB7XG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIGhhbmRsZVNlbmRNZXNzYWdlOiBQYXJhbWV0ZXJzPHR5cGVvZiBDaGF0Rm9vdGVyPlswXVsnb25TZW5kTWVzc2FnZSddXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgc2hvd0ZhcXM/OiBib29sZWFuXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIFNpIGxhIHNlc3Npb24gYWJpZXJ0YSBlcyBkZSB1biBjbG9uZSBsZWdhY3kgKGVudGl0eSBwcm9qZWN0L3Rhc2svY2xpZW50KSwgc2UgbXVlc3RyYSB1biBjYXJ0ZWxcbiAgICogIHBhcmEgY29udGludWFyIGVsIGNvbnRleHRvIGVuIHVuIGNoYXQgbnVldm8gKGNvbiBlbCBvcmNoZXN0cmF0b3IpIGVuIHZleiBkZWwgaW5wdXQuICovXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogeyBlbnRpdHlUeXBlOiAncHJvamVjdCcgfCAndGFzaycgfCAnY2xpZW50JzsgY29udGV4dE5hbWU6IHN0cmluZyB9IHwgbnVsbFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0PzogKCkgPT4gdm9pZFxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBpbmZvSWNvbkNvbG9yID0gY29sb3JzLnRleHQuc2Vjb25kYXJ5XG5cbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICAhIWFnZW50ICYmXG4gICAgISF1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5lZGl0ICYmXG4gICAgIXZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KSAmJlxuICAgIGFnZW50LnR5cGUgPT09ICdjdXN0b20nICYmXG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWFnZW50IHx8ICFjYW5FZGl0Q3VzdG9tQWdlbnQpIHJldHVyblxuXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudC5rbm93bGVkZ2UgfHwgW10sXG4gICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhZ2VudC5uYW1lLFxuICAgICAgICAgICAgICAgIGlkOiBhZ2VudC5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgaWYgKGxlZ2FjeUNvbnRleHRTZXNzaW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICAgIHt0KCdsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbicsIHsgbmFtZTogbGVnYWN5Q29udGV4dFNlc3Npb24uY29udGV4dE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNvbnRpbnVlSW5OZXdDaGF0fT5cbiAgICAgICAgICAgICAge3QoJ2NvbnRpbnVlSW5OZXdDaGF0Jyl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaXNfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZFByb2plY3REZWxldGVkJywgeyBuYW1lOiBhZ2VudC5wcm9qZWN0X2RlbGV0ZWQubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb0FjY2VzcycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICFhZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgbGV0IGN1c3RvbUFnZW50V2FybmluZ0tleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmIGFnZW50Py5tb2RlbF9kZXByZWNhdGVkKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZE1vZGVsRGVwcmVjYXRlZCdcbiAgfSBlbHNlIGlmIChcbiAgICBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICAoYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ3BhcnRpYWxfb3V0YWdlJyB8fFxuICAgICAgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ21ham9yX291dGFnZScgfHxcbiAgICAgIGFnZW50Py5wcm92aWRlcl9zdGF0dXMgPT09ICd1bmRlcl9tYWludGVuYW5jZScpXG4gICkge1xuICAgIGN1c3RvbUFnZW50V2FybmluZ0tleSA9ICdsZWdlbmRQcm92aWRlclN0YXR1cydcbiAgfVxuXG4gIGlmIChjdXN0b21BZ2VudFdhcm5pbmdLZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD57dChjdXN0b21BZ2VudFdhcm5pbmdLZXkpfTwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHtjYW5FZGl0Q3VzdG9tQWdlbnQgJiYgKFxuICAgICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbH0+XG4gICAgICAgICAgICAgICAge3QoJ2NoYW5nZU1vZGVsJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17aGFuZGxlU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICBzaG93RmFxcz17c2hvd0ZhcXN9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFFekQsU0FBU0MsY0FBYyxRQUFRLDhDQUE4QztBQUM3RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FDRUMsY0FBYyxFQUNkQyw4QkFBOEIsRUFDOUJDLGtDQUFr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QWdCLElBQzFDLENBQUF6RCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRXlELGVBQWUsTUFBSyxjQUFjLElBQ3pDLENBQUF6RCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRXlELGVBQWUsTUFBSyxtQkFBbUIsQ0FBQyxFQUNqRDtJQUNBRixxQkFBcUIsR0FBRyxzQkFBc0I7RUFDaEQ7RUFFQSxJQUFJQSxxQkFBcUIsRUFBRTtJQUN6QixvQkFDRTdELElBQUEsQ0FBQ1AsY0FBYztNQUFBd0QsUUFBQSxlQUNiL0MsS0FBQSxDQUFDUiw4QkFBOEI7UUFBQXVELFFBQUEsZ0JBQzdCakQsSUFBQSxDQUFDSixzQkFBc0I7VUFBQXFELFFBQUEsZUFDckJqRCxJQUFBLENBQUNqQixpQkFBaUI7WUFBQ21FLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRSxFQUFHO1lBQUNDLEtBQUssRUFBRTVCO1VBQWMsQ0FBRTtRQUFDLENBQzVDLENBQUMsZUFDekJ0QixLQUFBLENBQUNMLHdCQUF3QjtVQUFBb0QsUUFBQSxnQkFDdkJqRCxJQUFBLENBQUNMLGtDQUFrQztZQUFBc0QsUUFBQSxFQUFFNUIsQ0FBQyxDQUFDd0MscUJBQXFCO1VBQUMsQ0FBcUMsQ0FBQyxFQUNsR2xDLGtCQUFrQixpQkFDakIzQixJQUFBLENBQUNGLHdCQUF3QjtZQUFDaUMsSUFBSSxFQUFDLFFBQVE7WUFBQ3VCLE9BQU8sRUFBRXBCLDBCQUEyQjtZQUFBZSxRQUFBLEVBQ3pFNUIsQ0FBQyxDQUFDLGFBQWE7VUFBQyxDQUNPLENBQzNCO1FBQUEsQ0FDdUIsQ0FBQztNQUFBLENBQ0c7SUFBQyxDQUNuQixDQUFDO0VBRXJCO0VBRUEsb0JBQ0VyQixJQUFBLENBQUNQLGNBQWM7SUFBQXdELFFBQUEsZUFDYmpELElBQUEsQ0FBQ2IsVUFBVTtNQUNUNkUsYUFBYSxFQUFFekQsaUJBQWtCO01BQ2pDMEQsUUFBUSxFQUFFLEtBQU07TUFDaEJ4RCxXQUFXLEVBQUVBLFdBQVk7TUFDekJDLFNBQVMsRUFBRUEsU0FBVTtNQUNyQndELGdCQUFnQixFQUFFMUQsb0JBQXFCO01BQ3ZDRyxNQUFNLEVBQUVBLE1BQU87TUFDZkMsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCRSxRQUFRLEVBQUVBLFFBQVM7TUFDbkJDLGFBQWEsRUFBRUEsYUFBYztNQUM3QkcsVUFBVSxFQUFFQTtJQUFXLENBQ3hCO0VBQUMsQ0FDWSxDQUFDO0FBRXJCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
192
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VDaGF0c1N0b3JlIiwiU0NDQUlNRldyYXBwZXIiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQiLCJTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0IiwiU0NDQUlNRldyYXBwZXJJbmZvSWNvbiIsIlNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbiIsIlNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDaGF0QWlNb2RhbEZvb3RlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsImFnZW50IiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVTdG9wR2VuZXJhdGlvbiIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsIl9yZWYkc2hvd0ZhcXMiLCJzaG93RmFxcyIsInRvb2x0aXBaSW5kZXgiLCJsZWdhY3lDb250ZXh0U2Vzc2lvbiIsIm9uQ29udGludWVJbk5ld0NoYXQiLCJsYXlvdXRNb2RlIiwiX3VzZVRyYW5zbGF0aW9uIiwiYWJtQWdlbnQiLCJ0IiwidXNlciIsImV2ZW50QW1wbGl0dWRlIiwibWFya0NoYXRBc1JlYWQiLCJzdGF0ZSIsImluZm9JY29uQ29sb3IiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiY2FuRWRpdEN1c3RvbUFnZW50IiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJlZGl0IiwidHlwZSIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJrbm93bGVkZ2UiLCJnZW5lcmFsIiwibmFtZSIsImlkIiwiaXNPcGVuIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiY29udGV4dE5hbWUiLCJvbkNsaWNrIiwiaXNfZGVsZXRlZCIsImRlbGV0ZWRfYXQiLCJmb3JtYXQiLCJwcm9qZWN0X2RlbGV0ZWQiLCJoYXNfbm90X2FjY2VzcyIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJjdXN0b21BZ2VudFdhcm5pbmdLZXkiLCJtb2RlbF9kZXByZWNhdGVkIiwicHJvdmlkZXJfc3RhdHVzIiwib25TZW5kTWVzc2FnZSIsImRpc2FibGVkIiwib25TdG9wR2VuZXJhdGlvbiIsIm9uSW5wdXRGb2N1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsRm9vdGVyL0NoYXRBaU1vZGFsRm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuLi8uLi8uLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlQ2hhdHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0b3JlL3VzZUNoYXRzU3RvcmUnXG5pbXBvcnQge1xuICBTQ0NBSU1GV3JhcHBlcixcbiAgU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50LFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1GV3JhcHBlckluZm9JY29uLFxuICBTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24sXG4gIFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEZvb3Rlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFpTW9kYWxGb290ZXIgPSAoe1xuICBhZ2VudCxcbiAgaGFuZGxlU2VuZE1lc3NhZ2UsXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gZmFsc2UsXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uLFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0LFxuICBsYXlvdXRNb2RlLFxufToge1xuICBhZ2VudD86IEFnZW50IHwgbnVsbFxuICBoYW5kbGVTZW5kTWVzc2FnZTogUGFyYW1ldGVyczx0eXBlb2YgQ2hhdEZvb3Rlcj5bMF1bJ29uU2VuZE1lc3NhZ2UnXVxuICBoYW5kbGVTdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIHNob3dGYXFzPzogYm9vbGVhblxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIC8qKiBTaSBsYSBzZXNzaW9uIGFiaWVydGEgZXMgZGUgdW4gY2xvbmUgbGVnYWN5IChlbnRpdHkgcHJvamVjdC90YXNrL2NsaWVudCksIHNlIG11ZXN0cmEgdW4gY2FydGVsXG4gICAqICBwYXJhIGNvbnRpbnVhciBlbCBjb250ZXh0byBlbiB1biBjaGF0IG51ZXZvIChjb24gZWwgb3JjaGVzdHJhdG9yKSBlbiB2ZXogZGVsIGlucHV0LiAqL1xuICBsZWdhY3lDb250ZXh0U2Vzc2lvbj86IHsgZW50aXR5VHlwZTogJ3Byb2plY3QnIHwgJ3Rhc2snIHwgJ2NsaWVudCc7IGNvbnRleHROYW1lOiBzdHJpbmcgfSB8IG51bGxcbiAgb25Db250aW51ZUluTmV3Q2hhdD86ICgpID0+IHZvaWRcbiAgbGF5b3V0TW9kZT86IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgbWFya0NoYXRBc1JlYWQgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLm1hcmtDaGF0QXNSZWFkKVxuICBjb25zdCBpbmZvSWNvbkNvbG9yID0gY29sb3JzLnRleHQuc2Vjb25kYXJ5XG5cbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICAhIWFnZW50ICYmXG4gICAgISF1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5lZGl0ICYmXG4gICAgIXZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KSAmJlxuICAgIGFnZW50LnR5cGUgPT09ICdjdXN0b20nICYmXG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWFnZW50IHx8ICFjYW5FZGl0Q3VzdG9tQWdlbnQpIHJldHVyblxuXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudC5rbm93bGVkZ2UgfHwgW10sXG4gICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhZ2VudC5uYW1lLFxuICAgICAgICAgICAgICAgIGlkOiBhZ2VudC5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgaWYgKGxlZ2FjeUNvbnRleHRTZXNzaW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICAgIHt0KCdsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbicsIHsgbmFtZTogbGVnYWN5Q29udGV4dFNlc3Npb24uY29udGV4dE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNvbnRpbnVlSW5OZXdDaGF0fT5cbiAgICAgICAgICAgICAge3QoJ2NvbnRpbnVlSW5OZXdDaGF0Jyl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaXNfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZFByb2plY3REZWxldGVkJywgeyBuYW1lOiBhZ2VudC5wcm9qZWN0X2RlbGV0ZWQubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb0FjY2VzcycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICFhZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgbGV0IGN1c3RvbUFnZW50V2FybmluZ0tleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmIGFnZW50Py5tb2RlbF9kZXByZWNhdGVkKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZE1vZGVsRGVwcmVjYXRlZCdcbiAgfSBlbHNlIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyAmJiBhZ2VudC5wcm92aWRlcl9zdGF0dXMgIT09ICdvcGVyYXRpb25hbCcpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kUHJvdmlkZXJTdGF0dXMnXG4gIH1cblxuICBpZiAoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+e3QoY3VzdG9tQWdlbnRXYXJuaW5nS2V5KX08L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7Y2FuRWRpdEN1c3RvbUFnZW50ICYmIChcbiAgICAgICAgICAgICAgPFNDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWx9PlxuICAgICAgICAgICAgICAgIHt0KCdjaGFuZ2VNb2RlbCcpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgIDxDaGF0Rm9vdGVyXG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e2hhbmRsZVN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgc2hvd0ZhcXM9e3Nob3dGYXFzfVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICBvbklucHV0Rm9jdXM9eygpID0+IG1hcmtDaGF0QXNSZWFkKGNoYXRJZCl9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFFekQsU0FBU0MsY0FBYyxRQUFRLDhDQUE4QztBQUM3RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FBU0MsYUFBYSxRQUFRLG9DQUFvQztBQUNsRSxTQUNFQyxjQUFjLEVBQ2RDLDhCQUE4QixFQUM5QkMsa0NBQWtDLEVBQ2xDQyxzQkFBc0IsRUFDdEJDLHdCQUF3QixFQUN4QkMsd0JBQXdCLFFBQ25CLDRCQUE0QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFHbkMsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBQyxJQUFBLEVBNEJ4QjtFQUFBLElBQUFDLGlCQUFBO0VBQUEsSUEzQkpDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0lBQ0xDLGlCQUFpQixHQUFBSCxJQUFBLENBQWpCRyxpQkFBaUI7SUFDakJDLG9CQUFvQixHQUFBSixJQUFBLENBQXBCSSxvQkFBb0I7SUFDcEJDLFdBQVcsR0FBQUwsSUFBQSxDQUFYSyxXQUFXO0lBQ1hDLFNBQVMsR0FBQU4sSUFBQSxDQUFUTSxTQUFTO0lBQ1RDLE1BQU0sR0FBQVAsSUFBQSxDQUFOTyxNQUFNO0lBQ05DLFVBQVUsR0FBQVIsSUFBQSxDQUFWUSxVQUFVO0lBQUFDLGFBQUEsR0FBQVQsSUFBQSxDQUNWVSxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsYUFBQSxjQUFHLEtBQUssR0FBQUEsYUFBQTtJQUNoQkUsYUFBYSxHQUFBWCxJQUFBLENBQWJXLGFBQWE7SUFDYkMsb0JBQW9CLEdBQUFaLElBQUEsQ0FBcEJZLG9CQUFvQjtJQUNwQkMsbUJBQW1CLEdBQUFiLElBQUEsQ0FBbkJhLG1CQUFtQjtJQUNuQkMsVUFBVSxHQUFBZCxJQUFBLENBQVZjLFVBQVU7RUFpQlYsSUFBQUMsZUFBQSxHQUFjbEMsY0FBYyxDQUFDLENBQUNFLFFBQVEsQ0FBQ2lDLFFBQVEsQ0FBQyxDQUFDO0lBQXpDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQU1DLElBQUksR0FBR2xDLE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLElBQU1tQyxjQUFjLEdBQUdoQyxRQUFRLENBQUMsQ0FBQztFQUNqQyxJQUFNaUMsY0FBYyxHQUFHaEMsYUFBYSxDQUFDLFVBQUFpQyxLQUFLO0lBQUEsT0FBSUEsS0FBSyxDQUFDRCxjQUFjO0VBQUEsRUFBQztFQUNuRSxJQUFNRSxhQUFhLEdBQUczQyxNQUFNLENBQUM0QyxJQUFJLENBQUNDLFNBQVM7RUFFM0MsSUFBTUMsa0JBQWtCLEdBQ3RCLENBQUMsQ0FBQ3ZCLEtBQUssSUFDUCxDQUFDLEVBQUNnQixJQUFJLGFBQUpBLElBQUksZ0JBQUFqQixpQkFBQSxHQUFKaUIsSUFBSSxDQUFFUSxXQUFXLGNBQUF6QixpQkFBQSxnQkFBQUEsaUJBQUEsR0FBakJBLGlCQUFBLENBQW1CMEIsU0FBUyxjQUFBMUIsaUJBQUEsZUFBNUJBLGlCQUFBLENBQThCMkIsSUFBSSxLQUNwQyxDQUFDM0MsY0FBYyxDQUFDaUIsS0FBYyxDQUFDLElBQy9CQSxLQUFLLENBQUMyQixJQUFJLEtBQUssUUFBUSxJQUN2QkMsTUFBTSxDQUFDQyx3Q0FBd0M7RUFFakQsSUFBTUMsMEJBQTBCLEdBQUcsU0FBN0JBLDBCQUEwQkEsQ0FBQSxFQUFTO0lBQ3ZDLElBQUksQ0FBQzlCLEtBQUssSUFBSSxDQUFDdUIsa0JBQWtCLEVBQUU7SUFFbkNOLGNBQWMsQ0FBQ2pDLE1BQU0sQ0FBQytDLFNBQVMsRUFBRTtNQUFFQyxNQUFNLEVBQUU7SUFBYSxDQUFDLENBQUM7SUFDMURDLFFBQVEsQ0FBQ0MsYUFBYSxDQUNwQixJQUFJQyxXQUFXLENBQUMsNEJBQTRCLEVBQUU7TUFDNUNDLE1BQU0sRUFBRTtRQUNOQyxXQUFXLEVBQUU7VUFDWEMsTUFBTSxFQUFFO1lBQ05DLFNBQVMsRUFBRSxJQUFJO1lBQ2ZDLFNBQVMsRUFBRXhDLEtBQUssQ0FBQ3dDLFNBQVMsSUFBSSxFQUFFO1lBQ2hDQyxPQUFPLEVBQUU7Y0FDUEMsSUFBSSxFQUFFMUMsS0FBSyxDQUFDMEMsSUFBSTtjQUNoQkMsRUFBRSxFQUFFM0MsS0FBSyxDQUFDMkM7WUFDWjtVQUNGLENBQUM7VUFDREMsTUFBTSxFQUFFO1FBQ1Y7TUFDRjtJQUNGLENBQUMsQ0FDSCxDQUFDO0VBQ0gsQ0FBQztFQUVELElBQUlsQyxvQkFBb0IsRUFBRTtJQUN4QixvQkFDRWhCLElBQUEsQ0FBQ1AsY0FBYztNQUFBMEQsUUFBQSxlQUNiakQsS0FBQSxDQUFDUiw4QkFBOEI7UUFBQXlELFFBQUEsZ0JBQzdCbkQsSUFBQSxDQUFDSixzQkFBc0I7VUFBQXVELFFBQUEsZUFDckJuRCxJQUFBLENBQUNsQixpQkFBaUI7WUFBQ3NFLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRSxFQUFHO1lBQUNDLEtBQUssRUFBRTVCO1VBQWMsQ0FBRTtRQUFDLENBQzVDLENBQUMsZUFDekJ4QixLQUFBLENBQUNMLHdCQUF3QjtVQUFBc0QsUUFBQSxnQkFDdkJuRCxJQUFBLENBQUNMLGtDQUFrQztZQUFBd0QsUUFBQSxFQUNoQzlCLENBQUMsQ0FBQyw0QkFBNEIsRUFBRTtjQUFFMkIsSUFBSSxFQUFFaEMsb0JBQW9CLENBQUN1QztZQUFZLENBQUM7VUFBQyxDQUMxQyxDQUFDLGVBQ3JDdkQsSUFBQSxDQUFDRix3QkFBd0I7WUFBQ21DLElBQUksRUFBQyxRQUFRO1lBQUN1QixPQUFPLEVBQUV2QyxtQkFBb0I7WUFBQWtDLFFBQUEsRUFDbEU5QixDQUFDLENBQUMsbUJBQW1CO1VBQUMsQ0FDQyxDQUFDO1FBQUEsQ0FDSCxDQUFDO01BQUEsQ0FDRztJQUFDLENBQ25CLENBQUM7RUFFckI7RUFFQSxJQUFJZixLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFbUQsVUFBVSxFQUFFO0lBQ3JCLG9CQUNFekQsSUFBQSxDQUFDUCxjQUFjO01BQUEwRCxRQUFBLGVBQ2JqRCxLQUFBLENBQUNSLDhCQUE4QjtRQUFBeUQsUUFBQSxnQkFDN0JuRCxJQUFBLENBQUNKLHNCQUFzQjtVQUFBdUQsUUFBQSxlQUNyQm5ELElBQUEsQ0FBQ2xCLGlCQUFpQjtZQUFDc0UsS0FBSyxFQUFFLEVBQUc7WUFBQ0MsTUFBTSxFQUFFLEVBQUc7WUFBQ0MsS0FBSyxFQUFFNUI7VUFBYyxDQUFFO1FBQUMsQ0FDNUMsQ0FBQyxlQUN6QnhCLEtBQUEsQ0FBQ1Asa0NBQWtDO1VBQUF3RCxRQUFBLEdBQ2hDOUIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUMsR0FBQyxFQUFDckMsTUFBTSxDQUFDc0IsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVvRCxVQUFVLENBQUMsQ0FBQ0MsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1FBQUEsQ0FDL0MsQ0FBQztNQUFBLENBQ1A7SUFBQyxDQUNuQixDQUFDO0VBRXJCO0VBRUEsSUFBSXJELEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUVzRCxlQUFlLEVBQUU7SUFDMUIsb0JBQ0U1RCxJQUFBLENBQUNQLGNBQWM7TUFBQTBELFFBQUEsZUFDYmpELEtBQUEsQ0FBQ1IsOEJBQThCO1FBQUF5RCxRQUFBLGdCQUM3Qm5ELElBQUEsQ0FBQ0osc0JBQXNCO1VBQUF1RCxRQUFBLGVBQ3JCbkQsSUFBQSxDQUFDbEIsaUJBQWlCO1lBQUNzRSxLQUFLLEVBQUUsRUFBRztZQUFDQyxNQUFNLEVBQUUsRUFBRztZQUFDQyxLQUFLLEVBQUU1QjtVQUFjLENBQUU7UUFBQyxDQUM1QyxDQUFDLGVBQ3pCMUIsSUFBQSxDQUFDTCxrQ0FBa0M7VUFBQXdELFFBQUEsRUFDaEM5QixDQUFDLENBQUMsc0JBQXNCLEVBQUU7WUFBRTJCLElBQUksRUFBRTFDLEtBQUssQ0FBQ3NELGVBQWUsQ0FBQ1o7VUFBSyxDQUFDO1FBQUMsQ0FDOUIsQ0FBQztNQUFBLENBQ1A7SUFBQyxDQUNuQixDQUFDO0VBRXJCO0VBRUEsSUFBSTFDLEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUV1RCxjQUFjLEVBQUU7SUFDekIsb0JBQ0U3RCxJQUFBLENBQUNQLGNBQWM7TUFBQTBELFFBQUEsZUFDYmpELEtBQUEsQ0FBQ1IsOEJBQThCO1FBQUF5RCxRQUFBLGdCQUM3Qm5ELElBQUEsQ0FBQ0osc0JBQXNCO1VBQUF1RCxRQUFBLGVBQ3JCbkQsSUFBQSxDQUFDbEIsaUJBQWlCO1lBQUNzRSxLQUFLLEVBQUUsRUFBRztZQUFDQyxNQUFNLEVBQUUsRUFBRztZQUFDQyxLQUFLLEVBQUU1QjtVQUFjLENBQUU7UUFBQyxDQUM1QyxDQUFDLGVBQ3pCMUIsSUFBQSxDQUFDTCxrQ0FBa0M7VUFBQXdELFFBQUEsRUFDaEM5QixDQUFDLENBQUMsZ0JBQWdCLEVBQUU7WUFBRTJCLElBQUksRUFBRTFDLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMEM7VUFBSyxDQUFDO1FBQUMsQ0FDVCxDQUFDO01BQUEsQ0FDUDtJQUFDLENBQ25CLENBQUM7RUFFckI7RUFFQSxJQUFJMUMsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRXdELG1CQUFtQixJQUFJLENBQUN4RCxLQUFLLEVBQUU7SUFDeEMsb0JBQ0VOLElBQUEsQ0FBQ1AsY0FBYztNQUFBMEQsUUFBQSxlQUNiakQsS0FBQSxDQUFDUiw4QkFBOEI7UUFBQXlELFFBQUEsZ0JBQzdCbkQsSUFBQSxDQUFDSixzQkFBc0I7VUFBQXVELFFBQUEsZUFDckJuRCxJQUFBLENBQUNsQixpQkFBaUI7WUFBQ3NFLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRSxFQUFHO1lBQUNDLEtBQUssRUFBRTVCO1VBQWMsQ0FBRTtRQUFDLENBQzVDLENBQUMsZUFDekIxQixJQUFBLENBQUNMLGtDQUFrQztVQUFBd0QsUUFBQSxFQUNoQzlCLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtZQUFFMkIsSUFBSSxFQUFFMUMsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUUwQztVQUFLLENBQUM7UUFBQyxDQUNkLENBQUM7TUFBQSxDQUNQO0lBQUMsQ0FDbkIsQ0FBQztFQUVyQjtFQUVBLElBQUllLHFCQUFvQyxHQUFHLElBQUk7RUFFL0MsSUFBSSxDQUFBekQsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUUyQixJQUFJLE1BQUssUUFBUSxJQUFJM0IsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRTBELGdCQUFnQixFQUFFO0lBQ3ZERCxxQkFBcUIsR0FBRyx1QkFBdUI7RUFDakQsQ0FBQyxNQUFNLElBQUksQ0FBQXpELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMkIsSUFBSSxNQUFLLFFBQVEsSUFBSTNCLEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUUyRCxlQUFlLElBQUkzRCxLQUFLLENBQUMyRCxlQUFlLEtBQUssYUFBYSxFQUFFO0lBQ3hHRixxQkFBcUIsR0FBRyxzQkFBc0I7RUFDaEQ7RUFFQSxJQUFJQSxxQkFBcUIsRUFBRTtJQUN6QixvQkFDRS9ELElBQUEsQ0FBQ1AsY0FBYztNQUFBMEQsUUFBQSxlQUNiakQsS0FBQSxDQUFDUiw4QkFBOEI7UUFBQXlELFFBQUEsZ0JBQzdCbkQsSUFBQSxDQUFDSixzQkFBc0I7VUFBQXVELFFBQUEsZUFDckJuRCxJQUFBLENBQUNsQixpQkFBaUI7WUFBQ3NFLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRSxFQUFHO1lBQUNDLEtBQUssRUFBRTVCO1VBQWMsQ0FBRTtRQUFDLENBQzVDLENBQUMsZUFDekJ4QixLQUFBLENBQUNMLHdCQUF3QjtVQUFBc0QsUUFBQSxnQkFDdkJuRCxJQUFBLENBQUNMLGtDQUFrQztZQUFBd0QsUUFBQSxFQUFFOUIsQ0FBQyxDQUFDMEMscUJBQXFCO1VBQUMsQ0FBcUMsQ0FBQyxFQUNsR2xDLGtCQUFrQixpQkFDakI3QixJQUFBLENBQUNGLHdCQUF3QjtZQUFDbUMsSUFBSSxFQUFDLFFBQVE7WUFBQ3VCLE9BQU8sRUFBRXBCLDBCQUEyQjtZQUFBZSxRQUFBLEVBQ3pFOUIsQ0FBQyxDQUFDLGFBQWE7VUFBQyxDQUNPLENBQzNCO1FBQUEsQ0FDdUIsQ0FBQztNQUFBLENBQ0c7SUFBQyxDQUNuQixDQUFDO0VBRXJCO0VBRUEsb0JBQ0VyQixJQUFBLENBQUNQLGNBQWM7SUFBQTBELFFBQUEsZUFDYm5ELElBQUEsQ0FBQ2QsVUFBVTtNQUNUZ0YsYUFBYSxFQUFFM0QsaUJBQWtCO01BQ2pDNEQsUUFBUSxFQUFFLEtBQU07TUFDaEIxRCxXQUFXLEVBQUVBLFdBQVk7TUFDekJDLFNBQVMsRUFBRUEsU0FBVTtNQUNyQjBELGdCQUFnQixFQUFFNUQsb0JBQXFCO01BQ3ZDRyxNQUFNLEVBQUVBLE1BQU87TUFDZkMsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCRSxRQUFRLEVBQUVBLFFBQVM7TUFDbkJDLGFBQWEsRUFBRUEsYUFBYztNQUM3QkcsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCbUQsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7UUFBQSxPQUFRN0MsY0FBYyxDQUFDYixNQUFNLENBQUM7TUFBQTtJQUFDLENBQzVDO0VBQUMsQ0FDWSxDQUFDO0FBRXJCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -7,6 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { useEffect, useRef, useState, useCallback, useMemo } from 'react';
8
8
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
9
9
  import { Cross } from '@projectcor/icons/lib/components/Cross';
10
+ import { Status } from '@projectcor/icons/lib/components/Status';
10
11
  import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
11
12
  import { ChevronLeft } from '@projectcor/icons/lib/components/ChevronLeft';
12
13
  import { Plus } from '@projectcor/icons/lib/components/Plus';
@@ -20,7 +21,7 @@ import { MaiaChatLayoutSidebarIcon } from '../../../../atoms/icons/MaiaChatLayou
20
21
  import { MaiaChatLayoutFullscreenIcon } from '../../../../atoms/icons/MaiaChatLayoutFullscreenIcon';
21
22
  import { MaiaChatLayoutFloatingIcon } from '../../../../atoms/icons/MaiaChatLayoutFloatingIcon';
22
23
  import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
23
- import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow, SCCAIMHLayoutMenuRowIcon, SCCAIMHBackButton } from './ChatAiModalHeader.styles';
24
+ import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHAddAgent, SCCAIMHCreateAgentButton, SCCAIMHCreateAgentButtonText, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIMHPlusIconWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow, SCCAIMHLayoutMenuRowIcon, SCCAIMHBackButton, SCCAIMHMinimizeIcon } from './ChatAiModalHeader.styles';
24
25
  import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
25
26
  import { useUser } from '../../../../../context/cor-user';
26
27
  import { isMaiaCloneAgentsRoleBlocked } from '../../../../../constants/maiaTaskPanelAccess';
@@ -42,6 +43,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
42
43
  handleClose = _ref$handleClose === void 0 ? function () {
43
44
  return null;
44
45
  } : _ref$handleClose,
46
+ handleMinimize = _ref.handleMinimize,
45
47
  _ref$agents = _ref.agents,
46
48
  agents = _ref$agents === void 0 ? [] : _ref$agents,
47
49
  _ref$hasError = _ref.hasError,
@@ -439,7 +441,17 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
439
441
  }), t('layoutFloating')]
440
442
  })]
441
443
  }) : null]
442
- }), /*#__PURE__*/_jsx(IconButton, {
444
+ }), handleMinimize ? /*#__PURE__*/_jsx(IconButton, {
445
+ handleClick: handleMinimize,
446
+ tooltip: t('globals.minimize'),
447
+ tooltipZIndex: tooltipZIndex,
448
+ children: /*#__PURE__*/_jsx(SCCAIMHMinimizeIcon, {
449
+ children: /*#__PURE__*/_jsx(Status, {
450
+ width: 24,
451
+ height: 24
452
+ })
453
+ })
454
+ }) : null, /*#__PURE__*/_jsx(IconButton, {
443
455
  handleClick: handleClose,
444
456
  tooltip: t('globals.close'),
445
457
  tooltipZIndex: tooltipZIndex,
@@ -448,4 +460,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
448
460
  })]
449
461
  });
450
462
  };
451
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIkNoaXBMbG0iLCJMb2FkZXIiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQ2hhdEFJTW9kYWxIZWFkZXIiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfbG9jYWxBZ2VudHMkbmFtZSIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImNoYXRBSSIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiaXNNYWlhQWdlbnQiLCJhZ2VudEl0ZW0iLCJ0eXBlIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJlbnRpdHkiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImlzT3BlbiIsInVuZGVmaW5lZCIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJfYWdlbnRzUmVmJGN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJkaXN0YW5jZUZyb21Cb3R0b20iLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsRWxlbWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibG9jYWxBZ2VudHMiLCJfcmVmMiIsImlzX2RlbGV0ZWQiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiaGFzX25vdF9hY2Nlc3MiLCJpc19mcm9tX2NvbnZlcnNhdGlvbiIsImlzX2xlZ2FjeV9jb250ZXh0IiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJzZWxlY3Rvckljb24iLCJlbW9qaSIsInNlbGVjdG9yTGFiZWwiLCJucyIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwibmVlZHNFbnRpdHkiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsInRhcmdldCIsImNvbnRhaW5zIiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwibWFpYUFnZW50cyIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbidcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24sXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbEFjY2VzcydcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGlwTGxtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvQ2hpcExsbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGV4cGFuZGVkLFxuICBkcmFnZ2FibGUgPSBmYWxzZSxcbiAgb25EcmFnU3RhcnQsXG4gIG9uRHJhZ01vdmUsXG4gIG9uRHJhZ0VuZCxcbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiBudWxsLFxuICBhZ2VudHMgPSBbXSxcbiAgaGFzRXJyb3IgPSBmYWxzZSxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZSA9IGZhbHNlLFxuICBoYXNNb3JlID0gZmFsc2UsXG4gIGhhbmRsZVJlc2V0Q2hhdCxcbiAgb25BZ2VudFVwZGF0ZSxcbiAgbG9hZE1vcmVBZ2VudHMsXG4gIHNvcnRBZ2VudHNMaXN0LFxuICBpc015QWdlbnRzU2VjdGlvbiA9IGZhbHNlLFxuICBpc01haWFrZXJTZWN0aW9uID0gZmFsc2UsXG4gIG9uQWdlbnRTZWxlY3RlZCxcbiAgc2hvd0JhY2tCdXR0b24gPSBmYWxzZSxcbiAgb25CYWNrID0gKCkgPT4gbnVsbCxcbn06IHtcbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgb25MYXlvdXRNb2RlQ2hhbmdlOiAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHZvaWRcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZHJhZ2dhYmxlPzogYm9vbGVhblxuICBvbkRyYWdTdGFydD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ01vdmU/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdFbmQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICAvKiogU2VjY2nDs24gXCJNaXMgYWdlbnRlc1wiOiBzaSBubyBoYXkgYWdlbnRlIHNldGVhZG8sIGVsIHNlbGVjdG9yIG11ZXN0cmEgZWwgaWNvbm8gZGUgTUFJQSB5IGVsIG5vbWJyZSBkZSBsYSBzZWNjacOzbiAqL1xuICBpc015QWdlbnRzU2VjdGlvbj86IGJvb2xlYW5cbiAgLyoqIFNlY2Npw7NuIFwiQ3JlYWRvciBkZSBhZ2VudGVzXCIgKE1haWFrZXIpOiBoYWJpbGl0YSBlbCBib3TDs24gXCJDcmVhciBhZ2VudGVcIiBkZWwgaGVhZGVyICovXG4gIGlzTWFpYWtlclNlY3Rpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxuICBzaG93QmFja0J1dHRvbj86IGJvb2xlYW5cbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudCwgU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgbW9kYWwgZGUgTWFpYSBzZSBlbGV2YSBwb3IgZW5jaW1hIGRlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDEpLlxuICAvLyBMb3MgdG9vbHRpcHMgc2UgbW9udGFuIGVuIHBvcnRhbCBjb24gei1pbmRleCAxNTAwIHBvciBkZWZlY3RvLCBhc8OtIHF1ZSBxdWVkYXLDrWFuIGRldHLDoXMuXG4gIC8vIFN1Ymltb3Mgc3Ugei1pbmRleCBzw7NsbyBlbiBlc3RlIGNhc28gcGFyYSBxdWUgc2UgdmVhbiBwb3IgZW5jaW1hIGRlbCBtb2RhbC5cbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaXNNYWlhQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJdGVtOiBBZ2VudCkgPT4gYWdlbnRJdGVtLnR5cGUgPT09ICdvcmNoZXN0cmF0b3InLCBbXSlcbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGlzTWFpYUFnZW50KGFnZW50SXRlbSkgfHwgYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLFxuICAgIFthZ2VudHMsIGlzTWFpYUFnZW50XVxuICApXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gPSBjYW5DcmVhdGVBZ2VudCAmJiAoaXNNeUFnZW50c1NlY3Rpb24gfHwgaXNNYWlha2VyU2VjdGlvbilcblxuICBjb25zdCBoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2FtcGxpdHVkRXZlbnRdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvbiB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIC8vIEVuICdNaXMgYWdlbnRlcycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9XG4gICAgbG9jYWxBZ2VudHM/Lm5hbWUgPz8gKGlzTXlBZ2VudHNTZWN0aW9uID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KSA6ICcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyAoXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsQWdlbnRzPy5lbW9qaVxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICApfXsnICd9XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19sZWdhY3lfY29udGV4dFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge3NlbGVjdG9ySWNvbn0ge3NlbGVjdG9yTGFiZWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKGlzTWFpYUFnZW50KVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW1haWFBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bWFpYUFnZW50cy5tYXAoKG1haWFBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHttYWlhQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17bWFpYUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IG1haWFBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgaXNNYWlhQWdlbnQoYWdlbnQpIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgICB7dXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJlxuICAgICAgICAgICAgICAgICFpc015QWdlbnRzU2VjdGlvbiAmJlxuICAgICAgICAgICAgICAgICFpc01haWFrZXJTZWN0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IQWRkQWdlbnRcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NyZWF0ZUFnZW50Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTW9kZWxMbG0gPSBzZWxlY3RlZEFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWVcbiAgY29uc3Qgc2VsZWN0ZWRBZ2VudFR5cGUgPSBzZWxlY3RlZEFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAoISFzZWxlY3RlZEFnZW50IHx8IGlzTXlBZ2VudHNTZWN0aW9uKSAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2hvd0JhY2tCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQmFja0J1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIG9uQmFjaygpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAgICB7dCgnYmFjaycpfVxuICAgICAgICAgIDwvU0NDQUlNSEJhY2tCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHtzZWxlY3RlZEFnZW50VHlwZSAmJiBzZWxlY3RlZE1vZGVsTGxtICYmIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+fVxuICAgICAgICB7c2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbH0+XG4gICAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD57dCgnb3BlbkFnZW50Q3JlYXRvcicpfTwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD5cbiAgICAgICAgICA8L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVQYW5lbD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudUFuY2hvcj5cbiAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZUNsb3NlfSB0b29sdGlwPXt0KCdnbG9iYWxzLmNsb3NlJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGlu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
463
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIlN0YXR1cyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiU0NDQUlNSE1pbmltaXplSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVXNlciIsImlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQiLCJDaGlwTGxtIiwiTG9hZGVyIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiX2xvY2FsQWdlbnRzJG5hbWUiLCJsYXlvdXRNb2RlIiwib25MYXlvdXRNb2RlQ2hhbmdlIiwiZXhwYW5kZWQiLCJfcmVmJGRyYWdnYWJsZSIsImRyYWdnYWJsZSIsIm9uRHJhZ1N0YXJ0Iiwib25EcmFnTW92ZSIsIm9uRHJhZ0VuZCIsIl9yZWYkaGFuZGxlQ2xvc2UiLCJoYW5kbGVDbG9zZSIsImhhbmRsZU1pbmltaXplIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImNoYXRBSSIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiaXNNYWlhQWdlbnQiLCJhZ2VudEl0ZW0iLCJ0eXBlIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJlbnRpdHkiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImlzT3BlbiIsInVuZGVmaW5lZCIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJfYWdlbnRzUmVmJGN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJkaXN0YW5jZUZyb21Cb3R0b20iLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsRWxlbWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibG9jYWxBZ2VudHMiLCJfcmVmMiIsImlzX2RlbGV0ZWQiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiaGFzX25vdF9hY2Nlc3MiLCJpc19mcm9tX2NvbnZlcnNhdGlvbiIsImlzX2xlZ2FjeV9jb250ZXh0IiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJzZWxlY3Rvckljb24iLCJlbW9qaSIsInNlbGVjdG9yTGFiZWwiLCJucyIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwibmVlZHNFbnRpdHkiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsInRhcmdldCIsImNvbnRhaW5zIiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwibWFpYUFnZW50cyIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvU3RhdHVzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbidcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24sXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxuICBTQ0NBSU1ITWluaW1pemVJY29uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbEFjY2VzcydcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGlwTGxtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvQ2hpcExsbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGV4cGFuZGVkLFxuICBkcmFnZ2FibGUgPSBmYWxzZSxcbiAgb25EcmFnU3RhcnQsXG4gIG9uRHJhZ01vdmUsXG4gIG9uRHJhZ0VuZCxcbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiBudWxsLFxuICBoYW5kbGVNaW5pbWl6ZSxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaXNNeUFnZW50c1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNYWlha2VyU2VjdGlvbiA9IGZhbHNlLFxuICBvbkFnZW50U2VsZWN0ZWQsXG4gIHNob3dCYWNrQnV0dG9uID0gZmFsc2UsXG4gIG9uQmFjayA9ICgpID0+IG51bGwsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIGhhbmRsZU1pbmltaXplPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIC8qKiBTZWNjacOzbiBcIk1pcyBhZ2VudGVzXCI6IHNpIG5vIGhheSBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlBZ2VudHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogU2VjY2nDs24gXCJDcmVhZG9yIGRlIGFnZW50ZXNcIiAoTWFpYWtlcik6IGhhYmlsaXRhIGVsIGJvdMOzbiBcIkNyZWFyIGFnZW50ZVwiIGRlbCBoZWFkZXIgKi9cbiAgaXNNYWlha2VyU2VjdGlvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNlIGludm9jYSBkZXNwdcOpcyBkZWwgcmVzZXQgY3VhbmRvIGVsIGFnZW50ZSBzZWxlY2Npb25hZG8gTk8gcmVxdWllcmUgc2VsZWNjacOzblxuICAgKiBkZSBlbnRpdHkgKGN1c3RvbSBvIGNsb25lK2dsb2JhbCkuIFBlcm1pdGUgcmVzb2x2ZXIgYEdFVCAvdjIvc2Vzc2lvbnMvYWdlbnQve2lkfWBcbiAgICogeSBuYXZlZ2FyIGEgdW5hIGNvbnZlcnNhY2nDs24gZXhpc3RlbnRlIHNpIGxhIGhheS5cbiAgICovXG4gIG9uQWdlbnRTZWxlY3RlZD86IChhZ2VudDogQWdlbnQpID0+IHZvaWQgfCBQcm9taXNlPHVua25vd24+XG4gIHNob3dCYWNrQnV0dG9uPzogYm9vbGVhblxuICBvbkJhY2s/OiAoKSA9PiB2b2lkXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50LCBTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBlbCBtb2RhbCBkZSBNYWlhIHNlIGVsZXZhIHBvciBlbmNpbWEgZGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMSkuXG4gIC8vIExvcyB0b29sdGlwcyBzZSBtb250YW4gZW4gcG9ydGFsIGNvbiB6LWluZGV4IDE1MDAgcG9yIGRlZmVjdG8sIGFzw60gcXVlIHF1ZWRhcsOtYW4gZGV0csOhcy5cbiAgLy8gU3ViaW1vcyBzdSB6LWluZGV4IHPDs2xvIGVuIGVzdGUgY2FzbyBwYXJhIHF1ZSBzZSB2ZWFuIHBvciBlbmNpbWEgZGVsIG1vZGFsLlxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbGF5b3V0TWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW2xheW91dE1lbnVPcGVuLCBzZXRMYXlvdXRNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZkFnZW50LCBbc2VsZWN0ZWRBZ2VudD8ubmFtZV0pXG4gIGNvbnN0IGFnZW50c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCBpc01haWFBZ2VudCA9IHVzZUNhbGxiYWNrKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicsIFtdKVxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gaXNNYWlhQWdlbnQoYWdlbnRJdGVtKSB8fCBhZ2VudEl0ZW0uZW50aXR5ICE9PSAnZ2xvYmFsJyksXG4gICAgW2FnZW50cywgaXNNYWlhQWdlbnRdXG4gIClcblxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50ID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZSAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG4gIGNvbnN0IHNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiA9IGNhbkNyZWF0ZUFnZW50ICYmIChpc015QWdlbnRzU2VjdGlvbiB8fCBpc01haWFrZXJTZWN0aW9uKVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9LCBbYW1wbGl0dWRFdmVudF0pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19sZWdhY3lfY29udGV4dFxuICAgICkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQWdlbnRcbiAgICB9XG4gICAgY29uc3QgZnJvbUxpc3QgPSBhZ2VudHMuZmluZChcbiAgICAgIGFnZW50ID0+XG4gICAgICAgICFhZ2VudC5pc19kZWxldGVkICYmICFhZ2VudC5oYXNfbm90X3Blcm1pc3Npb25zICYmICFhZ2VudC5oYXNfbm90X2FjY2VzcyAmJiBhZ2VudC5pZCA9PT0gc2VsZWN0ZWRBZ2VudD8uaWRcbiAgICApXG4gICAgLy8gQWdlbnRlIGhpZHJhdGFkbyBwb3IgR0VUIChwLiBlai4gbnVldm8gY2hhdCB0cmFzIGNyZWF0ZV9hZ2VudCkgcHVlZGUgbm8gZXN0YXIgYcO6biBlbiBsYSBsaXN0YSBwYWdpbmFkYVxuICAgIHJldHVybiBmcm9tTGlzdCA/PyBzZWxlY3RlZEFnZW50ID8/IG51bGxcbiAgfSwgW2FnZW50cywgc2VsZWN0ZWRBZ2VudF0pXG5cbiAgLy8gRW4gJ01pcyBhZ2VudGVzJyBzaW4gYWdlbnRlIHNldGVhZG8sIGVsIHNlbGVjdG9yIG11ZXN0cmEgZWwgaWNvbm8gZGUgTUFJQSB5IGVsIG5vbWJyZSBkZSBsYSBzZWNjacOzblxuICAvLyBlbiBsdWdhciBkZWwgYWdlbnRlLCBwYXJhIHF1ZSBlbCB1c3VhcmlvIHB1ZWRhIGFicmlyIGVsIGRyb3Bkb3duIHkgZWxlZ2lyIHVuby5cbiAgY29uc3Qgc2VsZWN0b3JJY29uID1cbiAgICBsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIWxvY2FsQWdlbnRzPy5pc19sZWdhY3lfY29udGV4dCA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPlxuICBjb25zdCBzZWxlY3RvckxhYmVsID1cbiAgICBsb2NhbEFnZW50cz8ubmFtZSA/PyAoaXNNeUFnZW50c1NlY3Rpb24gPyB0KCdtYXJrZXRwbGFjZS5teUFnZW50c1RpdGxlJywgeyBuczogU0VDVElPTlMuY2hhdEFJIH0pIDogJycpXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdEFnZW50U2VsZWN0LCB7XG4gICAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgICAgfSlcbiAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGhhbmRsZVJlc2V0Q2hhdCgpXG4gICAgICAgIC8vIFNpIGVsIGFnZW50ZSBubyBkZXBlbmRlIGRlIHVuYSBlbnRpdHkgKGN1c3RvbSBvIGNsb25lK2dsb2JhbCkgeWEgcG9kZW1vc1xuICAgICAgICAvLyByZXNvbHZlciBzaSBleGlzdGUgdW5hIHNlc2nDs24gcHJldmlhIHksIGVuIGVzZSBjYXNvLCBuYXZlZ2FyIGEgZWxsYS5cbiAgICAgICAgLy8gUGFyYSBjbG9uZStwcm9qZWN0fGNsaWVudCwgbGEgcmVzb2x1Y2nDs24gb2N1cnJlIGVuIGxvcyBzZWxlY3RvcnMgZGUgZW50aXR5LlxuICAgICAgICBjb25zdCBuZWVkc0VudGl0eSA9IGFnZW50Py50eXBlID09PSAnY2xvbmUnICYmIChhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCcgfHwgYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcpXG4gICAgICAgIGlmICghbmVlZHNFbnRpdHkpIHtcbiAgICAgICAgICBvbkFnZW50U2VsZWN0ZWQ/LihhZ2VudClcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBhbXBsaXR1ZEV2ZW50LCBoYW5kbGVSZXNldENoYXQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgb25BZ2VudFNlbGVjdGVkXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kTW9kYWwgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuQWdlbnRTZWxlY3QpXG4gICAgICAvLyBDdWFuZG8gc2UgYWJyZSBlbCBzZWxlY3Rvciwgb3JkZW5hciBsb3MgYWdlbnRlc1xuICAgICAgaWYgKHNvcnRBZ2VudHNMaXN0KSB7XG4gICAgICAgIHNvcnRBZ2VudHNMaXN0KClcbiAgICAgIH1cbiAgICB9XG4gICAgc2V0SXNFeHBhbmRlZChwcmV2ID0+ICFwcmV2KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQgJiYgIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgTm9kZVxuICAgICAgaWYgKGlzRXhwYW5kZWQgJiYgZHJvcGRvd25SZWYuY3VycmVudCAmJiAhZHJvcGRvd25SZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgICBpZiAobGF5b3V0TWVudU9wZW4gJiYgbGF5b3V0TWVudVJlZi5jdXJyZW50ICYmICFsYXlvdXRNZW51UmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsYXlvdXRNZW51T3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlUGlja0xheW91dCA9IHVzZUNhbGxiYWNrKFxuICAgIChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4ge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMucHJvamVjdFJlc3VtZUV4cGFuZCwge1xuICAgICAgICBleHBhbmRlZDogbW9kZSA9PT0gJ2Z1bGxzY3JlZW4nLFxuICAgICAgfSlcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdFNlbGVjdFZpZXdPcHRpb25zLCB7IG9wdGlvbjogbW9kZSB9KVxuICAgICAgb25MYXlvdXRNb2RlQ2hhbmdlKG1vZGUpXG4gICAgICBzZXRMYXlvdXRNZW51T3BlbihmYWxzZSlcbiAgICB9LFxuICAgIFthbXBsaXR1ZEV2ZW50LCBvbkxheW91dE1vZGVDaGFuZ2VdXG4gIClcblxuICBjb25zdCBjbG9uZUFnZW50c1JvbGVCbG9ja2VkID0gaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCh1c2VyLCBzZWN0aW9uKVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgZGF0YS1uby1kcmFnPVwidHJ1ZVwiXG4gICAgICAgIG9uQ2xpY2s9e2FnZW50cy5sZW5ndGggPyBoYW5kbGVFeHBhbmRNb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgaWQ9XCJjaGF0LWFpLW1vZGFsLWhlYWRlci13cmFwcGVyXCJcbiAgICAgID5cbiAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgIHNob3dUb29sdGlwQWdlbnQgPyAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIWxvY2FsQWdlbnRzPy5pc19sZWdhY3lfY29udGV4dCA/IChcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxBZ2VudHM/LmVtb2ppXG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgICAgICAgICAgICl9eycgJ31cbiAgICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGxhY2VtZW50PXtpc0V4cGFuZGVkID8gJ2xlZnQnIDogJ3RvcCd9XG4gICAgICAgICAgICB7Li4uKHRvb2x0aXBaSW5kZXggIT0gbnVsbCA/IHsgekluZGV4OiB0b29sdGlwWkluZGV4IH0gOiB7fSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dFxuICAgICAgICAgICAgICByZWY9e3RleHRSZWZBZ2VudH1cbiAgICAgICAgICAgICAgaXNBZ2VudERlbGV0ZWQ9e1xuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2xlZ2FjeV9jb250ZXh0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7c2VsZWN0b3JJY29ufSB7c2VsZWN0b3JMYWJlbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICA8U0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzIwMjAxRlwiIC8+XG4gICAgICAgIDwvU0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICB7aXNFeHBhbmRlZCAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgIHt3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICFjbG9uZUFnZW50c1JvbGVCbG9ja2VkICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1haWFBZ2VudHMgPSBhZ2VudHNGb3JTZWxlY3Rvci5maWx0ZXIoaXNNYWlhQWdlbnQpXG4gICAgICAgICAgICAgICAgICAgIGlmICghbWFpYUFnZW50cy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHttYWlhQWdlbnRzLm1hcCgobWFpYUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke21haWFBZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXttYWlhQWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gbWFpYUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yLnNvbWUoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScpICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2FnZW50cycpfSBieSB7dXNlci5jb21wYW55fVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICBpc01haWFBZ2VudChhZ2VudCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJiAhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2FnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD17c2V0SXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bG9hZGluZ01vcmUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSEFnZW50c0xpc3Q+XG4gICAgICAgICAgICAgIHt1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmXG4gICAgICAgICAgICAgICAgIWlzTXlBZ2VudHNTZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgIWlzTWFpYWtlclNlY3Rpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhBZGRBZ2VudFxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXMgY29sb3I9XCJ3aGl0ZVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7dCgnY3JlYXRlQWdlbnQnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSEFkZEFnZW50PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb2RlbExsbSA9IHNlbGVjdGVkQWdlbnQ/Lm1vZGVsX2Rpc3BsYXlfbmFtZVxuICBjb25zdCBzZWxlY3RlZEFnZW50VHlwZSA9IHNlbGVjdGVkQWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICghIXNlbGVjdGVkQWdlbnQgfHwgaXNNeUFnZW50c1NlY3Rpb24pICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbFxuICAgICAgJGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICRsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofVxuICAgICAgb25Qb2ludGVyRG93bj17ZHJhZ2dhYmxlID8gb25EcmFnU3RhcnQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJNb3ZlPXtkcmFnZ2FibGUgPyBvbkRyYWdNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyVXA9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlckNhbmNlbD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Mb3N0UG9pbnRlckNhcHR1cmU9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogZHJhZ2dhYmxlID8gJ2dyYWInIDogdW5kZWZpbmVkLCB0b3VjaEFjdGlvbjogZHJhZ2dhYmxlID8gJ21hbmlwdWxhdGlvbicgOiB1bmRlZmluZWQgfX1cbiAgICA+XG4gICAgICB7c2hvdWxkUmVuZGVyU2VsZWN0b3IgPyByZW5kZXJNb2RhbCgpIDogPGRpdiAvPn1cbiAgICAgIDxTQ0NBSU1IV3JhcHBlckJ1dHRvbiBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgIHtzaG93QmFja0J1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhCYWNrQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgb25CYWNrKClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENoZXZyb25MZWZ0IHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMzQzNDMzXCIgLz5cbiAgICAgICAgICAgIHt0KCdiYWNrJyl9XG4gICAgICAgICAgPC9TQ0NBSU1IQmFja0J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAge3NlbGVjdGVkQWdlbnRUeXBlICYmIHNlbGVjdGVkTW9kZWxMbG0gJiYgPENoaXBMbG0gbW9kZWw9e3NlbGVjdGVkTW9kZWxMbG19IGV4cGFuZGVkPXtleHBhbmRlZH0gLz59XG4gICAgICAgIHtzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsfT5cbiAgICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Pnt0KCdvcGVuQWdlbnRDcmVhdG9yJyl9PC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0PlxuICAgICAgICAgIDwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFsYXlvdXRNZW51T3Blbikge1xuICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5WaWV3T3B0aW9ucylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihwcmV2ID0+ICFwcmV2KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2xheW91dE1lbnVUb29sdGlwJyl9XG4gICAgICAgICAgICBkaXNhYmxlVG9vbHRpcD17bGF5b3V0TWVudU9wZW59XG4gICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dE1lbnVJY29uIC8+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIHtsYXlvdXRNZW51T3BlbiA/IChcbiAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdzaWRlYmFyJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0U2lkZWJhcicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmbG9hdGluZycpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICB7aGFuZGxlTWluaW1pemUgPyAoXG4gICAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZU1pbmltaXplfSB0b29sdGlwPXt0KCdnbG9iYWxzLm1pbmltaXplJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgPFNDQ0FJTUhNaW5pbWl6ZUljb24+XG4gICAgICAgICAgICAgIDxTdGF0dXMgd2lkdGg9ezI0fSBoZWlnaHQ9ezI0fSAvPlxuICAgICAgICAgICAgPC9TQ0NBSU1ITWluaW1pemVJY29uPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxJY29uQnV0dG9uIGhhbmRsZUNsaWNrPXtoYW5kbGVDbG9zZX0gdG9vbHRpcD17dCgnZ2xvYmFscy5jbG9zZScpfSB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9TQ0NBSU1IV3JhcHBlckJ1dHRvbj5cbiAgICA8L1NDQ0FJTUhNb2RhbD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUEyQyxPQUFPO0FBQzVHLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxVQUFVLFFBQVEsOEJBQThCO0FBQ3pELFNBQVNDLFFBQVEsRUFBRUMsc0JBQXNCLFFBQVEseUJBQXlCO0FBQzFFLFNBQVNDLHlCQUF5QixRQUFRLG1EQUFtRDtBQUM3RixTQUFTQyw0QkFBNEIsUUFBUSxzREFBc0Q7QUFDbkcsU0FBU0MsMEJBQTBCLFFBQVEsb0RBQW9EO0FBQy9GLFNBQVNDLGlCQUFpQixRQUFRLDBDQUEwQztBQUM1RSxTQUNFQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsd0JBQXdCLEVBQ3hCQyxjQUFjLEVBQ2RDLG9CQUFvQixFQUNwQkMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLDBCQUEwQixFQUMxQkMsK0JBQStCLEVBQy9CQyxlQUFlLEVBQ2ZDLHdCQUF3QixFQUN4QkMsNEJBQTRCLEVBQzVCQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsb0JBQW9CLEVBQ3BCQyxzQkFBc0IsRUFDdEJDLHVCQUF1QixFQUN2QkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsaUJBQWlCLEVBQ2pCQyxtQkFBbUIsUUFDZCw0QkFBNEI7QUFFbkMsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFDekQsU0FBU0MsNEJBQTRCLFFBQVEsOENBQThDO0FBRTNGLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsTUFBTSxRQUFRLDBCQUEwQjtBQUNqRCxTQUFTQyxzQkFBc0IsUUFBUSw2Q0FBNkM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUVwRixPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUF1RHhCO0VBQUEsSUFBQUMsaUJBQUEsRUFBQUMsaUJBQUE7RUFBQSxJQXRESkMsVUFBVSxHQUFBSCxJQUFBLENBQVZHLFVBQVU7SUFDVkMsa0JBQWtCLEdBQUFKLElBQUEsQ0FBbEJJLGtCQUFrQjtJQUNsQkMsUUFBUSxHQUFBTCxJQUFBLENBQVJLLFFBQVE7SUFBQUMsY0FBQSxHQUFBTixJQUFBLENBQ1JPLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQ2pCRSxXQUFXLEdBQUFSLElBQUEsQ0FBWFEsV0FBVztJQUNYQyxVQUFVLEdBQUFULElBQUEsQ0FBVlMsVUFBVTtJQUNWQyxTQUFTLEdBQUFWLElBQUEsQ0FBVFUsU0FBUztJQUFBQyxnQkFBQSxHQUFBWCxJQUFBLENBQ1RZLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHO01BQUEsT0FBTSxJQUFJO0lBQUEsSUFBQUEsZ0JBQUE7SUFDeEJFLGNBQWMsR0FBQWIsSUFBQSxDQUFkYSxjQUFjO0lBQUFDLFdBQUEsR0FBQWQsSUFBQSxDQUNkZSxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLEVBQUUsR0FBQUEsV0FBQTtJQUFBRSxhQUFBLEdBQUFoQixJQUFBLENBQ1hpQixRQUFRO0lBQVJBLFFBQVEsR0FBQUQsYUFBQSxjQUFHLEtBQUssR0FBQUEsYUFBQTtJQUFBRSxZQUFBLEdBQUFsQixJQUFBLENBQ2hCbUIsT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBRyxLQUFLLEdBQUFBLFlBQUE7SUFBQUUsZ0JBQUEsR0FBQXBCLElBQUEsQ0FDZnFCLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHLEtBQUssR0FBQUEsZ0JBQUE7SUFBQUUsWUFBQSxHQUFBdEIsSUFBQSxDQUNuQnVCLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxZQUFBLGNBQUcsS0FBSyxHQUFBQSxZQUFBO0lBQ2ZFLGVBQWUsR0FBQXhCLElBQUEsQ0FBZndCLGVBQWU7SUFDZkMsYUFBYSxHQUFBekIsSUFBQSxDQUFieUIsYUFBYTtJQUNiQyxjQUFjLEdBQUExQixJQUFBLENBQWQwQixjQUFjO0lBQ2RDLGNBQWMsR0FBQTNCLElBQUEsQ0FBZDJCLGNBQWM7SUFBQUMscUJBQUEsR0FBQTVCLElBQUEsQ0FDZDZCLGlCQUFpQjtJQUFqQkEsaUJBQWlCLEdBQUFELHFCQUFBLGNBQUcsS0FBSyxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBOUIsSUFBQSxDQUN6QitCLGdCQUFnQjtJQUFoQkEsZ0JBQWdCLEdBQUFELHFCQUFBLGNBQUcsS0FBSyxHQUFBQSxxQkFBQTtJQUN4QkUsZUFBZSxHQUFBaEMsSUFBQSxDQUFmZ0MsZUFBZTtJQUFBQyxtQkFBQSxHQUFBakMsSUFBQSxDQUNma0MsY0FBYztJQUFkQSxjQUFjLEdBQUFELG1CQUFBLGNBQUcsS0FBSyxHQUFBQSxtQkFBQTtJQUFBRSxXQUFBLEdBQUFuQyxJQUFBLENBQ3RCb0MsTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRztNQUFBLE9BQU0sSUFBSTtJQUFBLElBQUFBLFdBQUE7RUFpQ25CLElBQUFFLGVBQUEsR0FBY3BGLGNBQWMsQ0FBQyxDQUFDQyxRQUFRLENBQUNvRixRQUFRLEVBQUVwRixRQUFRLENBQUNxRixNQUFNLENBQUMsQ0FBQztJQUExREMsQ0FBQyxHQUFBSCxlQUFBLENBQURHLENBQUM7RUFDVCxJQUFNQyxJQUFJLEdBQUdyRCxPQUFPLENBQUMsQ0FBQztFQUN0QixJQUFNc0QsYUFBYSxHQUFHdkQsUUFBUSxDQUFDLENBQUM7RUFDaEMsSUFBQXdELGlCQUFBLEdBQXVGeEYsZ0JBQWdCLENBQUMsQ0FBQztJQUExRnlGLGFBQWEsR0FBQUQsaUJBQUEsQ0FBcEJFLEtBQUs7SUFBaUJDLFdBQVcsR0FBQUgsaUJBQUEsQ0FBWEcsV0FBVztJQUFFQyxVQUFVLEdBQUFKLGlCQUFBLENBQVZJLFVBQVU7SUFBRUMsU0FBUyxHQUFBTCxpQkFBQSxDQUFUSyxTQUFTO0lBQUVDLE9BQU8sR0FBQU4saUJBQUEsQ0FBUE0sT0FBTztJQUFFQyxPQUFPLEdBQUFQLGlCQUFBLENBQVBPLE9BQU87RUFDbEY7RUFDQTtFQUNBO0VBQ0EsSUFBTUMsYUFBYSxHQUFHM0Qsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztFQUM3RCxJQUFBNEQsU0FBQSxHQUFvQzVHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZHLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTVDRyxVQUFVLEdBQUFGLFVBQUE7SUFBRUcsYUFBYSxHQUFBSCxVQUFBO0VBQ2hDLElBQU1JLFlBQVksR0FBR2xILE1BQU0sQ0FBa0IsSUFBSSxDQUFDO0VBQ2xELElBQU1tSCxXQUFXLEdBQUduSCxNQUFNLENBQWlCLElBQUksQ0FBQztFQUNoRCxJQUFNb0gsYUFBYSxHQUFHcEgsTUFBTSxDQUFpQixJQUFJLENBQUM7RUFDbEQsSUFBQXFILFVBQUEsR0FBNENwSCxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFxSCxVQUFBLEdBQUFQLGNBQUEsQ0FBQU0sVUFBQTtJQUFwREUsY0FBYyxHQUFBRCxVQUFBO0lBQUVFLGlCQUFpQixHQUFBRixVQUFBO0VBQ3hDLElBQUFHLGtCQUFBLEdBQTBDNUcsaUJBQWlCLENBQUNxRyxZQUFZLEVBQUUsQ0FBQ2IsYUFBYSxhQUFiQSxhQUFhLHVCQUFiQSxhQUFhLENBQUVxQixJQUFJLENBQUMsQ0FBQztJQUEzRUMsZ0JBQWdCLEdBQUFGLGtCQUFBLENBQTdCRyxXQUFXO0VBQ25CLElBQU1DLFNBQVMsR0FBRzdILE1BQU0sQ0FBaUIsSUFBSSxDQUFDO0VBRTlDLElBQU04SCxXQUFXLEdBQUc1SCxXQUFXLENBQUMsVUFBQzZILFNBQWdCO0lBQUEsT0FBS0EsU0FBUyxDQUFDQyxJQUFJLEtBQUssY0FBYztFQUFBLEdBQUUsRUFBRSxDQUFDO0VBQzVGLElBQU1DLGlCQUFpQixHQUFHOUgsT0FBTyxDQUMvQjtJQUFBLE9BQU1xRSxNQUFNLENBQUMwRCxNQUFNLENBQUMsVUFBQUgsU0FBUztNQUFBLE9BQUlELFdBQVcsQ0FBQ0MsU0FBUyxDQUFDLElBQUlBLFNBQVMsQ0FBQ0ksTUFBTSxLQUFLLFFBQVE7SUFBQSxFQUFDO0VBQUEsR0FDekYsQ0FBQzNELE1BQU0sRUFBRXNELFdBQVcsQ0FDdEIsQ0FBQztFQUVELElBQU1NLGVBQWUsR0FBR2xDLElBQUksYUFBSkEsSUFBSSxnQkFBQXhDLGlCQUFBLEdBQUp3QyxJQUFJLENBQUVtQyxXQUFXLGNBQUEzRSxpQkFBQSx1QkFBakJBLGlCQUFBLENBQW1CNEUsU0FBUztFQUNwRCxJQUFNQyxjQUFjLEdBQUcsQ0FBQyxFQUFDSCxlQUFlLGFBQWZBLGVBQWUsZUFBZkEsZUFBZSxDQUFFSSxNQUFNLEtBQUksQ0FBQyxDQUFDQyxNQUFNLENBQUNDLHdDQUF3QztFQUNyRyxJQUFNQywyQkFBMkIsR0FBR0osY0FBYyxLQUFLakQsaUJBQWlCLElBQUlFLGdCQUFnQixDQUFDO0VBRTdGLElBQU1vRCwwQkFBMEIsR0FBRzFJLFdBQVcsQ0FBQyxZQUFNO0lBQ25EaUcsYUFBYSxDQUFDeEQsTUFBTSxDQUFDa0csU0FBUyxFQUFFO01BQUVDLE1BQU0sRUFBRTtJQUFlLENBQUMsQ0FBQztJQUMzREMsUUFBUSxDQUFDQyxhQUFhLENBQ3BCLElBQUlDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRTtNQUM1Q0MsTUFBTSxFQUFFO1FBQ05DLFdBQVcsRUFBRTtVQUNYQyxNQUFNLEVBQUU7WUFDTkMsU0FBUyxFQUFFO1VBQ2IsQ0FBQztVQUNEQyxNQUFNLEVBQUU7UUFDVjtNQUNGO0lBQ0YsQ0FBQyxDQUNILENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ25ELGFBQWEsQ0FBQyxDQUFDOztFQUVuQjtFQUNBcEcsU0FBUyxDQUFDLFlBQU07SUFDZDtJQUNBLElBQUksQ0FBQ2lILFVBQVUsRUFBRTtNQUNmLE9BQU91QyxTQUFTO0lBQ2xCO0lBRUEsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztNQUN6QixJQUFJLENBQUMzQixTQUFTLENBQUM0QixPQUFPLElBQUksQ0FBQ3RFLGNBQWMsSUFBSSxDQUFDSCxPQUFPLElBQUlGLFdBQVcsRUFBRTtRQUNwRTtNQUNGO01BRUEsSUFBQTRFLGtCQUFBLEdBQWtEN0IsU0FBUyxDQUFDNEIsT0FBTztRQUEzREUsU0FBUyxHQUFBRCxrQkFBQSxDQUFUQyxTQUFTO1FBQUVDLFlBQVksR0FBQUYsa0JBQUEsQ0FBWkUsWUFBWTtRQUFFQyxZQUFZLEdBQUFILGtCQUFBLENBQVpHLFlBQVk7TUFDN0MsSUFBTUMsa0JBQWtCLEdBQUdGLFlBQVksR0FBR0QsU0FBUyxHQUFHRSxZQUFZOztNQUVsRTtNQUNBLElBQUlDLGtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQjNFLGNBQWMsQ0FBQyxDQUFDO01BQ2xCO0lBQ0YsQ0FBQzs7SUFFRDtJQUNBLElBQU00RSxTQUFTLEdBQUdDLFVBQVUsQ0FBQyxZQUFNO01BQ2pDLElBQU1DLGFBQWEsR0FBR3BDLFNBQVMsQ0FBQzRCLE9BQU87TUFDdkMsSUFBSVEsYUFBYSxFQUFFO1FBQ2pCQSxhQUFhLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBRVYsWUFBWSxDQUFDO01BQ3hEO0lBQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUVQLE9BQU8sWUFBTTtNQUNYVyxZQUFZLENBQUNKLFNBQVMsQ0FBQztNQUN2QixJQUFNRSxhQUFhLEdBQUdwQyxTQUFTLENBQUM0QixPQUFPO01BQ3ZDLElBQUlRLGFBQWEsRUFBRTtRQUNqQkEsYUFBYSxDQUFDRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUVaLFlBQVksQ0FBQztNQUMzRDtJQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ3hDLFVBQVUsRUFBRTdCLGNBQWMsRUFBRUgsT0FBTyxFQUFFRixXQUFXLENBQUMsQ0FBQztFQUV0RCxJQUFNdUYsV0FBVyxHQUFHbEssT0FBTyxDQUFDLFlBQU07SUFBQSxJQUFBbUssS0FBQTtJQUNoQyxJQUNFakUsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRWtFLFVBQVUsSUFDekJsRSxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFbUUsbUJBQW1CLElBQ2xDbkUsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRW9FLGNBQWMsSUFDN0JwRSxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFcUUsb0JBQW9CLElBQ25DckUsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRXNFLGlCQUFpQixFQUNoQztNQUNBLE9BQU90RSxhQUFhO0lBQ3RCO0lBQ0EsSUFBTXVFLFFBQVEsR0FBR3BHLE1BQU0sQ0FBQ3FHLElBQUksQ0FDMUIsVUFBQXZFLEtBQUs7TUFBQSxPQUNILENBQUNBLEtBQUssQ0FBQ2lFLFVBQVUsSUFBSSxDQUFDakUsS0FBSyxDQUFDa0UsbUJBQW1CLElBQUksQ0FBQ2xFLEtBQUssQ0FBQ21FLGNBQWMsSUFBSW5FLEtBQUssQ0FBQ3dFLEVBQUUsTUFBS3pFLGFBQWEsYUFBYkEsYUFBYSx1QkFBYkEsYUFBYSxDQUFFeUUsRUFBRTtJQUFBLENBQzlHLENBQUM7SUFDRDtJQUNBLFFBQUFSLEtBQUEsR0FBT00sUUFBUSxhQUFSQSxRQUFRLGNBQVJBLFFBQVEsR0FBSXZFLGFBQWEsY0FBQWlFLEtBQUEsY0FBQUEsS0FBQSxHQUFJLElBQUk7RUFDMUMsQ0FBQyxFQUFFLENBQUM5RixNQUFNLEVBQUU2QixhQUFhLENBQUMsQ0FBQzs7RUFFM0I7RUFDQTtFQUNBLElBQU0wRSxZQUFZLEdBQ2hCLENBQUFWLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFckMsSUFBSSxNQUFLLFFBQVEsSUFBSSxFQUFDcUMsV0FBVyxhQUFYQSxXQUFXLGVBQVhBLFdBQVcsQ0FBRU0saUJBQWlCLElBQUdOLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFVyxLQUFLLGdCQUFHN0gsSUFBQSxDQUFDcEMsUUFBUSxJQUFFLENBQUM7RUFDdkcsSUFBTWtLLGFBQWEsSUFBQXRILGlCQUFBLEdBQ2pCMEcsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUUzQyxJQUFJLGNBQUEvRCxpQkFBQSxjQUFBQSxpQkFBQSxHQUFLMkIsaUJBQWlCLEdBQUdXLENBQUMsQ0FBQywyQkFBMkIsRUFBRTtJQUFFaUYsRUFBRSxFQUFFdkssUUFBUSxDQUFDcUY7RUFBTyxDQUFDLENBQUMsR0FBRyxFQUFHO0VBRXpHLElBQU1tRixpQkFBaUIsR0FBR2pMLFdBQVcsQ0FDbkMsVUFBQ29HLEtBQVksRUFBSztJQUNoQkMsV0FBVyxDQUFDRCxLQUFLLENBQUM7SUFDbEJILGFBQWEsQ0FBQ3hELE1BQU0sQ0FBQ3lJLGlCQUFpQixFQUFFO01BQ3RDQyxVQUFVLEVBQUUvRSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTBCO0lBQ3JCLENBQUMsQ0FBQztJQUNGZixhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BCVCxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2hCQyxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFHLElBQUksQ0FBQztJQUNqQkMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUNic0QsVUFBVSxDQUFDLFlBQU07TUFDZi9FLGVBQWUsQ0FBQyxDQUFDO01BQ2pCO01BQ0E7TUFDQTtNQUNBLElBQU1xRyxXQUFXLEdBQUcsQ0FBQWhGLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMEIsSUFBSSxNQUFLLE9BQU8sS0FBSyxDQUFBMUIsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUU2QixNQUFNLE1BQUssU0FBUyxJQUFJLENBQUE3QixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTZCLE1BQU0sTUFBSyxRQUFRLENBQUM7TUFDMUcsSUFBSSxDQUFDbUQsV0FBVyxFQUFFO1FBQ2hCN0YsZUFBZSxhQUFmQSxlQUFlLGVBQWZBLGVBQWUsQ0FBR2EsS0FBSyxDQUFDO01BQzFCO0lBQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztFQUNULENBQUMsRUFDRCxDQUFDQyxXQUFXLEVBQUVKLGFBQWEsRUFBRWxCLGVBQWUsRUFBRXVCLFVBQVUsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVqQixlQUFlLENBQy9GLENBQUM7RUFFRCxJQUFNOEYsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzlCLElBQUksQ0FBQ3ZFLFVBQVUsRUFBRTtNQUNmYixhQUFhLENBQUN4RCxNQUFNLENBQUM2SSxxQkFBcUIsQ0FBQztNQUMzQztNQUNBLElBQUlwRyxjQUFjLEVBQUU7UUFDbEJBLGNBQWMsQ0FBQyxDQUFDO01BQ2xCO0lBQ0Y7SUFDQTZCLGFBQWEsQ0FBQyxVQUFBd0UsSUFBSTtNQUFBLE9BQUksQ0FBQ0EsSUFBSTtJQUFBLEVBQUM7RUFDOUIsQ0FBQztFQUVEMUwsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNpSCxVQUFVLElBQUksQ0FBQ08sY0FBYyxFQUFFO01BQ2xDLE9BQU9nQyxTQUFTO0lBQ2xCO0lBRUEsSUFBTW1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLEtBQWlCLEVBQUs7TUFDaEQsSUFBTUMsTUFBTSxHQUFHRCxLQUFLLENBQUNDLE1BQWM7TUFDbkMsSUFBSTVFLFVBQVUsSUFBSUcsV0FBVyxDQUFDc0MsT0FBTyxJQUFJLENBQUN0QyxXQUFXLENBQUNzQyxPQUFPLENBQUNvQyxRQUFRLENBQUNELE1BQU0sQ0FBQyxFQUFFO1FBQzlFM0UsYUFBYSxDQUFDLEtBQUssQ0FBQztNQUN0QjtNQUNBLElBQUlNLGNBQWMsSUFBSUgsYUFBYSxDQUFDcUMsT0FBTyxJQUFJLENBQUNyQyxhQUFhLENBQUNxQyxPQUFPLENBQUNvQyxRQUFRLENBQUNELE1BQU0sQ0FBQyxFQUFFO1FBQ3RGcEUsaUJBQWlCLENBQUMsS0FBSyxDQUFDO01BQzFCO0lBQ0YsQ0FBQztJQUVEdUIsUUFBUSxDQUFDbUIsZ0JBQWdCLENBQUMsV0FBVyxFQUFFd0Isa0JBQWtCLENBQUM7SUFDMUQsT0FBTyxZQUFNO01BQ1gzQyxRQUFRLENBQUNxQixtQkFBbUIsQ0FBQyxXQUFXLEVBQUVzQixrQkFBa0IsQ0FBQztJQUMvRCxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUMxRSxVQUFVLEVBQUVPLGNBQWMsQ0FBQyxDQUFDO0VBRWhDLElBQU11RSxnQkFBZ0IsR0FBRzVMLFdBQVcsQ0FDbEMsVUFBQzZMLElBQTZCLEVBQUs7SUFDakM1RixhQUFhLENBQUN4RCxNQUFNLENBQUNxSixtQkFBbUIsRUFBRTtNQUN4Q2xJLFFBQVEsRUFBRWlJLElBQUksS0FBSztJQUNyQixDQUFDLENBQUM7SUFDRjVGLGFBQWEsQ0FBQ3hELE1BQU0sQ0FBQ3NKLHVCQUF1QixFQUFFO01BQUVuRCxNQUFNLEVBQUVpRDtJQUFLLENBQUMsQ0FBQztJQUMvRGxJLGtCQUFrQixDQUFDa0ksSUFBSSxDQUFDO0lBQ3hCdkUsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0VBQzFCLENBQUMsRUFDRCxDQUFDckIsYUFBYSxFQUFFdEMsa0JBQWtCLENBQ3BDLENBQUM7RUFFRCxJQUFNcUksc0JBQXNCLEdBQUdwSiw0QkFBNEIsQ0FBQ29ELElBQUksRUFBRVMsT0FBTyxDQUFDO0VBRTFFLElBQU13RixXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQSxFQUFTO0lBQ3hCLG9CQUNFOUksS0FBQSxDQUFDN0IsY0FBYztNQUNiNEssR0FBRyxFQUFFakYsV0FBWTtNQUNqQixnQkFBYSxNQUFNO01BQ25Ca0YsT0FBTyxFQUFFN0gsTUFBTSxDQUFDOEgsTUFBTSxHQUFHZixpQkFBaUIsR0FBR2hDLFNBQVU7TUFDdkR1QixFQUFFLEVBQUMsOEJBQThCO01BQUF5QixRQUFBLGdCQUVqQ3BKLElBQUEsQ0FBQzdCLG9CQUFvQjtRQUFBaUwsUUFBQSxlQUNuQnBKLElBQUEsQ0FBQy9DLE9BQU8sRUFBQW9NLGFBQUEsQ0FBQUEsYUFBQTtVQUNOQyxLQUFLLEVBQ0g5RSxnQkFBZ0IsZ0JBQ2R0RSxLQUFBO1lBQU1xSixLQUFLLEVBQUU7Y0FBRUMsT0FBTyxFQUFFLE1BQU07Y0FBRUMsVUFBVSxFQUFFLFFBQVE7Y0FBRUMsR0FBRyxFQUFFO1lBQU0sQ0FBRTtZQUFBTixRQUFBLEdBQ2hFLENBQUFsQyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXJDLElBQUksTUFBSyxRQUFRLElBQUksRUFBQ3FDLFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVNLGlCQUFpQixJQUNoRU4sV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVXLEtBQUssZ0JBRWxCN0gsSUFBQSxDQUFDcEMsUUFBUSxJQUFFLENBQ1osRUFBRSxHQUFHLEVBQ0xzSixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRTNDLElBQUk7VUFBQSxDQUNkLENBQUMsR0FFUCxFQUVIO1VBQ0RvRixTQUFTLEVBQUU5RixVQUFVLEdBQUcsTUFBTSxHQUFHO1FBQU0sR0FDbENKLGFBQWEsSUFBSSxJQUFJLEdBQUc7VUFBRW1HLE1BQU0sRUFBRW5HO1FBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztVQUFBMkYsUUFBQSxlQUUzRHBKLElBQUEsQ0FBQzVCLHdCQUF3QjtZQUN2QjZLLEdBQUcsRUFBRWxGLFlBQWE7WUFDbEI4RixjQUFjLEVBQ1osQ0FBQyxFQUFDM0csYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRWtFLFVBQVUsS0FDM0IsQ0FBQyxFQUFDbEUsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRW1FLG1CQUFtQixLQUNwQyxDQUFDLEVBQUNuRSxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFb0UsY0FBYyxLQUMvQixDQUFDLEVBQUNwRSxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFc0UsaUJBQWlCLENBQ25DO1lBQUE0QixRQUFBLGVBRURsSixLQUFBO2NBQU1xSixLQUFLLEVBQUU7Z0JBQUVDLE9BQU8sRUFBRSxNQUFNO2dCQUFFQyxVQUFVLEVBQUUsUUFBUTtnQkFBRUMsR0FBRyxFQUFFO2NBQU0sQ0FBRTtjQUFBTixRQUFBLEdBQ2hFeEIsWUFBWSxFQUFDLEdBQUMsRUFBQ0UsYUFBYTtZQUFBLENBQ3pCO1VBQUMsQ0FDaUI7UUFBQyxFQUNwQjtNQUFDLENBQ1UsQ0FBQyxlQUN2QjlILElBQUEsQ0FBQ3pCLGtCQUFrQjtRQUFBNkssUUFBQSxlQUNqQnBKLElBQUEsQ0FBQzVDLFdBQVc7VUFBQzBNLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNDLEtBQUssRUFBQztRQUFTLENBQUU7TUFBQyxDQUNwQyxDQUFDLEVBQ3BCbkcsVUFBVSxpQkFDVDdELElBQUEsQ0FBQ3hCLG1CQUFtQjtRQUFBNEssUUFBQSxlQUNsQmxKLEtBQUEsQ0FBQ3pCLDBCQUEwQjtVQUFBMkssUUFBQSxHQUN4QjlELE1BQU0sQ0FBQzJFLDJCQUEyQixJQUFJLENBQUNsQixzQkFBc0IsaUJBQzVEL0ksSUFBQSxDQUFBSSxTQUFBO1lBQUFnSixRQUFBLEVBQ0ksWUFBTTtjQUNOLElBQU1jLFVBQVUsR0FBR3BGLGlCQUFpQixDQUFDQyxNQUFNLENBQUNKLFdBQVcsQ0FBQztjQUN4RCxJQUFJLENBQUN1RixVQUFVLENBQUNmLE1BQU0sRUFBRSxPQUFPLElBQUk7Y0FDbkMsb0JBQ0VuSixJQUFBLENBQUFJLFNBQUE7Z0JBQUFnSixRQUFBLEVBQ0djLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLFNBQVMsRUFBRUMsS0FBSztrQkFBQSxvQkFDL0JySyxJQUFBLENBQUMvQixpQkFBaUI7b0JBRWhCa0YsS0FBSyxFQUFFaUgsU0FBVTtvQkFDakJDLEtBQUssRUFBRUEsS0FBTTtvQkFDYnJDLGlCQUFpQixFQUFFQSxpQkFBa0I7b0JBQ3JDc0MsVUFBVSxFQUFFLENBQUFwSCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRXlFLEVBQUUsTUFBS3lDLFNBQVMsQ0FBQ3pDLEVBQUc7b0JBQy9DNEMsTUFBTTtvQkFDTkMsZ0JBQWdCLEVBQUV6STtrQkFBYyxZQUFBMEksTUFBQSxDQU5sQkwsU0FBUyxDQUFDekMsRUFBRSxDQU8zQixDQUFDO2dCQUFBLENBQ0g7Y0FBQyxDQUNGLENBQUM7WUFFUCxDQUFDLENBQUU7VUFBQyxDQUNKLENBQ0gsRUFDQTdDLGlCQUFpQixDQUFDNEYsSUFBSSxDQUFDLFVBQUF2SCxLQUFLO1lBQUEsT0FBSUEsS0FBSyxDQUFDMEIsSUFBSSxLQUFLLFFBQVE7VUFBQSxFQUFDLElBQ3ZEUyxNQUFNLENBQUNDLHdDQUF3QyxpQkFDN0NyRixLQUFBLENBQUFFLFNBQUE7WUFBQWdKLFFBQUEsZ0JBQ0VsSixLQUFBLENBQUN4QiwrQkFBK0I7Y0FBQTBLLFFBQUEsR0FDN0J0RyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsTUFBSSxFQUFDQyxJQUFJLENBQUM0SCxPQUFPO1lBQUEsQ0FDQyxDQUFDLGVBQ2xDM0ssSUFBQSxDQUFDbEIsY0FBYyxJQUFFLENBQUM7VUFBQSxDQUNsQixDQUNILGVBQ0hvQixLQUFBLENBQUNuQixpQkFBaUI7WUFBQzhDLE9BQU8sRUFBRUEsT0FBUTtZQUFDK0ksV0FBVyxFQUFFOUYsaUJBQWlCLENBQUNxRSxNQUFPO1lBQUNGLEdBQUcsRUFBRXZFLFNBQVU7WUFBQTBFLFFBQUEsR0FDeEZ0RSxpQkFBaUIsYUFBakJBLGlCQUFpQix1QkFBakJBLGlCQUFpQixDQUFFcUYsR0FBRyxDQUFDLFVBQUNoSCxLQUFLLEVBQUVrSCxLQUFLLEVBQUs7Y0FDeEMsSUFDRWxILEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUVpRSxVQUFVLElBQ2pCakUsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRWtFLG1CQUFtQixJQUMxQmxFLEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUVtRSxjQUFjLElBQ3JCLENBQUFuRSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTBCLElBQUksTUFBSyxPQUFPLElBQ3ZCRixXQUFXLENBQUN4QixLQUFLLENBQUMsSUFDakIsQ0FBQUEsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUUwQixJQUFJLE1BQUssUUFBUSxJQUFJLENBQUNTLE1BQU0sQ0FBQ0Msd0NBQXlDLEVBRTlFLE9BQU8sSUFBSTtjQUNiLG9CQUNFdkYsSUFBQSxDQUFDL0IsaUJBQWlCO2dCQUVoQmtGLEtBQUssRUFBRUEsS0FBTTtnQkFDYmtILEtBQUssRUFBRUEsS0FBTTtnQkFDYnJDLGlCQUFpQixFQUFFQSxpQkFBa0I7Z0JBQ3JDc0MsVUFBVSxFQUFFLENBQUFwSCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRXlFLEVBQUUsTUFBS3hFLEtBQUssQ0FBQ3dFLEVBQUc7Z0JBQzNDNkMsZ0JBQWdCLEVBQUV6SSxhQUFjO2dCQUNoQytCLGFBQWEsRUFBRUE7Y0FBYyxZQUFBMkcsTUFBQSxDQU5mdEgsS0FBSyxDQUFDd0UsRUFBRSxDQU92QixDQUFDO1lBRU4sQ0FBQyxDQUFDLEVBQ0RoRyxXQUFXLGlCQUNWM0IsSUFBQSxDQUFDaEIsb0JBQW9CO2NBQUFvSyxRQUFBLGVBQ25CcEosSUFBQSxDQUFDSCxNQUFNO2dCQUFDZ0wsSUFBSSxFQUFDO2NBQU8sQ0FBRTtZQUFDLENBQ0gsQ0FDdkI7VUFBQSxDQUNnQixDQUFDLEVBQ25CLENBQUE1RixlQUFlLGFBQWZBLGVBQWUsdUJBQWZBLGVBQWUsQ0FBRUksTUFBTSxLQUN0QkMsTUFBTSxDQUFDQyx3Q0FBd0MsSUFDL0MsQ0FBQ3BELGlCQUFpQixJQUNsQixDQUFDRSxnQkFBZ0IsaUJBQ2ZuQyxLQUFBLENBQUN2QixlQUFlO1lBQ2R1SyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO2NBQ2JwRixhQUFhLENBQUMsS0FBSyxDQUFDO2NBQ3BCZCxhQUFhLENBQUN4RCxNQUFNLENBQUNrRyxTQUFTLEVBQUU7Z0JBQUVDLE1BQU0sRUFBRTtjQUFlLENBQUMsQ0FBQztjQUMzREMsUUFBUSxDQUFDQyxhQUFhLENBQ3BCLElBQUlDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRTtnQkFDNUNDLE1BQU0sRUFBRTtrQkFDTkMsV0FBVyxFQUFFO29CQUNYQyxNQUFNLEVBQUU7c0JBQ05DLFNBQVMsRUFBRTtvQkFDYixDQUFDO29CQUNEQyxNQUFNLEVBQUU7a0JBQ1Y7Z0JBQ0Y7Y0FDRixDQUFDLENBQ0gsQ0FBQztZQUNILENBQUU7WUFBQWlELFFBQUEsZ0JBRUZwSixJQUFBLENBQUNmLHNCQUFzQjtjQUFBbUssUUFBQSxlQUNyQnBKLElBQUEsQ0FBQzFDLElBQUk7Z0JBQUMwTSxLQUFLLEVBQUMsT0FBTztnQkFBQ0YsS0FBSyxFQUFFLEVBQUc7Z0JBQUNDLE1BQU0sRUFBRTtjQUFHLENBQUU7WUFBQyxDQUN2QixDQUFDLEVBQ3hCakgsQ0FBQyxDQUFDLGFBQWEsQ0FBQztVQUFBLENBQ0YsQ0FDbEI7UUFBQSxDQUN1QjtNQUFDLENBQ1YsQ0FDdEI7SUFBQSxDQUNhLENBQUM7RUFFckIsQ0FBQztFQUVELElBQU1nSSxnQkFBZ0IsR0FBRzVILGFBQWEsYUFBYkEsYUFBYSx1QkFBYkEsYUFBYSxDQUFFNkgsa0JBQWtCO0VBQzFELElBQU1DLGlCQUFpQixHQUFHLENBQUE5SCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRTJCLElBQUksTUFBSyxRQUFRO0VBQzFELElBQU1vRyxvQkFBb0IsR0FDeEIsQ0FBQzFKLFFBQVEsSUFDVCxDQUFDRSxPQUFPLEtBQ1AsQ0FBQyxDQUFDeUIsYUFBYSxJQUFJZixpQkFBaUIsQ0FBQyxLQUNyQyxDQUFDLENBQUNtRCxNQUFNLENBQUNDLHdDQUF3QyxJQUFJLENBQUMsQ0FBQ0QsTUFBTSxDQUFDMkUsMkJBQTJCLENBQUM7RUFFN0Ysb0JBQ0UvSixLQUFBLENBQUNoQyxZQUFZO0lBQ1hnTixTQUFTLEVBQUUzSixRQUFTO0lBQ3BCNEosUUFBUSxFQUFFMUosT0FBUTtJQUNsQjJKLFVBQVUsRUFBRSxDQUFDLENBQUMvSixNQUFNLENBQUM4SCxNQUFPO0lBQzVCa0MsYUFBYSxFQUFFeEssU0FBUyxHQUFHQyxXQUFXLEdBQUdzRixTQUFVO0lBQ25Ea0YsYUFBYSxFQUFFekssU0FBUyxHQUFHRSxVQUFVLEdBQUdxRixTQUFVO0lBQ2xEbUYsV0FBVyxFQUFFMUssU0FBUyxHQUFHRyxTQUFTLEdBQUdvRixTQUFVO0lBQy9Db0YsZUFBZSxFQUFFM0ssU0FBUyxHQUFHRyxTQUFTLEdBQUdvRixTQUFVO0lBQ25EcUYsb0JBQW9CLEVBQUU1SyxTQUFTLEdBQUdHLFNBQVMsR0FBR29GLFNBQVU7SUFDeERtRCxLQUFLLEVBQUU7TUFBRW1DLE1BQU0sRUFBRTdLLFNBQVMsR0FBRyxNQUFNLEdBQUd1RixTQUFTO01BQUV1RixXQUFXLEVBQUU5SyxTQUFTLEdBQUcsY0FBYyxHQUFHdUY7SUFBVSxDQUFFO0lBQUFnRCxRQUFBLEdBRXRHNkIsb0JBQW9CLEdBQUdqQyxXQUFXLENBQUMsQ0FBQyxnQkFBR2hKLElBQUEsVUFBTSxDQUFDLGVBQy9DRSxLQUFBLENBQUM1QixvQkFBb0I7TUFBQyxnQkFBYSxNQUFNO01BQUE4SyxRQUFBLEdBQ3RDNUcsY0FBYyxpQkFDYnRDLEtBQUEsQ0FBQ1osaUJBQWlCO1FBQ2hCdUYsSUFBSSxFQUFDLFFBQVE7UUFDYnFFLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7VUFDYnhHLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBRTtRQUFBMEcsUUFBQSxnQkFFRnBKLElBQUEsQ0FBQzNDLFdBQVc7VUFBQ3lNLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNDLEtBQUssRUFBQztRQUFTLENBQUUsQ0FBQyxFQUNyRGxILENBQUMsQ0FBQyxNQUFNLENBQUM7TUFBQSxDQUNPLENBQ3BCLEVBQ0FrSSxpQkFBaUIsSUFBSUYsZ0JBQWdCLGlCQUFJOUssSUFBQSxDQUFDSixPQUFPO1FBQUNnTSxLQUFLLEVBQUVkLGdCQUFpQjtRQUFDbkssUUFBUSxFQUFFQTtNQUFTLENBQUUsQ0FBQyxFQUNqRzZFLDJCQUEyQixpQkFDMUJ4RixJQUFBLENBQUNwQix3QkFBd0I7UUFBQ2lHLElBQUksRUFBQyxRQUFRO1FBQUNxRSxPQUFPLEVBQUV6RCwwQkFBMkI7UUFBQTJELFFBQUEsZUFDMUVwSixJQUFBLENBQUNuQiw0QkFBNEI7VUFBQXVLLFFBQUEsRUFBRXRHLENBQUMsQ0FBQyxrQkFBa0I7UUFBQyxDQUErQjtNQUFDLENBQzVELENBQzNCLGVBQ0Q1QyxLQUFBLENBQUNoQix1QkFBdUI7UUFBQytKLEdBQUcsRUFBRWhGLGFBQWM7UUFBQyxnQkFBYSxNQUFNO1FBQUFtRixRQUFBLGdCQUM5RHBKLElBQUEsQ0FBQ3JDLFVBQVU7VUFDVGtPLFFBQVEsRUFBQyxzQkFBc0I7VUFDL0JDLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBLEVBQVE7WUFDakIsSUFBSSxDQUFDMUgsY0FBYyxFQUFFO2NBQ25CcEIsYUFBYSxDQUFDeEQsTUFBTSxDQUFDdU0scUJBQXFCLENBQUM7WUFDN0M7WUFDQTFILGlCQUFpQixDQUFDLFVBQUFpRSxJQUFJO2NBQUEsT0FBSSxDQUFDQSxJQUFJO1lBQUEsRUFBQztVQUNsQyxDQUFFO1VBQ0YwRCxPQUFPLEVBQUVsSixDQUFDLENBQUMsbUJBQW1CLENBQUU7VUFDaENtSixjQUFjLEVBQUU3SCxjQUFlO1VBQy9CWCxhQUFhLEVBQUVBLGFBQWM7VUFBQTJGLFFBQUEsZUFFN0JwSixJQUFBLENBQUNuQyxzQkFBc0IsSUFBRTtRQUFDLENBQ2hCLENBQUMsRUFDWnVHLGNBQWMsZ0JBQ2JsRSxLQUFBLENBQUNmLHNCQUFzQjtVQUFDK00sSUFBSSxFQUFDLE1BQU07VUFBQTlDLFFBQUEsZ0JBQ2pDbEosS0FBQSxDQUFDZCxvQkFBb0I7WUFDbkJ5RixJQUFJLEVBQUMsUUFBUTtZQUNic0gsT0FBTyxFQUFFMUwsVUFBVSxLQUFLLFNBQVU7WUFDbEN5SSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtjQUFBLE9BQVFQLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztZQUFBLENBQUM7WUFBQVMsUUFBQSxnQkFFM0NwSixJQUFBLENBQUNYLHdCQUF3QjtjQUFDLG1CQUFXO2NBQUErSixRQUFBLGVBQ25DcEosSUFBQSxDQUFDbEMseUJBQXlCLElBQUU7WUFBQyxDQUNMLENBQUMsRUFDMUJnRixDQUFDLENBQUMsZUFBZSxDQUFDO1VBQUEsQ0FDQyxDQUFDLGVBQ3ZCNUMsS0FBQSxDQUFDZCxvQkFBb0I7WUFDbkJ5RixJQUFJLEVBQUMsUUFBUTtZQUNic0gsT0FBTyxFQUFFMUwsVUFBVSxLQUFLLFlBQWE7WUFDckN5SSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtjQUFBLE9BQVFQLGdCQUFnQixDQUFDLFlBQVksQ0FBQztZQUFBLENBQUM7WUFBQVMsUUFBQSxnQkFFOUNwSixJQUFBLENBQUNYLHdCQUF3QjtjQUFDLG1CQUFXO2NBQUErSixRQUFBLGVBQ25DcEosSUFBQSxDQUFDakMsNEJBQTRCLElBQUU7WUFBQyxDQUNSLENBQUMsRUFDMUIrRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7VUFBQSxDQUNGLENBQUMsZUFDdkI1QyxLQUFBLENBQUNkLG9CQUFvQjtZQUNuQnlGLElBQUksRUFBQyxRQUFRO1lBQ2JzSCxPQUFPLEVBQUUxTCxVQUFVLEtBQUssVUFBVztZQUNuQ3lJLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUVAsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1lBQUEsQ0FBQztZQUFBUyxRQUFBLGdCQUU1Q3BKLElBQUEsQ0FBQ1gsd0JBQXdCO2NBQUMsbUJBQVc7Y0FBQStKLFFBQUEsZUFDbkNwSixJQUFBLENBQUNoQywwQkFBMEIsSUFBRTtZQUFDLENBQ04sQ0FBQyxFQUMxQjhFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztVQUFBLENBQ0EsQ0FBQztRQUFBLENBQ0QsQ0FBQyxHQUN2QixJQUFJO01BQUEsQ0FDZSxDQUFDLEVBQ3pCM0IsY0FBYyxnQkFDYm5CLElBQUEsQ0FBQ3JDLFVBQVU7UUFBQ21PLFdBQVcsRUFBRTNLLGNBQWU7UUFBQzZLLE9BQU8sRUFBRWxKLENBQUMsQ0FBQyxrQkFBa0IsQ0FBRTtRQUFDVyxhQUFhLEVBQUVBLGFBQWM7UUFBQTJGLFFBQUEsZUFDcEdwSixJQUFBLENBQUNULG1CQUFtQjtVQUFBNkosUUFBQSxlQUNsQnBKLElBQUEsQ0FBQzdDLE1BQU07WUFBQzJNLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRTtVQUFHLENBQUU7UUFBQyxDQUNkO01BQUMsQ0FDWixDQUFDLEdBQ1gsSUFBSSxlQUNSL0osSUFBQSxDQUFDckMsVUFBVTtRQUFDbU8sV0FBVyxFQUFFNUssV0FBWTtRQUFDOEssT0FBTyxFQUFFbEosQ0FBQyxDQUFDLGVBQWUsQ0FBRTtRQUFDVyxhQUFhLEVBQUVBLGFBQWM7UUFBQTJGLFFBQUEsZUFDOUZwSixJQUFBLENBQUM5QyxLQUFLLElBQUU7TUFBQyxDQUNDLENBQUM7SUFBQSxDQUNPLENBQUM7RUFBQSxDQUNYLENBQUM7QUFFbkIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==