ummaya 0.2.14 → 0.2.15

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 (564) hide show
  1. package/npm-shrinkwrap.json +2 -2
  2. package/package.json +7 -4
  3. package/pyproject.toml +2 -2
  4. package/tui/package.json +1 -1
  5. package/tui/src/buddy/CompanionSprite.tsx +1 -2
  6. package/tui/src/buddy/useBuddyNotification.tsx +1 -2
  7. package/tui/src/cli/controlAuth.ts +20 -0
  8. package/tui/src/cli/handlers/auth.ts +7 -7
  9. package/tui/src/cli/handlers/mcp.tsx +0 -1
  10. package/tui/src/cli/handlers/util.tsx +2 -3
  11. package/tui/src/cli/print.ts +7 -4
  12. package/tui/src/commands/add-dir/add-dir.tsx +1 -2
  13. package/tui/src/commands/agents/agents.tsx +1 -2
  14. package/tui/src/commands/bridge/bridge.tsx +1 -2
  15. package/tui/src/commands/btw/btw.tsx +1 -2
  16. package/tui/src/commands/config/config.tsx +1 -2
  17. package/tui/src/commands/context/context.tsx +1 -2
  18. package/tui/src/commands/copy/copy.tsx +1 -2
  19. package/tui/src/commands/desktop/desktop.tsx +1 -2
  20. package/tui/src/commands/diff/diff.tsx +1 -2
  21. package/tui/src/commands/doctor/doctor.tsx +1 -2
  22. package/tui/src/commands/effort/effort.tsx +1 -2
  23. package/tui/src/commands/exit/exit.tsx +1 -2
  24. package/tui/src/commands/export/export.tsx +1 -2
  25. package/tui/src/commands/extra-usage/extra-usage.tsx +1 -2
  26. package/tui/src/commands/fast/fast.tsx +0 -1
  27. package/tui/src/commands/feedback/feedback.tsx +1 -2
  28. package/tui/src/commands/help/help.tsx +1 -2
  29. package/tui/src/commands/hooks/hooks.tsx +1 -2
  30. package/tui/src/commands/ide/ide.tsx +0 -1
  31. package/tui/src/commands/install.tsx +0 -1
  32. package/tui/src/commands/login/login.tsx +1 -2
  33. package/tui/src/commands/logout/logout.tsx +0 -1
  34. package/tui/src/commands/mcp/mcp.tsx +1 -2
  35. package/tui/src/commands/memory/memory.tsx +0 -1
  36. package/tui/src/commands/mobile/mobile.tsx +0 -1
  37. package/tui/src/commands/model/model.tsx +0 -1
  38. package/tui/src/commands/output-style/output-style.tsx +1 -2
  39. package/tui/src/commands/passes/passes.tsx +1 -2
  40. package/tui/src/commands/permissions/permissions.tsx +1 -2
  41. package/tui/src/commands/plan/plan.tsx +1 -2
  42. package/tui/src/commands/plugin/AddMarketplace.tsx +1 -2
  43. package/tui/src/commands/plugin/BrowseMarketplace.tsx +1 -2
  44. package/tui/src/commands/plugin/DiscoverPlugins.tsx +0 -1
  45. package/tui/src/commands/plugin/ManageMarketplaces.tsx +0 -1
  46. package/tui/src/commands/plugin/ManagePlugins.tsx +1 -2
  47. package/tui/src/commands/plugin/PluginErrors.tsx +1 -2
  48. package/tui/src/commands/plugin/PluginOptionsDialog.tsx +1 -2
  49. package/tui/src/commands/plugin/PluginOptionsFlow.tsx +1 -2
  50. package/tui/src/commands/plugin/PluginSettings.tsx +1 -2
  51. package/tui/src/commands/plugin/PluginTrustWarning.tsx +0 -1
  52. package/tui/src/commands/plugin/UnifiedInstalledCell.tsx +1 -2
  53. package/tui/src/commands/plugin/ValidatePlugin.tsx +1 -2
  54. package/tui/src/commands/plugin/index.tsx +0 -1
  55. package/tui/src/commands/plugin/plugin.tsx +1 -2
  56. package/tui/src/commands/plugin/pluginDetailsHelpers.tsx +1 -2
  57. package/tui/src/commands/privacy-settings/privacy-settings.tsx +0 -1
  58. package/tui/src/commands/rate-limit-options/rate-limit-options.tsx +1 -2
  59. package/tui/src/commands/remote-env/remote-env.tsx +1 -2
  60. package/tui/src/commands/remote-setup/remote-setup.tsx +0 -1
  61. package/tui/src/commands/resume/resume.tsx +1 -2
  62. package/tui/src/commands/review/UltrareviewOverageDialog.tsx +1 -2
  63. package/tui/src/commands/review/ultrareviewCommand.tsx +0 -1
  64. package/tui/src/commands/sandbox-toggle/sandbox-toggle.tsx +1 -2
  65. package/tui/src/commands/session/session.tsx +0 -1
  66. package/tui/src/commands/skills/skills.tsx +1 -2
  67. package/tui/src/commands/stats/stats.tsx +1 -2
  68. package/tui/src/commands/status/status.tsx +1 -2
  69. package/tui/src/commands/statusline.tsx +0 -1
  70. package/tui/src/commands/tag/tag.tsx +1 -2
  71. package/tui/src/commands/tasks/tasks.tsx +1 -2
  72. package/tui/src/commands/terminalSetup/terminalSetup.tsx +1 -2
  73. package/tui/src/commands/theme/theme.tsx +1 -2
  74. package/tui/src/commands/thinkback/thinkback.tsx +0 -1
  75. package/tui/src/commands/ultraplan.tsx +0 -1
  76. package/tui/src/commands/usage/usage.tsx +1 -2
  77. package/tui/src/commands/voice/voice.ts +2 -2
  78. package/tui/src/components/AgentProgressLine.tsx +1 -2
  79. package/tui/src/components/App.tsx +1 -2
  80. package/tui/src/components/ApproveApiKey.tsx +1 -2
  81. package/tui/src/components/AutoModeOptInDialog.tsx +0 -1
  82. package/tui/src/components/AutoUpdater.tsx +1 -2
  83. package/tui/src/components/AutoUpdaterWrapper.tsx +1 -2
  84. package/tui/src/components/AwsAuthStatusBox.tsx +1 -2
  85. package/tui/src/components/BaseTextInput.tsx +0 -1
  86. package/tui/src/components/BashModeProgress.tsx +1 -2
  87. package/tui/src/components/BridgeDialog.tsx +1 -2
  88. package/tui/src/components/BypassPermissionsModeDialog.tsx +0 -1
  89. package/tui/src/components/ChannelDowngradeDialog.tsx +1 -2
  90. package/tui/src/components/ClaudeCodeHint/PluginHintMenu.tsx +1 -2
  91. package/tui/src/components/ClaudeMdExternalIncludesDialog.tsx +0 -1
  92. package/tui/src/components/ClickableImageRef.tsx +1 -2
  93. package/tui/src/components/CompactSummary.tsx +1 -2
  94. package/tui/src/components/ConfigurableShortcutHint.tsx +1 -2
  95. package/tui/src/components/ContextSuggestions.tsx +1 -2
  96. package/tui/src/components/ContextVisualization.tsx +1 -2
  97. package/tui/src/components/CoordinatorAgentStatus.tsx +1 -2
  98. package/tui/src/components/CostThresholdDialog.tsx +0 -1
  99. package/tui/src/components/CtrlOToExpand.tsx +1 -2
  100. package/tui/src/components/CustomSelect/SelectMulti.tsx +1 -2
  101. package/tui/src/components/CustomSelect/select-input-option.tsx +1 -2
  102. package/tui/src/components/CustomSelect/select-option.tsx +1 -2
  103. package/tui/src/components/CustomSelect/select.tsx +1 -2
  104. package/tui/src/components/DesktopHandoff.tsx +0 -1
  105. package/tui/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +0 -1
  106. package/tui/src/components/DevBar.tsx +1 -2
  107. package/tui/src/components/DevChannelsDialog.tsx +1 -2
  108. package/tui/src/components/DiagnosticsDisplay.tsx +1 -2
  109. package/tui/src/components/EffortCallout.tsx +1 -2
  110. package/tui/src/components/ExitFlow.tsx +1 -2
  111. package/tui/src/components/ExportDialog.tsx +1 -2
  112. package/tui/src/components/FallbackToolUseErrorMessage.tsx +0 -1
  113. package/tui/src/components/FallbackToolUseRejectedMessage.tsx +1 -2
  114. package/tui/src/components/FastIcon.tsx +1 -2
  115. package/tui/src/components/Feedback.tsx +0 -1
  116. package/tui/src/components/FeedbackSurvey/FeedbackSurvey.tsx +1 -2
  117. package/tui/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +0 -1
  118. package/tui/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +0 -1
  119. package/tui/src/components/FeedbackSurvey/useFeedbackSurvey.tsx +0 -1
  120. package/tui/src/components/FeedbackSurvey/useMemorySurvey.tsx +0 -1
  121. package/tui/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +0 -1
  122. package/tui/src/components/FeedbackSurvey/useSurveyState.tsx +1 -2
  123. package/tui/src/components/FileEditToolDiff.tsx +1 -2
  124. package/tui/src/components/FileEditToolUpdatedMessage.tsx +1 -2
  125. package/tui/src/components/FileEditToolUseRejectedMessage.tsx +1 -2
  126. package/tui/src/components/FilePathLink.tsx +1 -2
  127. package/tui/src/components/FullscreenLayout.tsx +1 -2
  128. package/tui/src/components/GlobalSearchDialog.tsx +1 -2
  129. package/tui/src/components/HelpV2/Commands.tsx +1 -2
  130. package/tui/src/components/HelpV2/General.tsx +0 -1
  131. package/tui/src/components/HelpV2/HelpV2.tsx +0 -1
  132. package/tui/src/components/HighlightedCode/Fallback.tsx +1 -2
  133. package/tui/src/components/HighlightedCode.tsx +1 -2
  134. package/tui/src/components/HistorySearchDialog.tsx +1 -2
  135. package/tui/src/components/IdeAutoConnectDialog.tsx +1 -2
  136. package/tui/src/components/IdeOnboardingDialog.tsx +0 -1
  137. package/tui/src/components/IdeStatusIndicator.tsx +1 -2
  138. package/tui/src/components/IdleReturnDialog.tsx +1 -2
  139. package/tui/src/components/InterruptedByUser.tsx +0 -1
  140. package/tui/src/components/InvalidConfigDialog.tsx +1 -2
  141. package/tui/src/components/InvalidSettingsDialog.tsx +1 -2
  142. package/tui/src/components/KeybindingWarnings.tsx +1 -2
  143. package/tui/src/components/LanguagePicker.tsx +1 -2
  144. package/tui/src/components/LogSelector.tsx +0 -1
  145. package/tui/src/components/LogoV2/AnimatedAsterisk.tsx +1 -2
  146. package/tui/src/components/LogoV2/AnimatedClawd.tsx +1 -2
  147. package/tui/src/components/LogoV2/ChannelsNotice.tsx +0 -1
  148. package/tui/src/components/LogoV2/Clawd.tsx +1 -2
  149. package/tui/src/components/LogoV2/CondensedLogo.tsx +0 -1
  150. package/tui/src/components/LogoV2/EmergencyTip.tsx +0 -1
  151. package/tui/src/components/LogoV2/Feed.tsx +1 -2
  152. package/tui/src/components/LogoV2/FeedColumn.tsx +1 -2
  153. package/tui/src/components/LogoV2/GuestPassesUpsell.tsx +0 -1
  154. package/tui/src/components/LogoV2/LogoV2.tsx +0 -1
  155. package/tui/src/components/LogoV2/Opus1mMergeNotice.tsx +1 -2
  156. package/tui/src/components/LogoV2/OverageCreditUpsell.tsx +1 -2
  157. package/tui/src/components/LogoV2/VoiceModeNotice.tsx +1 -2
  158. package/tui/src/components/LogoV2/feedConfigs.tsx +0 -1
  159. package/tui/src/components/LspRecommendation/LspRecommendationMenu.tsx +1 -2
  160. package/tui/src/components/MCPServerApprovalDialog.tsx +1 -2
  161. package/tui/src/components/MCPServerDesktopImportDialog.tsx +0 -1
  162. package/tui/src/components/MCPServerDialogCopy.tsx +0 -1
  163. package/tui/src/components/MCPServerMultiselectDialog.tsx +1 -2
  164. package/tui/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +0 -1
  165. package/tui/src/components/Markdown.tsx +1 -2
  166. package/tui/src/components/MarkdownTable.tsx +1 -2
  167. package/tui/src/components/MemoryUsageIndicator.tsx +1 -2
  168. package/tui/src/components/Message.tsx +1 -2
  169. package/tui/src/components/MessageModel.tsx +1 -2
  170. package/tui/src/components/MessageResponse.tsx +1 -2
  171. package/tui/src/components/MessageRow.tsx +1 -2
  172. package/tui/src/components/MessageSelector.tsx +1 -2
  173. package/tui/src/components/MessageTimestamp.tsx +1 -2
  174. package/tui/src/components/Messages.tsx +0 -1
  175. package/tui/src/components/ModelPicker.tsx +0 -1
  176. package/tui/src/components/NativeAutoUpdater.tsx +1 -2
  177. package/tui/src/components/NotebookEditToolUseRejectedMessage.tsx +1 -2
  178. package/tui/src/components/OffscreenFreeze.tsx +1 -2
  179. package/tui/src/components/Onboarding.tsx +2 -3
  180. package/tui/src/components/OutputStylePicker.tsx +0 -1
  181. package/tui/src/components/PackageManagerAutoUpdater.tsx +0 -1
  182. package/tui/src/components/Passes/Passes.tsx +0 -1
  183. package/tui/src/components/PrBadge.tsx +1 -2
  184. package/tui/src/components/PressEnterToContinue.tsx +1 -2
  185. package/tui/src/components/PromptInput/HistorySearchInput.tsx +1 -2
  186. package/tui/src/components/PromptInput/IssueFlagBanner.tsx +1 -2
  187. package/tui/src/components/PromptInput/Notifications.tsx +1 -2
  188. package/tui/src/components/PromptInput/PromptInput.tsx +0 -1
  189. package/tui/src/components/PromptInput/PromptInputFooter.tsx +1 -2
  190. package/tui/src/components/PromptInput/PromptInputFooterLeftSide.tsx +1 -2
  191. package/tui/src/components/PromptInput/PromptInputFooterSuggestions.tsx +1 -2
  192. package/tui/src/components/PromptInput/PromptInputHelpMenu.tsx +1 -2
  193. package/tui/src/components/PromptInput/PromptInputModeIndicator.tsx +1 -2
  194. package/tui/src/components/PromptInput/PromptInputQueuedCommands.tsx +1 -2
  195. package/tui/src/components/PromptInput/PromptInputStashNotice.tsx +1 -2
  196. package/tui/src/components/PromptInput/SandboxPromptFooterHint.tsx +1 -2
  197. package/tui/src/components/PromptInput/ShimmeredInput.tsx +1 -2
  198. package/tui/src/components/PromptInput/VoiceIndicator.tsx +1 -2
  199. package/tui/src/components/QuickOpenDialog.tsx +1 -2
  200. package/tui/src/components/RemoteCallout.tsx +0 -1
  201. package/tui/src/components/RemoteEnvironmentDialog.tsx +0 -1
  202. package/tui/src/components/ResumeTask.tsx +0 -1
  203. package/tui/src/components/SandboxViolationExpandedView.tsx +1 -2
  204. package/tui/src/components/ScrollKeybindingHandler.tsx +0 -1
  205. package/tui/src/components/SearchBox.tsx +1 -2
  206. package/tui/src/components/SessionBackgroundHint.tsx +1 -2
  207. package/tui/src/components/SessionPreview.tsx +1 -2
  208. package/tui/src/components/Settings/Config.tsx +0 -1
  209. package/tui/src/components/Settings/Settings.tsx +1 -2
  210. package/tui/src/components/Settings/Status.tsx +1 -2
  211. package/tui/src/components/Settings/Usage.tsx +1 -2
  212. package/tui/src/components/ShowInIDEPrompt.tsx +1 -2
  213. package/tui/src/components/SkillImprovementSurvey.tsx +1 -2
  214. package/tui/src/components/Spinner/FlashingChar.tsx +1 -2
  215. package/tui/src/components/Spinner/GlimmerMessage.tsx +1 -2
  216. package/tui/src/components/Spinner/ShimmerChar.tsx +1 -2
  217. package/tui/src/components/Spinner/SpinnerAnimationRow.tsx +1 -2
  218. package/tui/src/components/Spinner/SpinnerGlyph.tsx +1 -2
  219. package/tui/src/components/Spinner/TeammateSpinnerLine.tsx +1 -2
  220. package/tui/src/components/Spinner/TeammateSpinnerTree.tsx +1 -2
  221. package/tui/src/components/Spinner.tsx +0 -1
  222. package/tui/src/components/Stats.tsx +0 -1
  223. package/tui/src/components/StatusLine.tsx +1 -2
  224. package/tui/src/components/StatusNotices.tsx +1 -2
  225. package/tui/src/components/StructuredDiff/Fallback.tsx +1 -2
  226. package/tui/src/components/StructuredDiff.tsx +1 -2
  227. package/tui/src/components/StructuredDiffList.tsx +1 -2
  228. package/tui/src/components/TagTabs.tsx +1 -2
  229. package/tui/src/components/TaskListV2.tsx +1 -2
  230. package/tui/src/components/TeammateViewHeader.tsx +1 -2
  231. package/tui/src/components/TeleportError.tsx +0 -1
  232. package/tui/src/components/TeleportProgress.tsx +1 -2
  233. package/tui/src/components/TeleportRepoMismatchDialog.tsx +0 -1
  234. package/tui/src/components/TeleportStash.tsx +1 -2
  235. package/tui/src/components/TextInput.tsx +1 -2
  236. package/tui/src/components/ThemePicker.tsx +0 -1
  237. package/tui/src/components/ThinkingToggle.tsx +0 -1
  238. package/tui/src/components/TokenWarning.tsx +1 -2
  239. package/tui/src/components/ToolUseLoader.tsx +1 -2
  240. package/tui/src/components/TrustDialog/TrustDialog.tsx +0 -1
  241. package/tui/src/components/ValidationErrorsList.tsx +1 -2
  242. package/tui/src/components/VimTextInput.tsx +1 -2
  243. package/tui/src/components/VirtualMessageList.tsx +1 -2
  244. package/tui/src/components/WorktreeExitDialog.tsx +1 -2
  245. package/tui/src/components/agents/AgentDetail.tsx +0 -1
  246. package/tui/src/components/agents/AgentEditor.tsx +1 -2
  247. package/tui/src/components/agents/AgentNavigationFooter.tsx +1 -2
  248. package/tui/src/components/agents/AgentsList.tsx +0 -1
  249. package/tui/src/components/agents/AgentsMenu.tsx +1 -2
  250. package/tui/src/components/agents/ColorPicker.tsx +1 -2
  251. package/tui/src/components/agents/ModelSelector.tsx +1 -2
  252. package/tui/src/components/agents/ToolSelector.tsx +1 -2
  253. package/tui/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +1 -2
  254. package/tui/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +1 -2
  255. package/tui/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +0 -1
  256. package/tui/src/components/agents/new-agent-creation/wizard-steps/ConfirmStepWrapper.tsx +1 -2
  257. package/tui/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +0 -1
  258. package/tui/src/components/agents/new-agent-creation/wizard-steps/GenerateStep.tsx +1 -2
  259. package/tui/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +1 -2
  260. package/tui/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +1 -2
  261. package/tui/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +0 -1
  262. package/tui/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +1 -2
  263. package/tui/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +1 -2
  264. package/tui/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +1 -2
  265. package/tui/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +1 -2
  266. package/tui/src/components/design-system/Byline.tsx +1 -2
  267. package/tui/src/components/design-system/Dialog.tsx +1 -2
  268. package/tui/src/components/design-system/Divider.tsx +1 -2
  269. package/tui/src/components/design-system/FuzzyPicker.tsx +1 -2
  270. package/tui/src/components/design-system/KeyboardShortcutHint.tsx +1 -2
  271. package/tui/src/components/design-system/ListItem.tsx +1 -2
  272. package/tui/src/components/design-system/LoadingState.tsx +0 -1
  273. package/tui/src/components/design-system/Pane.tsx +1 -2
  274. package/tui/src/components/design-system/ProgressBar.tsx +1 -2
  275. package/tui/src/components/design-system/Ratchet.tsx +1 -2
  276. package/tui/src/components/design-system/StatusIcon.tsx +1 -2
  277. package/tui/src/components/design-system/Tabs.tsx +1 -2
  278. package/tui/src/components/design-system/ThemeProvider.tsx +1 -2
  279. package/tui/src/components/design-system/ThemedBox.tsx +1 -2
  280. package/tui/src/components/design-system/ThemedText.tsx +1 -2
  281. package/tui/src/components/diff/DiffDetailView.tsx +1 -2
  282. package/tui/src/components/diff/DiffDialog.tsx +1 -2
  283. package/tui/src/components/diff/DiffFileList.tsx +1 -2
  284. package/tui/src/components/grove/Grove.tsx +0 -1
  285. package/tui/src/components/hooks/HooksConfigMenu.tsx +0 -1
  286. package/tui/src/components/hooks/PromptDialog.tsx +1 -2
  287. package/tui/src/components/hooks/SelectEventMode.tsx +0 -1
  288. package/tui/src/components/hooks/SelectHookMode.tsx +0 -1
  289. package/tui/src/components/hooks/SelectMatcherMode.tsx +0 -1
  290. package/tui/src/components/hooks/ViewHookMode.tsx +0 -1
  291. package/tui/src/components/mcp/CapabilitiesSection.tsx +1 -2
  292. package/tui/src/components/mcp/ElicitationDialog.tsx +0 -1
  293. package/tui/src/components/mcp/MCPAgentServerMenu.tsx +1 -2
  294. package/tui/src/components/mcp/MCPListPanel.tsx +0 -1
  295. package/tui/src/components/mcp/MCPReconnect.tsx +1 -2
  296. package/tui/src/components/mcp/MCPRemoteServerMenu.tsx +2 -3
  297. package/tui/src/components/mcp/MCPSettings.tsx +0 -1
  298. package/tui/src/components/mcp/MCPStdioServerMenu.tsx +1 -2
  299. package/tui/src/components/mcp/MCPToolDetailView.tsx +1 -2
  300. package/tui/src/components/mcp/MCPToolListView.tsx +1 -2
  301. package/tui/src/components/mcp/McpParsingWarnings.tsx +0 -1
  302. package/tui/src/components/mcp/utils/reconnectHelpers.tsx +1 -2
  303. package/tui/src/components/memory/MemoryFileSelector.tsx +1 -2
  304. package/tui/src/components/memory/MemoryUpdateNotification.tsx +1 -2
  305. package/tui/src/components/messageActions.tsx +1 -2
  306. package/tui/src/components/messages/AdvisorMessage.tsx +1 -2
  307. package/tui/src/components/messages/AssistantRedactedThinkingMessage.tsx +1 -2
  308. package/tui/src/components/messages/AssistantThinkingMessage.tsx +1 -2
  309. package/tui/src/components/messages/AssistantToolUseMessage.tsx +0 -1
  310. package/tui/src/components/messages/AttachmentMessage.tsx +1 -2
  311. package/tui/src/components/messages/CollapsedReadSearchContent.tsx +1 -2
  312. package/tui/src/components/messages/CompactBoundaryMessage.tsx +1 -2
  313. package/tui/src/components/messages/GroupedToolUseContent.tsx +1 -2
  314. package/tui/src/components/messages/HighlightedThinkingText.tsx +1 -2
  315. package/tui/src/components/messages/HookProgressMessage.tsx +1 -2
  316. package/tui/src/components/messages/PlanApprovalMessage.tsx +1 -2
  317. package/tui/src/components/messages/RateLimitMessage.tsx +1 -2
  318. package/tui/src/components/messages/ShutdownMessage.tsx +1 -2
  319. package/tui/src/components/messages/SystemAPIErrorMessage.tsx +1 -2
  320. package/tui/src/components/messages/SystemTextMessage.tsx +1 -2
  321. package/tui/src/components/messages/TaskAssignmentMessage.tsx +1 -2
  322. package/tui/src/components/messages/UserAgentNotificationMessage.tsx +1 -2
  323. package/tui/src/components/messages/UserBashInputMessage.tsx +1 -2
  324. package/tui/src/components/messages/UserBashOutputMessage.tsx +1 -2
  325. package/tui/src/components/messages/UserChannelMessage.tsx +1 -2
  326. package/tui/src/components/messages/UserCommandMessage.tsx +1 -2
  327. package/tui/src/components/messages/UserImageMessage.tsx +1 -2
  328. package/tui/src/components/messages/UserLocalCommandOutputMessage.tsx +1 -2
  329. package/tui/src/components/messages/UserMemoryInputMessage.tsx +1 -2
  330. package/tui/src/components/messages/UserPlanMessage.tsx +1 -2
  331. package/tui/src/components/messages/UserPromptMessage.tsx +1 -2
  332. package/tui/src/components/messages/UserResourceUpdateMessage.tsx +1 -2
  333. package/tui/src/components/messages/UserTeammateMessage.tsx +1 -2
  334. package/tui/src/components/messages/UserTextMessage.tsx +1 -2
  335. package/tui/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +0 -1
  336. package/tui/src/components/messages/UserToolResultMessage/RejectedToolUseMessage.tsx +1 -2
  337. package/tui/src/components/messages/UserToolResultMessage/UserToolCanceledMessage.tsx +1 -2
  338. package/tui/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +1 -2
  339. package/tui/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +1 -2
  340. package/tui/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +1 -2
  341. package/tui/src/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx +1 -2
  342. package/tui/src/components/messages/UserToolResultMessage/utils.tsx +0 -1
  343. package/tui/src/components/messages/teamMemCollapsed.tsx +1 -2
  344. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +1 -2
  345. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +1 -2
  346. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx +1 -2
  347. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +1 -2
  348. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +1 -2
  349. package/tui/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +1 -2
  350. package/tui/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +1 -2
  351. package/tui/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +0 -1
  352. package/tui/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +0 -1
  353. package/tui/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +0 -1
  354. package/tui/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +0 -1
  355. package/tui/src/components/permissions/FallbackPermissionRequest.tsx +1 -2
  356. package/tui/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +1 -2
  357. package/tui/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +1 -2
  358. package/tui/src/components/permissions/FilePermissionDialog/permissionOptions.tsx +0 -1
  359. package/tui/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +1 -2
  360. package/tui/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +1 -2
  361. package/tui/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +1 -2
  362. package/tui/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +1 -2
  363. package/tui/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +1 -2
  364. package/tui/src/components/permissions/PermissionDecisionDebugInfo.tsx +1 -2
  365. package/tui/src/components/permissions/PermissionDialog.tsx +1 -2
  366. package/tui/src/components/permissions/PermissionExplanation.tsx +1 -2
  367. package/tui/src/components/permissions/PermissionPrompt.tsx +0 -1
  368. package/tui/src/components/permissions/PermissionRequest.tsx +0 -1
  369. package/tui/src/components/permissions/PermissionRequestTitle.tsx +1 -2
  370. package/tui/src/components/permissions/PermissionRuleExplanation.tsx +1 -2
  371. package/tui/src/components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx +1 -2
  372. package/tui/src/components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx +0 -1
  373. package/tui/src/components/permissions/SandboxPermissionRequest.tsx +0 -1
  374. package/tui/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +1 -2
  375. package/tui/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +0 -1
  376. package/tui/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +0 -1
  377. package/tui/src/components/permissions/WorkerBadge.tsx +1 -2
  378. package/tui/src/components/permissions/WorkerPendingPermission.tsx +1 -2
  379. package/tui/src/components/permissions/rules/AddPermissionRules.tsx +0 -1
  380. package/tui/src/components/permissions/rules/AddWorkspaceDirectory.tsx +0 -1
  381. package/tui/src/components/permissions/rules/PermissionRuleDescription.tsx +1 -2
  382. package/tui/src/components/permissions/rules/PermissionRuleInput.tsx +1 -2
  383. package/tui/src/components/permissions/rules/PermissionRuleList.tsx +0 -1
  384. package/tui/src/components/permissions/rules/RecentDenialsTab.tsx +1 -2
  385. package/tui/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +0 -1
  386. package/tui/src/components/permissions/rules/WorkspaceTab.tsx +1 -2
  387. package/tui/src/components/permissions/shellPermissionHelpers.tsx +1 -2
  388. package/tui/src/components/sandbox/SandboxConfigTab.tsx +1 -2
  389. package/tui/src/components/sandbox/SandboxDependenciesTab.tsx +1 -2
  390. package/tui/src/components/sandbox/SandboxDoctorSection.tsx +1 -2
  391. package/tui/src/components/sandbox/SandboxOverridesTab.tsx +0 -1
  392. package/tui/src/components/sandbox/SandboxSettings.tsx +0 -1
  393. package/tui/src/components/shell/ExpandShellOutputContext.tsx +1 -2
  394. package/tui/src/components/shell/OutputLine.tsx +1 -2
  395. package/tui/src/components/shell/ShellProgressMessage.tsx +1 -2
  396. package/tui/src/components/shell/ShellTimeDisplay.tsx +1 -2
  397. package/tui/src/components/skills/SkillsMenu.tsx +0 -1
  398. package/tui/src/components/tasks/AsyncAgentDetailDialog.tsx +1 -2
  399. package/tui/src/components/tasks/BackgroundTask.tsx +1 -2
  400. package/tui/src/components/tasks/BackgroundTaskStatus.tsx +1 -2
  401. package/tui/src/components/tasks/BackgroundTasksDialog.tsx +1 -2
  402. package/tui/src/components/tasks/DreamDetailDialog.tsx +1 -2
  403. package/tui/src/components/tasks/InProcessTeammateDetailDialog.tsx +1 -2
  404. package/tui/src/components/tasks/RemoteSessionDetailDialog.tsx +0 -1
  405. package/tui/src/components/tasks/RemoteSessionProgress.tsx +1 -2
  406. package/tui/src/components/tasks/ShellDetailDialog.tsx +1 -2
  407. package/tui/src/components/tasks/ShellProgress.tsx +1 -2
  408. package/tui/src/components/tasks/renderToolActivity.tsx +1 -2
  409. package/tui/src/components/tasks/taskStatusUtils.tsx +1 -2
  410. package/tui/src/components/teams/TeamStatus.tsx +1 -2
  411. package/tui/src/components/teams/TeamsDialog.tsx +1 -2
  412. package/tui/src/components/ui/OrderedList.tsx +1 -2
  413. package/tui/src/components/ui/OrderedListItem.tsx +1 -2
  414. package/tui/src/components/ui/TreeSelect.tsx +1 -2
  415. package/tui/src/components/wizard/WizardDialogLayout.tsx +1 -2
  416. package/tui/src/components/wizard/WizardNavigationFooter.tsx +1 -2
  417. package/tui/src/components/wizard/WizardProvider.tsx +1 -2
  418. package/tui/src/context/QueuedMessageContext.tsx +1 -2
  419. package/tui/src/context/fpsMetrics.tsx +1 -2
  420. package/tui/src/context/mailbox.tsx +1 -2
  421. package/tui/src/context/modalContext.tsx +1 -2
  422. package/tui/src/context/notifications.tsx +1 -2
  423. package/tui/src/context/overlayContext.tsx +1 -2
  424. package/tui/src/context/promptOverlayContext.tsx +1 -2
  425. package/tui/src/context/stats.tsx +1 -2
  426. package/tui/src/context/voice.tsx +1 -2
  427. package/tui/src/dialogLaunchers.tsx +0 -1
  428. package/tui/src/entrypoints/cli.tsx +0 -1
  429. package/tui/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +0 -1
  430. package/tui/src/hooks/notifs/useDeprecationWarningNotification.tsx +1 -2
  431. package/tui/src/hooks/notifs/useFastModeNotification.tsx +1 -2
  432. package/tui/src/hooks/notifs/useIDEStatusIndicator.tsx +1 -2
  433. package/tui/src/hooks/notifs/useInstallMessages.tsx +1 -2
  434. package/tui/src/hooks/notifs/useLspInitializationNotification.tsx +1 -2
  435. package/tui/src/hooks/notifs/useMcpConnectivityStatus.tsx +0 -1
  436. package/tui/src/hooks/notifs/useModelMigrationNotifications.tsx +1 -2
  437. package/tui/src/hooks/notifs/useNpmDeprecationNotification.tsx +1 -2
  438. package/tui/src/hooks/notifs/usePluginAutoupdateNotification.tsx +1 -2
  439. package/tui/src/hooks/notifs/usePluginInstallationStatus.tsx +1 -2
  440. package/tui/src/hooks/notifs/useRateLimitWarningNotification.tsx +1 -2
  441. package/tui/src/hooks/notifs/useSettingsErrors.tsx +1 -2
  442. package/tui/src/hooks/useApiKeyVerification.ts +7 -7
  443. package/tui/src/hooks/useArrowKeyHistory.tsx +1 -2
  444. package/tui/src/hooks/useCanUseTool.tsx +0 -1
  445. package/tui/src/hooks/useChromeExtensionNotification.tsx +0 -1
  446. package/tui/src/hooks/useClaudeCodeHintRecommendation.tsx +1 -2
  447. package/tui/src/hooks/useCommandKeybindings.tsx +1 -2
  448. package/tui/src/hooks/useGlobalKeybindings.tsx +1 -2
  449. package/tui/src/hooks/useIDEIntegration.tsx +1 -2
  450. package/tui/src/hooks/useLspPluginRecommendation.tsx +1 -2
  451. package/tui/src/hooks/useOfficialMarketplaceNotification.tsx +0 -1
  452. package/tui/src/hooks/usePluginRecommendationBase.tsx +1 -2
  453. package/tui/src/hooks/usePromptsFromClaudeInChrome.tsx +1 -2
  454. package/tui/src/hooks/useReplBridge.tsx +1 -2
  455. package/tui/src/hooks/useTypeahead.tsx +0 -1
  456. package/tui/src/hooks/useVoiceIntegration.tsx +1 -2
  457. package/tui/src/ink/Ansi.tsx +1 -2
  458. package/tui/src/ink/components/AlternateScreen.tsx +1 -2
  459. package/tui/src/ink/components/App.tsx +0 -1
  460. package/tui/src/ink/components/Box.tsx +1 -2
  461. package/tui/src/ink/components/Button.tsx +1 -2
  462. package/tui/src/ink/components/ClockContext.tsx +1 -2
  463. package/tui/src/ink/components/ErrorOverview.tsx +1 -2
  464. package/tui/src/ink/components/Link.tsx +1 -2
  465. package/tui/src/ink/components/Newline.tsx +1 -2
  466. package/tui/src/ink/components/NoSelect.tsx +1 -2
  467. package/tui/src/ink/components/RawAnsi.tsx +1 -2
  468. package/tui/src/ink/components/ScrollBox.tsx +1 -2
  469. package/tui/src/ink/components/Spacer.tsx +1 -2
  470. package/tui/src/ink/components/TerminalFocusContext.tsx +1 -2
  471. package/tui/src/ink/components/TerminalSizeContext.tsx +1 -2
  472. package/tui/src/ink/components/Text.tsx +1 -2
  473. package/tui/src/ink/ink.tsx +0 -1
  474. package/tui/src/interactiveHelpers.tsx +0 -1
  475. package/tui/src/keybindings/KeybindingContext.tsx +1 -2
  476. package/tui/src/keybindings/KeybindingProviderSetup.tsx +1 -2
  477. package/tui/src/main.tsx +0 -1
  478. package/tui/src/moreright/useMoreRight.tsx +1 -2
  479. package/tui/src/replLauncher.tsx +1 -2
  480. package/tui/src/screens/Doctor.tsx +0 -1
  481. package/tui/src/screens/REPL.tsx +0 -1
  482. package/tui/src/screens/ResumeConversation.tsx +0 -1
  483. package/tui/src/services/mcp/MCPConnectionManager.tsx +1 -2
  484. package/tui/src/services/mcp/claudeai.ts +1 -1
  485. package/tui/src/services/mcpServerApproval.tsx +1 -2
  486. package/tui/src/services/oauth/client.ts +15 -15
  487. package/tui/src/services/oauth/getOauthProfile.ts +2 -2
  488. package/tui/src/services/oauth/index.ts +12 -18
  489. package/tui/src/services/policyLimits/index.ts +3 -3
  490. package/tui/src/services/remoteManagedSettings/index.ts +3 -3
  491. package/tui/src/services/remoteManagedSettings/securityCheck.tsx +1 -2
  492. package/tui/src/services/remoteManagedSettings/syncCache.ts +3 -3
  493. package/tui/src/services/voiceStreamSTT.ts +2 -2
  494. package/tui/src/state/AppState.tsx +1 -2
  495. package/tui/src/tasks/InProcessTeammateTask/InProcessTeammateTask.tsx +1 -2
  496. package/tui/src/tasks/LocalAgentTask/LocalAgentTask.tsx +1 -2
  497. package/tui/src/tasks/LocalShellTask/LocalShellTask.tsx +1 -2
  498. package/tui/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +0 -1
  499. package/tui/src/tools/AgentTool/UI.tsx +1 -2
  500. package/tui/src/tools/BashTool/BashToolResultMessage.tsx +0 -1
  501. package/tui/src/tools/BashTool/UI.tsx +1 -2
  502. package/tui/src/tools/BriefTool/UI.tsx +0 -1
  503. package/tui/src/tools/ConfigTool/ConfigTool.ts +2 -2
  504. package/tui/src/tools/ConfigTool/UI.tsx +1 -2
  505. package/tui/src/tools/EnterPlanModeTool/UI.tsx +0 -1
  506. package/tui/src/tools/EnterWorktreeTool/UI.tsx +1 -2
  507. package/tui/src/tools/ExitPlanModeTool/UI.tsx +0 -1
  508. package/tui/src/tools/ExitWorktreeTool/UI.tsx +1 -2
  509. package/tui/src/tools/FileEditTool/UI.tsx +1 -2
  510. package/tui/src/tools/FileReadTool/UI.tsx +1 -2
  511. package/tui/src/tools/FileWriteTool/UI.tsx +1 -2
  512. package/tui/src/tools/GlobTool/UI.tsx +1 -2
  513. package/tui/src/tools/GrepTool/UI.tsx +1 -2
  514. package/tui/src/tools/LSPTool/UI.tsx +1 -2
  515. package/tui/src/tools/ListMcpResourcesTool/UI.tsx +1 -2
  516. package/tui/src/tools/MCPTool/UI.tsx +1 -2
  517. package/tui/src/tools/NotebookEditTool/UI.tsx +1 -2
  518. package/tui/src/tools/PowerShellTool/UI.tsx +0 -1
  519. package/tui/src/tools/ReadMcpResourceTool/UI.tsx +1 -2
  520. package/tui/src/tools/RemoteTriggerTool/UI.tsx +1 -2
  521. package/tui/src/tools/ScheduleCronTool/UI.tsx +1 -2
  522. package/tui/src/tools/SendMessageTool/UI.tsx +1 -2
  523. package/tui/src/tools/SkillTool/UI.tsx +1 -2
  524. package/tui/src/tools/TaskStopTool/UI.tsx +1 -2
  525. package/tui/src/tools/TeamCreateTool/UI.tsx +1 -2
  526. package/tui/src/tools/TeamDeleteTool/UI.tsx +1 -2
  527. package/tui/src/tools/WebFetchTool/UI.tsx +1 -2
  528. package/tui/src/tools/testing/TestingPermissionTool.tsx +1 -2
  529. package/tui/src/utils/auth.ts +6 -12
  530. package/tui/src/utils/autoRunIssue.tsx +1 -2
  531. package/tui/src/utils/billing.ts +2 -2
  532. package/tui/src/utils/computerUse/toolRendering.tsx +1 -2
  533. package/tui/src/utils/computerUse/wrapper.tsx +0 -1
  534. package/tui/src/utils/exportRenderer.tsx +1 -2
  535. package/tui/src/utils/fastMode.ts +2 -2
  536. package/tui/src/utils/highlightMatch.tsx +1 -2
  537. package/tui/src/utils/http.ts +2 -2
  538. package/tui/src/utils/managedEnv.ts +1 -1
  539. package/tui/src/utils/messages/systemInit.ts +2 -2
  540. package/tui/src/utils/plugins/performStartupChecks.tsx +1 -2
  541. package/tui/src/utils/preflightChecks.tsx +0 -1
  542. package/tui/src/utils/processUserInput/processBashCommand.tsx +1 -2
  543. package/tui/src/utils/processUserInput/processSlashCommand.tsx +0 -1
  544. package/tui/src/utils/staticRender.tsx +1 -2
  545. package/tui/src/utils/status.tsx +1 -2
  546. package/tui/src/utils/statusNoticeDefinitions.tsx +5 -6
  547. package/tui/src/utils/swarm/It2SetupPrompt.tsx +1 -2
  548. package/tui/src/utils/teleport.tsx +0 -1
  549. package/tui/src/voice/voiceModeEnabled.ts +3 -3
  550. package/uv.lock +1 -1
  551. package/src/ummaya/llm/_cc_reference/README.md +0 -104
  552. package/src/ummaya/llm/_cc_reference/api.ts +0 -721
  553. package/src/ummaya/llm/_cc_reference/claude.ts +0 -3422
  554. package/src/ummaya/llm/_cc_reference/client.ts +0 -392
  555. package/src/ummaya/llm/_cc_reference/emptyUsage.ts +0 -25
  556. package/src/ummaya/llm/_cc_reference/errors.ts +0 -1210
  557. package/src/ummaya/llm/_cc_reference/messages.ts +0 -5515
  558. package/src/ummaya/llm/_cc_reference/permissions.ts +0 -1489
  559. package/src/ummaya/llm/_cc_reference/prompts.ts +0 -917
  560. package/src/ummaya/llm/_cc_reference/query.ts +0 -1732
  561. package/src/ummaya/llm/_cc_reference/toolExecution.ts +0 -1748
  562. package/src/ummaya/llm/_cc_reference/toolOrchestration.ts +0 -191
  563. package/src/ummaya/llm/_cc_reference/toolResultStorage.ts +0 -1043
  564. package/src/ummaya/llm/_cc_reference/tools.ts +0 -392
@@ -648,5 +648,4 @@ function _temp2(i_0) {
648
648
  }
649
649
  function _temp(i) {
650
650
  return i.type === "leader";
651
- }
652
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZWF0dXJlIiwiZmlndXJlcyIsIlJlYWN0IiwiUmVhY3ROb2RlIiwidXNlRWZmZWN0IiwidXNlRWZmZWN0RXZlbnQiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJpc0Nvb3JkaW5hdG9yTW9kZSIsInVzZVRlcm1pbmFsU2l6ZSIsInVzZUFwcFN0YXRlIiwidXNlU2V0QXBwU3RhdGUiLCJlbnRlclRlYW1tYXRlVmlldyIsImV4aXRUZWFtbWF0ZVZpZXciLCJUb29sVXNlQ29udGV4dCIsIkRyZWFtVGFzayIsIkRyZWFtVGFza1N0YXRlIiwiSW5Qcm9jZXNzVGVhbW1hdGVUYXNrIiwiSW5Qcm9jZXNzVGVhbW1hdGVUYXNrU3RhdGUiLCJMb2NhbEFnZW50VGFza1N0YXRlIiwiTG9jYWxBZ2VudFRhc2siLCJMb2NhbFNoZWxsVGFza1N0YXRlIiwiTG9jYWxTaGVsbFRhc2siLCJMb2NhbFdvcmtmbG93VGFza1N0YXRlIiwiTW9uaXRvck1jcFRhc2tTdGF0ZSIsIlJlbW90ZUFnZW50VGFzayIsIlJlbW90ZUFnZW50VGFza1N0YXRlIiwiQmFja2dyb3VuZFRhc2tTdGF0ZSIsImlzQmFja2dyb3VuZFRhc2siLCJUYXNrU3RhdGUiLCJEZWVwSW1tdXRhYmxlIiwiaW50ZXJzcGVyc2UiLCJURUFNX0xFQURfTkFNRSIsInN0b3BVbHRyYXBsYW4iLCJDb21tYW5kUmVzdWx0RGlzcGxheSIsInVzZVJlZ2lzdGVyT3ZlcmxheSIsIkV4aXRTdGF0ZSIsIktleWJvYXJkRXZlbnQiLCJCb3giLCJUZXh0IiwidXNlS2V5YmluZGluZ3MiLCJ1c2VTaG9ydGN1dERpc3BsYXkiLCJjb3VudCIsIkJ5bGluZSIsIkRpYWxvZyIsIktleWJvYXJkU2hvcnRjdXRIaW50IiwiQXN5bmNBZ2VudERldGFpbERpYWxvZyIsIkJhY2tncm91bmRUYXNrIiwiQmFja2dyb3VuZFRhc2tDb21wb25lbnQiLCJEcmVhbURldGFpbERpYWxvZyIsIkluUHJvY2Vzc1RlYW1tYXRlRGV0YWlsRGlhbG9nIiwiUmVtb3RlU2Vzc2lvbkRldGFpbERpYWxvZyIsIlNoZWxsRGV0YWlsRGlhbG9nIiwiVmlld1N0YXRlIiwibW9kZSIsIml0ZW1JZCIsIlByb3BzIiwib25Eb25lIiwicmVzdWx0Iiwib3B0aW9ucyIsImRpc3BsYXkiLCJ0b29sVXNlQ29udGV4dCIsImluaXRpYWxEZXRhaWxUYXNrSWQiLCJMaXN0SXRlbSIsImlkIiwidHlwZSIsImxhYmVsIiwic3RhdHVzIiwidGFzayIsIldvcmtmbG93RGV0YWlsRGlhbG9nIiwicmVxdWlyZSIsIndvcmtmbG93VGFza01vZHVsZSIsImtpbGxXb3JrZmxvd1Rhc2siLCJza2lwV29ya2Zsb3dBZ2VudCIsInJldHJ5V29ya2Zsb3dBZ2VudCIsIm1vbml0b3JNY3BNb2R1bGUiLCJraWxsTW9uaXRvck1jcCIsIk1vbml0b3JNY3BEZXRhaWxEaWFsb2ciLCJnZXRTZWxlY3RhYmxlQmFja2dyb3VuZFRhc2tzIiwidGFza3MiLCJSZWNvcmQiLCJmb3JlZ3JvdW5kZWRUYXNrSWQiLCJiYWNrZ3JvdW5kVGFza3MiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJCYWNrZ3JvdW5kVGFza3NEaWFsb2ciLCJzIiwic2hvd1NwaW5uZXJUcmVlIiwiZXhwYW5kZWRWaWV3Iiwic2V0QXBwU3RhdGUiLCJraWxsQWdlbnRzU2hvcnRjdXQiLCJ0eXBlZFRhc2tzIiwic2tpcHBlZExpc3RPbk1vdW50Iiwidmlld1N0YXRlIiwic2V0Vmlld1N0YXRlIiwiY3VycmVudCIsImFsbEl0ZW1zIiwibGVuZ3RoIiwic2VsZWN0ZWRJbmRleCIsInNldFNlbGVjdGVkSW5kZXgiLCJiYXNoVGFza3MiLCJyZW1vdGVTZXNzaW9ucyIsImFnZW50VGFza3MiLCJ0ZWFtbWF0ZVRhc2tzIiwid29ya2Zsb3dUYXNrcyIsIm1jcE1vbml0b3JzIiwiZHJlYW1UYXNrcyIsImFsbFNlbGVjdGFibGVJdGVtcyIsIm1hcCIsInRvTGlzdEl0ZW0iLCJzb3J0ZWQiLCJzb3J0IiwiYSIsImIiLCJhU3RhdHVzIiwiYlN0YXR1cyIsImFUaW1lIiwic3RhcnRUaW1lIiwiYlRpbWUiLCJiYXNoIiwiaXRlbSIsInJlbW90ZSIsImFnZW50Iiwid29ya2Zsb3dzIiwibW9uaXRvck1jcCIsInRlYW1tYXRlcyIsImxlYWRlckl0ZW0iLCJjdXJyZW50U2VsZWN0aW9uIiwiY29uZmlybTpwcmV2aW91cyIsInByZXYiLCJNYXRoIiwibWF4IiwiY29uZmlybTpuZXh0IiwibWluIiwiY29uZmlybTp5ZXMiLCJjb250ZXh0IiwiaXNBY3RpdmUiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInByZXZlbnREZWZhdWx0Iiwia2lsbFNoZWxsVGFzayIsImtpbGxBZ2VudFRhc2siLCJraWxsVGVhbW1hdGVUYXNrIiwia2lsbERyZWFtVGFzayIsImlzVWx0cmFwbGFuIiwic2Vzc2lvbklkIiwia2lsbFJlbW90ZUFnZW50VGFzayIsInRhc2tJZCIsIlByb21pc2UiLCJraWxsIiwib25Eb25lRXZlbnQiLCJ0b3RhbEl0ZW1zIiwiZ29CYWNrVG9MaXN0IiwidW5kZWZpbmVkIiwiYWdlbnRJZCIsInJ1bm5pbmdCYXNoQ291bnQiLCJfIiwicnVubmluZ0FnZW50Q291bnQiLCJydW5uaW5nVGVhbW1hdGVDb3VudCIsInN1YnRpdGxlIiwiaW5kZXgiLCJhY3Rpb25zIiwic29tZSIsInQiLCJoYW5kbGVDYW5jZWwiLCJyZW5kZXJJbnB1dEd1aWRlIiwiZXhpdFN0YXRlIiwicGVuZGluZyIsImtleU5hbWUiLCJpIiwia2luZCIsImRlc2NyaXB0aW9uIiwiY29tbWFuZCIsInRpdGxlIiwiaWRlbnRpdHkiLCJhZ2VudE5hbWUiLCJzdW1tYXJ5IiwiSXRlbSIsInQwIiwiJCIsIl9jIiwiaXNTZWxlY3RlZCIsImNvbHVtbnMiLCJtYXhBY3Rpdml0eVdpZHRoIiwidDEiLCJTeW1ib2wiLCJmb3IiLCJ1c2VHcmV5UG9pbnRlciIsInQyIiwidDMiLCJwb2ludGVyIiwidDQiLCJ0NSIsInQ2IiwidDciLCJ0OCIsIlRlYW1tYXRlVGFza0dyb3VwcyIsImN1cnJlbnRTZWxlY3Rpb25JZCIsImxlYWRlckl0ZW1zIiwiX3RlbXAiLCJ0ZWFtbWF0ZUl0ZW1zIiwiX3RlbXAyIiwidGVhbXMiLCJNYXAiLCJ0ZWFtTmFtZSIsImdyb3VwIiwiZ2V0IiwicHVzaCIsInNldCIsInRlYW1FbnRyaWVzIiwiZW50cmllcyIsInRlYW1OYW1lXzAiLCJpdGVtcyIsIm1lbWJlckNvdW50IiwiaXRlbV8wIiwiaXRlbV8xIiwiaV8wIl0sInNvdXJjZXMiOlsiQmFja2dyb3VuZFRhc2tzRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZWF0dXJlIH0gZnJvbSAnYnVuOmJ1bmRsZSdcbmltcG9ydCBmaWd1cmVzIGZyb20gJ2ZpZ3VyZXMnXG5pbXBvcnQgUmVhY3QsIHtcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlRWZmZWN0RXZlbnQsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgaXNDb29yZGluYXRvck1vZGUgfSBmcm9tICdzcmMvY29vcmRpbmF0b3IvY29vcmRpbmF0b3JNb2RlLmpzJ1xuaW1wb3J0IHsgdXNlVGVybWluYWxTaXplIH0gZnJvbSAnc3JjL2hvb2tzL3VzZVRlcm1pbmFsU2l6ZS5qcydcbmltcG9ydCB7IHVzZUFwcFN0YXRlLCB1c2VTZXRBcHBTdGF0ZSB9IGZyb20gJ3NyYy9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB7XG4gIGVudGVyVGVhbW1hdGVWaWV3LFxuICBleGl0VGVhbW1hdGVWaWV3LFxufSBmcm9tICdzcmMvc3RhdGUvdGVhbW1hdGVWaWV3SGVscGVycy5qcydcbmltcG9ydCB0eXBlIHsgVG9vbFVzZUNvbnRleHQgfSBmcm9tICdzcmMvVG9vbC5qcydcbmltcG9ydCB7XG4gIERyZWFtVGFzayxcbiAgdHlwZSBEcmVhbVRhc2tTdGF0ZSxcbn0gZnJvbSAnc3JjL3Rhc2tzL0RyZWFtVGFzay9EcmVhbVRhc2suanMnXG5pbXBvcnQgeyBJblByb2Nlc3NUZWFtbWF0ZVRhc2sgfSBmcm9tICdzcmMvdGFza3MvSW5Qcm9jZXNzVGVhbW1hdGVUYXNrL0luUHJvY2Vzc1RlYW1tYXRlVGFzay5qcydcbmltcG9ydCB0eXBlIHsgSW5Qcm9jZXNzVGVhbW1hdGVUYXNrU3RhdGUgfSBmcm9tICdzcmMvdGFza3MvSW5Qcm9jZXNzVGVhbW1hdGVUYXNrL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBMb2NhbEFnZW50VGFza1N0YXRlIH0gZnJvbSAnc3JjL3Rhc2tzL0xvY2FsQWdlbnRUYXNrL0xvY2FsQWdlbnRUYXNrLmpzJ1xuaW1wb3J0IHsgTG9jYWxBZ2VudFRhc2sgfSBmcm9tICdzcmMvdGFza3MvTG9jYWxBZ2VudFRhc2svTG9jYWxBZ2VudFRhc2suanMnXG5pbXBvcnQgdHlwZSB7IExvY2FsU2hlbGxUYXNrU3RhdGUgfSBmcm9tICdzcmMvdGFza3MvTG9jYWxTaGVsbFRhc2svZ3VhcmRzLmpzJ1xuaW1wb3J0IHsgTG9jYWxTaGVsbFRhc2sgfSBmcm9tICdzcmMvdGFza3MvTG9jYWxTaGVsbFRhc2svTG9jYWxTaGVsbFRhc2suanMnXG4vLyBUeXBlIGltcG9ydCBpcyBlcmFzZWQgYXQgYnVpbGQgdGltZSDigJQgc2FmZSBldmVuIHRob3VnaCBtb2R1bGUgaXMgYW50LWdhdGVkLlxuaW1wb3J0IHR5cGUgeyBMb2NhbFdvcmtmbG93VGFza1N0YXRlIH0gZnJvbSAnc3JjL3Rhc2tzL0xvY2FsV29ya2Zsb3dUYXNrL0xvY2FsV29ya2Zsb3dUYXNrLmpzJ1xuaW1wb3J0IHR5cGUgeyBNb25pdG9yTWNwVGFza1N0YXRlIH0gZnJvbSAnc3JjL3Rhc2tzL01vbml0b3JNY3BUYXNrL01vbml0b3JNY3BUYXNrLmpzJ1xuaW1wb3J0IHtcbiAgUmVtb3RlQWdlbnRUYXNrLFxuICB0eXBlIFJlbW90ZUFnZW50VGFza1N0YXRlLFxufSBmcm9tICdzcmMvdGFza3MvUmVtb3RlQWdlbnRUYXNrL1JlbW90ZUFnZW50VGFzay5qcydcbmltcG9ydCB7XG4gIHR5cGUgQmFja2dyb3VuZFRhc2tTdGF0ZSxcbiAgaXNCYWNrZ3JvdW5kVGFzayxcbiAgdHlwZSBUYXNrU3RhdGUsXG59IGZyb20gJ3NyYy90YXNrcy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRGVlcEltbXV0YWJsZSB9IGZyb20gJ3NyYy90eXBlcy91dGlscy5qcydcbmltcG9ydCB7IGludGVyc3BlcnNlIH0gZnJvbSAnc3JjL3V0aWxzL2FycmF5LmpzJ1xuaW1wb3J0IHsgVEVBTV9MRUFEX05BTUUgfSBmcm9tICdzcmMvdXRpbHMvc3dhcm0vY29uc3RhbnRzLmpzJ1xuaW1wb3J0IHsgc3RvcFVsdHJhcGxhbiB9IGZyb20gJy4uLy4uL2NvbW1hbmRzL3VsdHJhcGxhbi5qcydcbmltcG9ydCB0eXBlIHsgQ29tbWFuZFJlc3VsdERpc3BsYXkgfSBmcm9tICcuLi8uLi9jb21tYW5kcy5qcydcbmltcG9ydCB7IHVzZVJlZ2lzdGVyT3ZlcmxheSB9IGZyb20gJy4uLy4uL2NvbnRleHQvb3ZlcmxheUNvbnRleHQuanMnXG5pbXBvcnQgdHlwZSB7IEV4aXRTdGF0ZSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncy5qcydcbmltcG9ydCB0eXBlIHsgS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uLy4uL2luay9ldmVudHMva2V5Ym9hcmQtZXZlbnQuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5ncyB9IGZyb20gJy4uLy4uL2tleWJpbmRpbmdzL3VzZUtleWJpbmRpbmcuanMnXG5pbXBvcnQgeyB1c2VTaG9ydGN1dERpc3BsYXkgfSBmcm9tICcuLi8uLi9rZXliaW5kaW5ncy91c2VTaG9ydGN1dERpc3BsYXkuanMnXG5pbXBvcnQgeyBjb3VudCB9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5LmpzJ1xuaW1wb3J0IHsgQnlsaW5lIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9CeWxpbmUuanMnXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0RpYWxvZy5qcydcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRIaW50IH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9LZXlib2FyZFNob3J0Y3V0SGludC5qcydcbmltcG9ydCB7IEFzeW5jQWdlbnREZXRhaWxEaWFsb2cgfSBmcm9tICcuL0FzeW5jQWdlbnREZXRhaWxEaWFsb2cuanMnXG5pbXBvcnQgeyBCYWNrZ3JvdW5kVGFzayBhcyBCYWNrZ3JvdW5kVGFza0NvbXBvbmVudCB9IGZyb20gJy4vQmFja2dyb3VuZFRhc2suanMnXG5pbXBvcnQgeyBEcmVhbURldGFpbERpYWxvZyB9IGZyb20gJy4vRHJlYW1EZXRhaWxEaWFsb2cuanMnXG5pbXBvcnQgeyBJblByb2Nlc3NUZWFtbWF0ZURldGFpbERpYWxvZyB9IGZyb20gJy4vSW5Qcm9jZXNzVGVhbW1hdGVEZXRhaWxEaWFsb2cuanMnXG5pbXBvcnQgeyBSZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nIH0gZnJvbSAnLi9SZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nLmpzJ1xuaW1wb3J0IHsgU2hlbGxEZXRhaWxEaWFsb2cgfSBmcm9tICcuL1NoZWxsRGV0YWlsRGlhbG9nLmpzJ1xuXG50eXBlIFZpZXdTdGF0ZSA9IHsgbW9kZTogJ2xpc3QnIH0gfCB7IG1vZGU6ICdkZXRhaWwnOyBpdGVtSWQ6IHN0cmluZyB9XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG9uRG9uZTogKFxuICAgIHJlc3VsdD86IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyBkaXNwbGF5PzogQ29tbWFuZFJlc3VsdERpc3BsYXkgfSxcbiAgKSA9PiB2b2lkXG4gIHRvb2xVc2VDb250ZXh0OiBUb29sVXNlQ29udGV4dFxuICBpbml0aWFsRGV0YWlsVGFza0lkPzogc3RyaW5nXG59XG5cbnR5cGUgTGlzdEl0ZW0gPVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmdcbiAgICAgIHR5cGU6ICdsb2NhbF9iYXNoJ1xuICAgICAgbGFiZWw6IHN0cmluZ1xuICAgICAgc3RhdHVzOiBzdHJpbmdcbiAgICAgIHRhc2s6IERlZXBJbW11dGFibGU8TG9jYWxTaGVsbFRhc2tTdGF0ZT5cbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZ1xuICAgICAgdHlwZTogJ3JlbW90ZV9hZ2VudCdcbiAgICAgIGxhYmVsOiBzdHJpbmdcbiAgICAgIHN0YXR1czogc3RyaW5nXG4gICAgICB0YXNrOiBEZWVwSW1tdXRhYmxlPFJlbW90ZUFnZW50VGFza1N0YXRlPlxuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nXG4gICAgICB0eXBlOiAnbG9jYWxfYWdlbnQnXG4gICAgICBsYWJlbDogc3RyaW5nXG4gICAgICBzdGF0dXM6IHN0cmluZ1xuICAgICAgdGFzazogRGVlcEltbXV0YWJsZTxMb2NhbEFnZW50VGFza1N0YXRlPlxuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nXG4gICAgICB0eXBlOiAnaW5fcHJvY2Vzc190ZWFtbWF0ZSdcbiAgICAgIGxhYmVsOiBzdHJpbmdcbiAgICAgIHN0YXR1czogc3RyaW5nXG4gICAgICB0YXNrOiBEZWVwSW1tdXRhYmxlPEluUHJvY2Vzc1RlYW1tYXRlVGFza1N0YXRlPlxuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nXG4gICAgICB0eXBlOiAnbG9jYWxfd29ya2Zsb3cnXG4gICAgICBsYWJlbDogc3RyaW5nXG4gICAgICBzdGF0dXM6IHN0cmluZ1xuICAgICAgdGFzazogRGVlcEltbXV0YWJsZTxMb2NhbFdvcmtmbG93VGFza1N0YXRlPlxuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nXG4gICAgICB0eXBlOiAnbW9uaXRvcl9tY3AnXG4gICAgICBsYWJlbDogc3RyaW5nXG4gICAgICBzdGF0dXM6IHN0cmluZ1xuICAgICAgdGFzazogRGVlcEltbXV0YWJsZTxNb25pdG9yTWNwVGFza1N0YXRlPlxuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nXG4gICAgICB0eXBlOiAnZHJlYW0nXG4gICAgICBsYWJlbDogc3RyaW5nXG4gICAgICBzdGF0dXM6IHN0cmluZ1xuICAgICAgdGFzazogRGVlcEltbXV0YWJsZTxEcmVhbVRhc2tTdGF0ZT5cbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZ1xuICAgICAgdHlwZTogJ2xlYWRlcidcbiAgICAgIGxhYmVsOiBzdHJpbmdcbiAgICAgIHN0YXR1czogJ3J1bm5pbmcnXG4gICAgfVxuXG4vLyBXT1JLRkxPV19TQ1JJUFRTIGlzIGFudC1vbmx5IChidWlsZF9mbGFncy55YW1sKS4gU3RhdGljIGltcG9ydHMgd291bGQgbGVha1xuLy8gfjEuM0sgbGluZXMgaW50byBleHRlcm5hbCBidWlsZHMuIEdhdGUgd2l0aCBmZWF0dXJlKCkgKyByZXF1aXJlIHNvIHRoZVxuLy8gYnVuZGxlciBjYW4gZGVhZC1jb2RlLWVsaW1pbmF0ZSB0aGUgYnJhbmNoLlxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuY29uc3QgV29ya2Zsb3dEZXRhaWxEaWFsb2cgPSBmZWF0dXJlKCdXT1JLRkxPV19TQ1JJUFRTJylcbiAgPyAoXG4gICAgICByZXF1aXJlKCcuL1dvcmtmbG93RGV0YWlsRGlhbG9nLmpzJykgYXMgdHlwZW9mIGltcG9ydCgnLi9Xb3JrZmxvd0RldGFpbERpYWxvZy5qcycpXG4gICAgKS5Xb3JrZmxvd0RldGFpbERpYWxvZ1xuICA6IG51bGxcbmNvbnN0IHdvcmtmbG93VGFza01vZHVsZSA9IGZlYXR1cmUoJ1dPUktGTE9XX1NDUklQVFMnKVxuICA/IChyZXF1aXJlKCdzcmMvdGFza3MvTG9jYWxXb3JrZmxvd1Rhc2svTG9jYWxXb3JrZmxvd1Rhc2suanMnKSBhcyB0eXBlb2YgaW1wb3J0KCdzcmMvdGFza3MvTG9jYWxXb3JrZmxvd1Rhc2svTG9jYWxXb3JrZmxvd1Rhc2suanMnKSlcbiAgOiBudWxsXG5jb25zdCBraWxsV29ya2Zsb3dUYXNrID0gd29ya2Zsb3dUYXNrTW9kdWxlPy5raWxsV29ya2Zsb3dUYXNrID8/IG51bGxcbmNvbnN0IHNraXBXb3JrZmxvd0FnZW50ID0gd29ya2Zsb3dUYXNrTW9kdWxlPy5za2lwV29ya2Zsb3dBZ2VudCA/PyBudWxsXG5jb25zdCByZXRyeVdvcmtmbG93QWdlbnQgPSB3b3JrZmxvd1Rhc2tNb2R1bGU/LnJldHJ5V29ya2Zsb3dBZ2VudCA/PyBudWxsXG4vLyBSZWxhdGl2ZSBwYXRoLCBub3QgYHNyYy8uLi5gIHBhdGgtbWFwcGluZyDigJQgQnVuJ3MgRENFIGNhbiBzdGF0aWNhbGx5XG4vLyByZXNvbHZlICsgZWxpbWluYXRlIGAuL2AgcmVxdWlyZXMsIGJ1dCBwYXRoLW1hcHBlZCBzdHJpbmdzIHN0YXkgb3BhcXVlXG4vLyBhbmQgc3Vydml2ZSBhcyBkZWFkIGxpdGVyYWxzIGluIHRoZSBidW5kbGUuIE1hdGNoZXMgdGFza3MudHMgcGF0dGVybi5cbmNvbnN0IG1vbml0b3JNY3BNb2R1bGUgPSBmZWF0dXJlKCdNT05JVE9SX1RPT0wnKVxuICA/IChyZXF1aXJlKCcuLi8uLi90YXNrcy9Nb25pdG9yTWNwVGFzay9Nb25pdG9yTWNwVGFzay5qcycpIGFzIHR5cGVvZiBpbXBvcnQoJy4uLy4uL3Rhc2tzL01vbml0b3JNY3BUYXNrL01vbml0b3JNY3BUYXNrLmpzJykpXG4gIDogbnVsbFxuY29uc3Qga2lsbE1vbml0b3JNY3AgPSBtb25pdG9yTWNwTW9kdWxlPy5raWxsTW9uaXRvck1jcCA/PyBudWxsXG5jb25zdCBNb25pdG9yTWNwRGV0YWlsRGlhbG9nID0gZmVhdHVyZSgnTU9OSVRPUl9UT09MJylcbiAgPyAoXG4gICAgICByZXF1aXJlKCcuL01vbml0b3JNY3BEZXRhaWxEaWFsb2cuanMnKSBhcyB0eXBlb2YgaW1wb3J0KCcuL01vbml0b3JNY3BEZXRhaWxEaWFsb2cuanMnKVxuICAgICkuTW9uaXRvck1jcERldGFpbERpYWxvZ1xuICA6IG51bGxcbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuXG4vLyBIZWxwZXIgdG8gZ2V0IGZpbHRlcmVkIGJhY2tncm91bmQgdGFza3MgKGV4Y2x1ZGVzIGZvcmVncm91bmRlZCBsb2NhbF9hZ2VudClcbmZ1bmN0aW9uIGdldFNlbGVjdGFibGVCYWNrZ3JvdW5kVGFza3MoXG4gIHRhc2tzOiBSZWNvcmQ8c3RyaW5nLCBUYXNrU3RhdGU+IHwgdW5kZWZpbmVkLFxuICBmb3JlZ3JvdW5kZWRUYXNrSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbik6IFRhc2tTdGF0ZVtdIHtcbiAgY29uc3QgYmFja2dyb3VuZFRhc2tzID0gT2JqZWN0LnZhbHVlcyh0YXNrcyA/PyB7fSkuZmlsdGVyKGlzQmFja2dyb3VuZFRhc2spXG4gIHJldHVybiBiYWNrZ3JvdW5kVGFza3MuZmlsdGVyKFxuICAgIHRhc2sgPT4gISh0YXNrLnR5cGUgPT09ICdsb2NhbF9hZ2VudCcgJiYgdGFzay5pZCA9PT0gZm9yZWdyb3VuZGVkVGFza0lkKSxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmFja2dyb3VuZFRhc2tzRGlhbG9nKHtcbiAgb25Eb25lLFxuICB0b29sVXNlQ29udGV4dCxcbiAgaW5pdGlhbERldGFpbFRhc2tJZCxcbn06IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgdGFza3MgPSB1c2VBcHBTdGF0ZShzID0+IHMudGFza3MpXG4gIGNvbnN0IGZvcmVncm91bmRlZFRhc2tJZCA9IHVzZUFwcFN0YXRlKHMgPT4gcy5mb3JlZ3JvdW5kZWRUYXNrSWQpXG4gIGNvbnN0IHNob3dTcGlubmVyVHJlZSA9IHVzZUFwcFN0YXRlKHMgPT4gcy5leHBhbmRlZFZpZXcpID09PSAndGVhbW1hdGVzJ1xuICBjb25zdCBzZXRBcHBTdGF0ZSA9IHVzZVNldEFwcFN0YXRlKClcbiAgY29uc3Qga2lsbEFnZW50c1Nob3J0Y3V0ID0gdXNlU2hvcnRjdXREaXNwbGF5KFxuICAgICdjaGF0OmtpbGxBZ2VudHMnLFxuICAgICdDaGF0JyxcbiAgICAnY3RybCt4IGN0cmwraycsXG4gIClcbiAgY29uc3QgdHlwZWRUYXNrcyA9IHRhc2tzIGFzIFJlY29yZDxzdHJpbmcsIFRhc2tTdGF0ZT4gfCB1bmRlZmluZWRcblxuICAvLyBUcmFjayBpZiB3ZSBza2lwcGVkIGxpc3QgdmlldyBvbiBtb3VudCAoZm9yIGJhY2sgYnV0dG9uIGJlaGF2aW9yKVxuICBjb25zdCBza2lwcGVkTGlzdE9uTW91bnQgPSB1c2VSZWYoZmFsc2UpXG5cbiAgLy8gQ29tcHV0ZSBpbml0aWFsIHZpZXcgc3RhdGUgLSBza2lwIGxpc3QgaWYgY2FsbGVyIHByb3ZpZGVkIGEgc3BlY2lmaWMgdGFzayxcbiAgLy8gb3IgaWYgdGhlcmUncyBleGFjdGx5IG9uZSB0YXNrXG4gIGNvbnN0IFt2aWV3U3RhdGUsIHNldFZpZXdTdGF0ZV0gPSB1c2VTdGF0ZTxWaWV3U3RhdGU+KCgpID0+IHtcbiAgICBpZiAoaW5pdGlhbERldGFpbFRhc2tJZCkge1xuICAgICAgc2tpcHBlZExpc3RPbk1vdW50LmN1cnJlbnQgPSB0cnVlXG4gICAgICByZXR1cm4geyBtb2RlOiAnZGV0YWlsJywgaXRlbUlkOiBpbml0aWFsRGV0YWlsVGFza0lkIH1cbiAgICB9XG4gICAgY29uc3QgYWxsSXRlbXMgPSBnZXRTZWxlY3RhYmxlQmFja2dyb3VuZFRhc2tzKFxuICAgICAgdHlwZWRUYXNrcyxcbiAgICAgIGZvcmVncm91bmRlZFRhc2tJZCxcbiAgICApXG4gICAgaWYgKGFsbEl0ZW1zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgc2tpcHBlZExpc3RPbk1vdW50LmN1cnJlbnQgPSB0cnVlXG4gICAgICByZXR1cm4geyBtb2RlOiAnZGV0YWlsJywgaXRlbUlkOiBhbGxJdGVtc1swXSEuaWQgfVxuICAgIH1cbiAgICByZXR1cm4geyBtb2RlOiAnbGlzdCcgfVxuICB9KVxuICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZTxudW1iZXI+KDApXG5cbiAgLy8gUmVnaXN0ZXIgYXMgbW9kYWwgb3ZlcmxheSBzbyBwYXJlbnQgQ2hhdCBrZXliaW5kaW5ncyAodXAvZG93biBmb3IgaGlzdG9yeSlcbiAgLy8gYXJlIGRlYWN0aXZhdGVkIHdoaWxlIHRoaXMgZGlhbG9nIGlzIG9wZW5cbiAgdXNlUmVnaXN0ZXJPdmVybGF5KCdiYWNrZ3JvdW5kLXRhc2tzLWRpYWxvZycpXG5cbiAgLy8gTWVtb2l6ZSB0aGUgc29ydGVkIGFuZCBjYXRlZ29yaXplZCBpdGVtcyB0b2dldGhlciB0byBlbnN1cmUgc3RhYmxlIHJlZmVyZW5jZXNcbiAgY29uc3Qge1xuICAgIGJhc2hUYXNrcyxcbiAgICByZW1vdGVTZXNzaW9ucyxcbiAgICBhZ2VudFRhc2tzLFxuICAgIHRlYW1tYXRlVGFza3MsXG4gICAgd29ya2Zsb3dUYXNrcyxcbiAgICBtY3BNb25pdG9ycyxcbiAgICBkcmVhbVRhc2tzLFxuICAgIGFsbFNlbGVjdGFibGVJdGVtcyxcbiAgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIEZpbHRlciB0byBvbmx5IHNob3cgcnVubmluZy9wZW5kaW5nIGJhY2tncm91bmQgdGFza3MsIG1hdGNoaW5nIHRoZSBzdGF0dXMgYmFyIGNvdW50XG4gICAgY29uc3QgYmFja2dyb3VuZFRhc2tzID0gT2JqZWN0LnZhbHVlcyh0eXBlZFRhc2tzID8/IHt9KS5maWx0ZXIoXG4gICAgICBpc0JhY2tncm91bmRUYXNrLFxuICAgIClcbiAgICBjb25zdCBhbGxJdGVtcyA9IGJhY2tncm91bmRUYXNrcy5tYXAodG9MaXN0SXRlbSlcbiAgICBjb25zdCBzb3J0ZWQgPSBhbGxJdGVtcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBhU3RhdHVzID0gYS5zdGF0dXNcbiAgICAgIGNvbnN0IGJTdGF0dXMgPSBiLnN0YXR1c1xuICAgICAgaWYgKGFTdGF0dXMgPT09ICdydW5uaW5nJyAmJiBiU3RhdHVzICE9PSAncnVubmluZycpIHJldHVybiAtMVxuICAgICAgaWYgKGFTdGF0dXMgIT09ICdydW5uaW5nJyAmJiBiU3RhdHVzID09PSAncnVubmluZycpIHJldHVybiAxXG4gICAgICBjb25zdCBhVGltZSA9ICd0YXNrJyBpbiBhID8gYS50YXNrLnN0YXJ0VGltZSA6IDBcbiAgICAgIGNvbnN0IGJUaW1lID0gJ3Rhc2snIGluIGIgPyBiLnRhc2suc3RhcnRUaW1lIDogMFxuICAgICAgcmV0dXJuIGJUaW1lIC0gYVRpbWVcbiAgICB9KVxuICAgIGNvbnN0IGJhc2ggPSBzb3J0ZWQuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnbG9jYWxfYmFzaCcpXG4gICAgY29uc3QgcmVtb3RlID0gc29ydGVkLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gJ3JlbW90ZV9hZ2VudCcpXG4gICAgLy8gRXhjbHVkZSBmb3JlZ3JvdW5kZWQgdGFzayAtIGl0J3MgYmVpbmcgdmlld2VkIGluIHRoZSBtYWluIFVJLCBub3QgYSBiYWNrZ3JvdW5kIHRhc2tcbiAgICBjb25zdCBhZ2VudCA9IHNvcnRlZC5maWx0ZXIoXG4gICAgICBpdGVtID0+IGl0ZW0udHlwZSA9PT0gJ2xvY2FsX2FnZW50JyAmJiBpdGVtLmlkICE9PSBmb3JlZ3JvdW5kZWRUYXNrSWQsXG4gICAgKVxuICAgIGNvbnN0IHdvcmtmbG93cyA9IHNvcnRlZC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdsb2NhbF93b3JrZmxvdycpXG4gICAgY29uc3QgbW9uaXRvck1jcCA9IHNvcnRlZC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdtb25pdG9yX21jcCcpXG4gICAgY29uc3QgZHJlYW1UYXNrcyA9IHNvcnRlZC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdkcmVhbScpXG4gICAgLy8gSW4gc3Bpbm5lci10cmVlIG1vZGUsIGV4Y2x1ZGUgdGVhbW1hdGVzIGZyb20gdGhlIGRpYWxvZyAodGhleSBhcHBlYXIgaW4gdGhlIHRyZWUpXG4gICAgY29uc3QgdGVhbW1hdGVzID0gc2hvd1NwaW5uZXJUcmVlXG4gICAgICA/IFtdXG4gICAgICA6IHNvcnRlZC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdpbl9wcm9jZXNzX3RlYW1tYXRlJylcbiAgICAvLyBBZGQgbGVhZGVyIGVudHJ5IHdoZW4gdGhlcmUgYXJlIHRlYW1tYXRlcywgc28gdXNlcnMgY2FuIGZvcmVncm91bmQgYmFjayB0byBsZWFkZXJcbiAgICBjb25zdCBsZWFkZXJJdGVtOiBMaXN0SXRlbVtdID1cbiAgICAgIHRlYW1tYXRlcy5sZW5ndGggPiAwXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ19fbGVhZGVyX18nLFxuICAgICAgICAgICAgICB0eXBlOiAnbGVhZGVyJyxcbiAgICAgICAgICAgICAgbGFiZWw6IGBAJHtURUFNX0xFQURfTkFNRX1gLFxuICAgICAgICAgICAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhc2hUYXNrczogYmFzaCxcbiAgICAgIHJlbW90ZVNlc3Npb25zOiByZW1vdGUsXG4gICAgICBhZ2VudFRhc2tzOiBhZ2VudCxcbiAgICAgIHdvcmtmbG93VGFza3M6IHdvcmtmbG93cyxcbiAgICAgIG1jcE1vbml0b3JzOiBtb25pdG9yTWNwLFxuICAgICAgZHJlYW1UYXNrcyxcbiAgICAgIHRlYW1tYXRlVGFza3M6IFsuLi5sZWFkZXJJdGVtLCAuLi50ZWFtbWF0ZXNdLFxuICAgICAgLy8gT3JkZXIgTVVTVCBtYXRjaCBKU1ggcmVuZGVyIG9yZGVyICh0ZWFtbWF0ZXMgXFx1MjE5MiBiYXNoIFxcdTIxOTIgbW9uaXRvck1jcCBcXHUyMTkyXG4gICAgICAvLyByZW1vdGUgXFx1MjE5MiBhZ2VudCBcXHUyMTkyIHdvcmtmbG93cyBcXHUyMTkyIGRyZWFtKSBzbyBcXHUyMTkzL1xcdTIxOTEgbmF2aWdhdGlvbiBtb3ZlcyB0aGUgY3Vyc29yXG4gICAgICAvLyB2aXN1YWxseSBkb3dud2FyZC5cbiAgICAgIGFsbFNlbGVjdGFibGVJdGVtczogW1xuICAgICAgICAuLi5sZWFkZXJJdGVtLFxuICAgICAgICAuLi50ZWFtbWF0ZXMsXG4gICAgICAgIC4uLmJhc2gsXG4gICAgICAgIC4uLm1vbml0b3JNY3AsXG4gICAgICAgIC4uLnJlbW90ZSxcbiAgICAgICAgLi4uYWdlbnQsXG4gICAgICAgIC4uLndvcmtmbG93cyxcbiAgICAgICAgLi4uZHJlYW1UYXNrcyxcbiAgICAgIF0sXG4gICAgfVxuICB9LCBbdHlwZWRUYXNrcywgZm9yZWdyb3VuZGVkVGFza0lkLCBzaG93U3Bpbm5lclRyZWVdKVxuXG4gIGNvbnN0IGN1cnJlbnRTZWxlY3Rpb24gPSBhbGxTZWxlY3RhYmxlSXRlbXNbc2VsZWN0ZWRJbmRleF0gPz8gbnVsbFxuXG4gIC8vIFVzZSBjb25maWd1cmFibGUga2V5YmluZGluZ3MgZm9yIHN0YW5kYXJkIG5hdmlnYXRpb24gYW5kIGNvbmZpcm0vY2FuY2VsLlxuICAvLyBjb25maXJtOm5vIGlzIGhhbmRsZWQgYnkgRGlhbG9nJ3Mgb25DYW5jZWwgcHJvcC5cbiAgdXNlS2V5YmluZGluZ3MoXG4gICAge1xuICAgICAgJ2NvbmZpcm06cHJldmlvdXMnOiAoKSA9PiBzZXRTZWxlY3RlZEluZGV4KHByZXYgPT4gTWF0aC5tYXgoMCwgcHJldiAtIDEpKSxcbiAgICAgICdjb25maXJtOm5leHQnOiAoKSA9PlxuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KHByZXYgPT5cbiAgICAgICAgICBNYXRoLm1pbihhbGxTZWxlY3RhYmxlSXRlbXMubGVuZ3RoIC0gMSwgcHJldiArIDEpLFxuICAgICAgICApLFxuICAgICAgJ2NvbmZpcm06eWVzJzogKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gYWxsU2VsZWN0YWJsZUl0ZW1zW3NlbGVjdGVkSW5kZXhdXG4gICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQudHlwZSA9PT0gJ2xlYWRlcicpIHtcbiAgICAgICAgICAgIGV4aXRUZWFtbWF0ZVZpZXcoc2V0QXBwU3RhdGUpXG4gICAgICAgICAgICBvbkRvbmUoJ1ZpZXdpbmcgbGVhZGVyJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRWaWV3U3RhdGUoeyBtb2RlOiAnZGV0YWlsJywgaXRlbUlkOiBjdXJyZW50LmlkIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBjb250ZXh0OiAnQ29uZmlybWF0aW9uJywgaXNBY3RpdmU6IHZpZXdTdGF0ZS5tb2RlID09PSAnbGlzdCcgfSxcbiAgKVxuXG4gIC8vIENvbXBvbmVudC1zcGVjaWZpYyBzaG9ydGN1dHMgKHg9c3RvcCwgZj1mb3JlZ3JvdW5kLCByaWdodD16b29tKSBzaG93biBpbiBVSS5cbiAgLy8gVGhlc2UgYXJlIHRhc2stdHlwZSBhbmQgc3RhdHVzIGRlcGVuZGVudCwgbm90IHN0YW5kYXJkIGRpYWxvZyBrZXliaW5kaW5ncy5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgLy8gT25seSBoYW5kbGUgaW5wdXQgd2hlbiBpbiBsaXN0IG1vZGVcbiAgICBpZiAodmlld1N0YXRlLm1vZGUgIT09ICdsaXN0JykgcmV0dXJuXG5cbiAgICBpZiAoZS5rZXkgPT09ICdsZWZ0Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBvbkRvbmUoJ0JhY2tncm91bmQgdGFza3MgZGlhbG9nIGRpc21pc3NlZCcsIHsgZGlzcGxheTogJ3N5c3RlbScgfSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIENvbXB1dGUgY3VycmVudCBzZWxlY3Rpb24gYXQgdGhlIHRpbWUgb2YgdGhlIGtleSBwcmVzc1xuICAgIGNvbnN0IGN1cnJlbnRTZWxlY3Rpb24gPSBhbGxTZWxlY3RhYmxlSXRlbXNbc2VsZWN0ZWRJbmRleF1cbiAgICBpZiAoIWN1cnJlbnRTZWxlY3Rpb24pIHJldHVybiAvLyBldmVyeXRoaW5nIGJlbG93IHJlcXVpcmVzIGEgc2VsZWN0aW9uXG5cbiAgICBpZiAoZS5rZXkgPT09ICd4Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBpZiAoXG4gICAgICAgIGN1cnJlbnRTZWxlY3Rpb24udHlwZSA9PT0gJ2xvY2FsX2Jhc2gnICYmXG4gICAgICAgIGN1cnJlbnRTZWxlY3Rpb24uc3RhdHVzID09PSAncnVubmluZydcbiAgICAgICkge1xuICAgICAgICB2b2lkIGtpbGxTaGVsbFRhc2soY3VycmVudFNlbGVjdGlvbi5pZClcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRTZWxlY3Rpb24udHlwZSA9PT0gJ2xvY2FsX2FnZW50JyAmJlxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnN0YXR1cyA9PT0gJ3J1bm5pbmcnXG4gICAgICApIHtcbiAgICAgICAgdm9pZCBraWxsQWdlbnRUYXNrKGN1cnJlbnRTZWxlY3Rpb24uaWQpXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnR5cGUgPT09ICdpbl9wcm9jZXNzX3RlYW1tYXRlJyAmJlxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnN0YXR1cyA9PT0gJ3J1bm5pbmcnXG4gICAgICApIHtcbiAgICAgICAgdm9pZCBraWxsVGVhbW1hdGVUYXNrKGN1cnJlbnRTZWxlY3Rpb24uaWQpXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnR5cGUgPT09ICdsb2NhbF93b3JrZmxvdycgJiZcbiAgICAgICAgY3VycmVudFNlbGVjdGlvbi5zdGF0dXMgPT09ICdydW5uaW5nJyAmJlxuICAgICAgICBraWxsV29ya2Zsb3dUYXNrXG4gICAgICApIHtcbiAgICAgICAga2lsbFdvcmtmbG93VGFzayhjdXJyZW50U2VsZWN0aW9uLmlkLCBzZXRBcHBTdGF0ZSlcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRTZWxlY3Rpb24udHlwZSA9PT0gJ21vbml0b3JfbWNwJyAmJlxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmXG4gICAgICAgIGtpbGxNb25pdG9yTWNwXG4gICAgICApIHtcbiAgICAgICAga2lsbE1vbml0b3JNY3AoY3VycmVudFNlbGVjdGlvbi5pZCwgc2V0QXBwU3RhdGUpXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnR5cGUgPT09ICdkcmVhbScgJiZcbiAgICAgICAgY3VycmVudFNlbGVjdGlvbi5zdGF0dXMgPT09ICdydW5uaW5nJ1xuICAgICAgKSB7XG4gICAgICAgIHZvaWQga2lsbERyZWFtVGFzayhjdXJyZW50U2VsZWN0aW9uLmlkKVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY3VycmVudFNlbGVjdGlvbi50eXBlID09PSAncmVtb3RlX2FnZW50JyAmJlxuICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnN0YXR1cyA9PT0gJ3J1bm5pbmcnXG4gICAgICApIHtcbiAgICAgICAgaWYgKGN1cnJlbnRTZWxlY3Rpb24udGFzay5pc1VsdHJhcGxhbikge1xuICAgICAgICAgIHZvaWQgc3RvcFVsdHJhcGxhbihcbiAgICAgICAgICAgIGN1cnJlbnRTZWxlY3Rpb24uaWQsXG4gICAgICAgICAgICBjdXJyZW50U2VsZWN0aW9uLnRhc2suc2Vzc2lvbklkLFxuICAgICAgICAgICAgc2V0QXBwU3RhdGUsXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZvaWQga2lsbFJlbW90ZUFnZW50VGFzayhjdXJyZW50U2VsZWN0aW9uLmlkKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGUua2V5ID09PSAnZicpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY3VycmVudFNlbGVjdGlvbi50eXBlID09PSAnaW5fcHJvY2Vzc190ZWFtbWF0ZScgJiZcbiAgICAgICAgY3VycmVudFNlbGVjdGlvbi5zdGF0dXMgPT09ICdydW5uaW5nJ1xuICAgICAgKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBlbnRlclRlYW1tYXRlVmlldyhjdXJyZW50U2VsZWN0aW9uLmlkLCBzZXRBcHBTdGF0ZSlcbiAgICAgICAgb25Eb25lKCdWaWV3aW5nIHRlYW1tYXRlJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KVxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50U2VsZWN0aW9uLnR5cGUgPT09ICdsZWFkZXInKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBleGl0VGVhbW1hdGVWaWV3KHNldEFwcFN0YXRlKVxuICAgICAgICBvbkRvbmUoJ1ZpZXdpbmcgbGVhZGVyJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGtpbGxTaGVsbFRhc2sodGFza0lkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBMb2NhbFNoZWxsVGFzay5raWxsKHRhc2tJZCwgc2V0QXBwU3RhdGUpXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBraWxsQWdlbnRUYXNrKHRhc2tJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgTG9jYWxBZ2VudFRhc2sua2lsbCh0YXNrSWQsIHNldEFwcFN0YXRlKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24ga2lsbFRlYW1tYXRlVGFzayh0YXNrSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IEluUHJvY2Vzc1RlYW1tYXRlVGFzay5raWxsKHRhc2tJZCwgc2V0QXBwU3RhdGUpXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBraWxsRHJlYW1UYXNrKHRhc2tJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgRHJlYW1UYXNrLmtpbGwodGFza0lkLCBzZXRBcHBTdGF0ZSlcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGtpbGxSZW1vdGVBZ2VudFRhc2sodGFza0lkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBSZW1vdGVBZ2VudFRhc2sua2lsbCh0YXNrSWQsIHNldEFwcFN0YXRlKVxuICB9XG5cbiAgLy8gV3JhcCBvbkRvbmUgaW4gdXNlRWZmZWN0RXZlbnQgdG8gZ2V0IGEgc3RhYmxlIHJlZmVyZW5jZSB0aGF0IGFsd2F5cyBjYWxsc1xuICAvLyB0aGUgY3VycmVudCBvbkRvbmUgY2FsbGJhY2sgd2l0aG91dCBjYXVzaW5nIHRoZSBlZmZlY3QgdG8gcmUtZmlyZS5cbiAgY29uc3Qgb25Eb25lRXZlbnQgPSB1c2VFZmZlY3RFdmVudChvbkRvbmUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlld1N0YXRlLm1vZGUgIT09ICdsaXN0Jykge1xuICAgICAgY29uc3QgdGFzayA9ICh0eXBlZFRhc2tzID8/IHt9KVt2aWV3U3RhdGUuaXRlbUlkXVxuICAgICAgLy8gV29ya2Zsb3cgdGFza3MgZ2V0IGEgZ3JhY2U6IHRoZWlyIGRldGFpbCB2aWV3IHN0YXlzIG9wZW4gdGhyb3VnaFxuICAgICAgLy8gY29tcGxldGlvbiBzbyB0aGUgdXNlciBzZWVzIHRoZSBmaW5hbCBzdGF0ZSBiZWZvcmUgZXZpY3Rpb24uXG4gICAgICBpZiAoXG4gICAgICAgICF0YXNrIHx8XG4gICAgICAgICh0YXNrLnR5cGUgIT09ICdsb2NhbF93b3JrZmxvdycgJiYgIWlzQmFja2dyb3VuZFRhc2sodGFzaykpXG4gICAgICApIHtcbiAgICAgICAgLy8gVGFzayB3YXMgcmVtb3ZlZCBvciBpcyBubyBsb25nZXIgYSBiYWNrZ3JvdW5kIHRhc2sgKGUuZy4ga2lsbGVkKS5cbiAgICAgICAgLy8gSWYgd2Ugc2tpcHBlZCB0aGUgbGlzdCBvbiBtb3VudCwgY2xvc2UgdGhlIGRpYWxvZyBlbnRpcmVseS5cbiAgICAgICAgaWYgKHNraXBwZWRMaXN0T25Nb3VudC5jdXJyZW50KSB7XG4gICAgICAgICAgb25Eb25lRXZlbnQoJ0JhY2tncm91bmQgdGFza3MgZGlhbG9nIGRpc21pc3NlZCcsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdzeXN0ZW0nLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0Vmlld1N0YXRlKHsgbW9kZTogJ2xpc3QnIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gYWxsU2VsZWN0YWJsZUl0ZW1zLmxlbmd0aFxuICAgIGlmIChzZWxlY3RlZEluZGV4ID49IHRvdGFsSXRlbXMgJiYgdG90YWxJdGVtcyA+IDApIHtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgodG90YWxJdGVtcyAtIDEpXG4gICAgfVxuICB9LCBbdmlld1N0YXRlLCB0eXBlZFRhc2tzLCBzZWxlY3RlZEluZGV4LCBhbGxTZWxlY3RhYmxlSXRlbXMsIG9uRG9uZUV2ZW50XSlcblxuICAvLyBIZWxwZXIgdG8gZ28gYmFjayB0byBsaXN0IHZpZXcgKG9yIGNsb3NlIGRpYWxvZyBpZiB3ZSBza2lwcGVkIGxpc3Qgb25cbiAgLy8gbW91bnQgQU5EIHRoZXJlJ3Mgc3RpbGwgb25seSDiiaQxIGl0ZW0pLiBDaGVja2luZyBjdXJyZW50IGNvdW50IHByZXZlbnRzXG4gIC8vIHRoZSBzdGFsZS1zdGF0ZSB0cmFwOiBpZiB5b3Ugb3BlbmVkIHdpdGggMSB0YXNrIChhdXRvLXNraXBwZWQgdG8gZGV0YWlsKSxcbiAgLy8gdGhlbiBhIHNlY29uZCB0YXNrIHN0YXJ0ZWQsICdiYWNrJyBzaG91bGQgc2hvdyB0aGUgbGlzdCDigJQgbm90IGNsb3NlLlxuICBjb25zdCBnb0JhY2tUb0xpc3QgPSAoKSA9PiB7XG4gICAgaWYgKHNraXBwZWRMaXN0T25Nb3VudC5jdXJyZW50ICYmIGFsbFNlbGVjdGFibGVJdGVtcy5sZW5ndGggPD0gMSkge1xuICAgICAgb25Eb25lKCdCYWNrZ3JvdW5kIHRhc2tzIGRpYWxvZyBkaXNtaXNzZWQnLCB7IGRpc3BsYXk6ICdzeXN0ZW0nIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHNraXBwZWRMaXN0T25Nb3VudC5jdXJyZW50ID0gZmFsc2VcbiAgICAgIHNldFZpZXdTdGF0ZSh7IG1vZGU6ICdsaXN0JyB9KVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIGFuIGl0ZW0gaXMgc2VsZWN0ZWQsIHNob3cgdGhlIGFwcHJvcHJpYXRlIHZpZXdcbiAgaWYgKHZpZXdTdGF0ZS5tb2RlICE9PSAnbGlzdCcgJiYgdHlwZWRUYXNrcykge1xuICAgIGNvbnN0IHRhc2sgPSB0eXBlZFRhc2tzW3ZpZXdTdGF0ZS5pdGVtSWRdXG4gICAgaWYgKCF0YXNrKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIC8vIERldGFpbCBtb2RlIC0gc2hvdyBhcHByb3ByaWF0ZSBkZXRhaWwgZGlhbG9nXG4gICAgc3dpdGNoICh0YXNrLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2xvY2FsX2Jhc2gnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTaGVsbERldGFpbERpYWxvZ1xuICAgICAgICAgICAgc2hlbGw9e3Rhc2t9XG4gICAgICAgICAgICBvbkRvbmU9e29uRG9uZX1cbiAgICAgICAgICAgIG9uS2lsbFNoZWxsPXsoKSA9PiB2b2lkIGtpbGxTaGVsbFRhc2sodGFzay5pZCl9XG4gICAgICAgICAgICBvbkJhY2s9e2dvQmFja1RvTGlzdH1cbiAgICAgICAgICAgIGtleT17YHNoZWxsLSR7dGFzay5pZH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgIGNhc2UgJ2xvY2FsX2FnZW50JzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8QXN5bmNBZ2VudERldGFpbERpYWxvZ1xuICAgICAgICAgICAgYWdlbnQ9e3Rhc2t9XG4gICAgICAgICAgICBvbkRvbmU9e29uRG9uZX1cbiAgICAgICAgICAgIG9uS2lsbEFnZW50PXsoKSA9PiB2b2lkIGtpbGxBZ2VudFRhc2sodGFzay5pZCl9XG4gICAgICAgICAgICBvbkJhY2s9e2dvQmFja1RvTGlzdH1cbiAgICAgICAgICAgIGtleT17YGFnZW50LSR7dGFzay5pZH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgIGNhc2UgJ3JlbW90ZV9hZ2VudCc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFJlbW90ZVNlc3Npb25EZXRhaWxEaWFsb2dcbiAgICAgICAgICAgIHNlc3Npb249e3Rhc2t9XG4gICAgICAgICAgICBvbkRvbmU9e29uRG9uZX1cbiAgICAgICAgICAgIHRvb2xVc2VDb250ZXh0PXt0b29sVXNlQ29udGV4dH1cbiAgICAgICAgICAgIG9uQmFjaz17Z29CYWNrVG9MaXN0fVxuICAgICAgICAgICAgb25LaWxsPXtcbiAgICAgICAgICAgICAgdGFzay5zdGF0dXMgIT09ICdydW5uaW5nJ1xuICAgICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgOiB0YXNrLmlzVWx0cmFwbGFuXG4gICAgICAgICAgICAgICAgICA/ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgdm9pZCBzdG9wVWx0cmFwbGFuKHRhc2suaWQsIHRhc2suc2Vzc2lvbklkLCBzZXRBcHBTdGF0ZSlcbiAgICAgICAgICAgICAgICAgIDogKCkgPT4gdm9pZCBraWxsUmVtb3RlQWdlbnRUYXNrKHRhc2suaWQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXk9e2BzZXNzaW9uLSR7dGFzay5pZH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgIGNhc2UgJ2luX3Byb2Nlc3NfdGVhbW1hdGUnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxJblByb2Nlc3NUZWFtbWF0ZURldGFpbERpYWxvZ1xuICAgICAgICAgICAgdGVhbW1hdGU9e3Rhc2t9XG4gICAgICAgICAgICBvbkRvbmU9e29uRG9uZX1cbiAgICAgICAgICAgIG9uS2lsbD17XG4gICAgICAgICAgICAgIHRhc2suc3RhdHVzID09PSAncnVubmluZydcbiAgICAgICAgICAgICAgICA/ICgpID0+IHZvaWQga2lsbFRlYW1tYXRlVGFzayh0YXNrLmlkKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvbkJhY2s9e2dvQmFja1RvTGlzdH1cbiAgICAgICAgICAgIG9uRm9yZWdyb3VuZD17XG4gICAgICAgICAgICAgIHRhc2suc3RhdHVzID09PSAncnVubmluZydcbiAgICAgICAgICAgICAgICA/ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZW50ZXJUZWFtbWF0ZVZpZXcodGFzay5pZCwgc2V0QXBwU3RhdGUpXG4gICAgICAgICAgICAgICAgICAgIG9uRG9uZSgnVmlld2luZyB0ZWFtbWF0ZScsIHsgZGlzcGxheTogJ3N5c3RlbScgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5PXtgdGVhbW1hdGUtJHt0YXNrLmlkfWB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKVxuICAgICAgY2FzZSAnbG9jYWxfd29ya2Zsb3cnOlxuICAgICAgICBpZiAoIVdvcmtmbG93RGV0YWlsRGlhbG9nKSByZXR1cm4gbnVsbFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxXb3JrZmxvd0RldGFpbERpYWxvZ1xuICAgICAgICAgICAgd29ya2Zsb3c9e3Rhc2t9XG4gICAgICAgICAgICBvbkRvbmU9e29uRG9uZX1cbiAgICAgICAgICAgIG9uS2lsbD17XG4gICAgICAgICAgICAgIHRhc2suc3RhdHVzID09PSAncnVubmluZycgJiYga2lsbFdvcmtmbG93VGFza1xuICAgICAgICAgICAgICAgID8gKCkgPT4ga2lsbFdvcmtmbG93VGFzayh0YXNrLmlkLCBzZXRBcHBTdGF0ZSlcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25Ta2lwQWdlbnQ9e1xuICAgICAgICAgICAgICB0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIHNraXBXb3JrZmxvd0FnZW50XG4gICAgICAgICAgICAgICAgPyBhZ2VudElkID0+IHNraXBXb3JrZmxvd0FnZW50KHRhc2suaWQsIGFnZW50SWQsIHNldEFwcFN0YXRlKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvblJldHJ5QWdlbnQ9e1xuICAgICAgICAgICAgICB0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIHJldHJ5V29ya2Zsb3dBZ2VudFxuICAgICAgICAgICAgICAgID8gYWdlbnRJZCA9PiByZXRyeVdvcmtmbG93QWdlbnQodGFzay5pZCwgYWdlbnRJZCwgc2V0QXBwU3RhdGUpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uQmFjaz17Z29CYWNrVG9MaXN0fVxuICAgICAgICAgICAga2V5PXtgd29ya2Zsb3ctJHt0YXNrLmlkfWB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKVxuICAgICAgY2FzZSAnbW9uaXRvcl9tY3AnOlxuICAgICAgICBpZiAoIU1vbml0b3JNY3BEZXRhaWxEaWFsb2cpIHJldHVybiBudWxsXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPE1vbml0b3JNY3BEZXRhaWxEaWFsb2dcbiAgICAgICAgICAgIHRhc2s9e3Rhc2t9XG4gICAgICAgICAgICBvbktpbGw9e1xuICAgICAgICAgICAgICB0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIGtpbGxNb25pdG9yTWNwXG4gICAgICAgICAgICAgICAgPyAoKSA9PiBraWxsTW9uaXRvck1jcCh0YXNrLmlkLCBzZXRBcHBTdGF0ZSlcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25CYWNrPXtnb0JhY2tUb0xpc3R9XG4gICAgICAgICAgICBrZXk9e2Btb25pdG9yLW1jcC0ke3Rhc2suaWR9YH1cbiAgICAgICAgICAvPlxuICAgICAgICApXG4gICAgICBjYXNlICdkcmVhbSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPERyZWFtRGV0YWlsRGlhbG9nXG4gICAgICAgICAgICB0YXNrPXt0YXNrfVxuICAgICAgICAgICAgb25Eb25lPXsoKSA9PlxuICAgICAgICAgICAgICBvbkRvbmUoJ0JhY2tncm91bmQgdGFza3MgZGlhbG9nIGRpc21pc3NlZCcsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnc3lzdGVtJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uQmFjaz17Z29CYWNrVG9MaXN0fVxuICAgICAgICAgICAgb25LaWxsPXtcbiAgICAgICAgICAgICAgdGFzay5zdGF0dXMgPT09ICdydW5uaW5nJ1xuICAgICAgICAgICAgICAgID8gKCkgPT4gdm9pZCBraWxsRHJlYW1UYXNrKHRhc2suaWQpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleT17YGRyZWFtLSR7dGFzay5pZH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdCBydW5uaW5nQmFzaENvdW50ID0gY291bnQoYmFzaFRhc2tzLCBfID0+IF8uc3RhdHVzID09PSAncnVubmluZycpXG4gIGNvbnN0IHJ1bm5pbmdBZ2VudENvdW50ID1cbiAgICBjb3VudChcbiAgICAgIHJlbW90ZVNlc3Npb25zLFxuICAgICAgXyA9PiBfLnN0YXR1cyA9PT0gJ3J1bm5pbmcnIHx8IF8uc3RhdHVzID09PSAncGVuZGluZycsXG4gICAgKSArIGNvdW50KGFnZW50VGFza3MsIF8gPT4gXy5zdGF0dXMgPT09ICdydW5uaW5nJylcbiAgY29uc3QgcnVubmluZ1RlYW1tYXRlQ291bnQgPSBjb3VudCh0ZWFtbWF0ZVRhc2tzLCBfID0+IF8uc3RhdHVzID09PSAncnVubmluZycpXG4gIGNvbnN0IHN1YnRpdGxlID0gaW50ZXJzcGVyc2UoXG4gICAgW1xuICAgICAgLi4uKHJ1bm5pbmdUZWFtbWF0ZUNvdW50ID4gMFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIDxUZXh0IGtleT1cInRlYW1tYXRlc1wiPlxuICAgICAgICAgICAgICB7cnVubmluZ1RlYW1tYXRlQ291bnR9eycgJ31cbiAgICAgICAgICAgICAge3J1bm5pbmdUZWFtbWF0ZUNvdW50ICE9PSAxID8gJ2FnZW50cycgOiAnYWdlbnQnfVxuICAgICAgICAgICAgPC9UZXh0PixcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgICAgLi4uKHJ1bm5pbmdCYXNoQ291bnQgPiAwXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFRleHQga2V5PVwic2hlbGxzXCI+XG4gICAgICAgICAgICAgIHtydW5uaW5nQmFzaENvdW50fXsnICd9XG4gICAgICAgICAgICAgIHtydW5uaW5nQmFzaENvdW50ICE9PSAxID8gJ2FjdGl2ZSBzaGVsbHMnIDogJ2FjdGl2ZSBzaGVsbCd9XG4gICAgICAgICAgICA8L1RleHQ+LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4ocnVubmluZ0FnZW50Q291bnQgPiAwXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFRleHQga2V5PVwiYWdlbnRzXCI+XG4gICAgICAgICAgICAgIHtydW5uaW5nQWdlbnRDb3VudH17JyAnfVxuICAgICAgICAgICAgICB7cnVubmluZ0FnZW50Q291bnQgIT09IDEgPyAnYWN0aXZlIGFnZW50cycgOiAnYWN0aXZlIGFnZW50J31cbiAgICAgICAgICAgIDwvVGV4dD4sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICBdLFxuICAgIGluZGV4ID0+IDxUZXh0IGtleT17YHNlcGFyYXRvci0ke2luZGV4fWB9PiDCtyA8L1RleHQ+LFxuICApXG5cbiAgY29uc3QgYWN0aW9ucyA9IFtcbiAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQga2V5PVwidXBEb3duXCIgc2hvcnRjdXQ9XCLihpEv4oaTXCIgYWN0aW9uPVwic2VsZWN0XCIgLz4sXG4gICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IGtleT1cImVudGVyXCIgc2hvcnRjdXQ9XCJFbnRlclwiIGFjdGlvbj1cInZpZXdcIiAvPixcbiAgICAuLi4oY3VycmVudFNlbGVjdGlvbj8udHlwZSA9PT0gJ2luX3Byb2Nlc3NfdGVhbW1hdGUnICYmXG4gICAgY3VycmVudFNlbGVjdGlvbi5zdGF0dXMgPT09ICdydW5uaW5nJ1xuICAgICAgPyBbXG4gICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50XG4gICAgICAgICAgICBrZXk9XCJmb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgIHNob3J0Y3V0PVwiZlwiXG4gICAgICAgICAgICBhY3Rpb249XCJmb3JlZ3JvdW5kXCJcbiAgICAgICAgICAvPixcbiAgICAgICAgXVxuICAgICAgOiBbXSksXG4gICAgLi4uKChjdXJyZW50U2VsZWN0aW9uPy50eXBlID09PSAnbG9jYWxfYmFzaCcgfHxcbiAgICAgIGN1cnJlbnRTZWxlY3Rpb24/LnR5cGUgPT09ICdsb2NhbF9hZ2VudCcgfHxcbiAgICAgIGN1cnJlbnRTZWxlY3Rpb24/LnR5cGUgPT09ICdpbl9wcm9jZXNzX3RlYW1tYXRlJyB8fFxuICAgICAgY3VycmVudFNlbGVjdGlvbj8udHlwZSA9PT0gJ2xvY2FsX3dvcmtmbG93JyB8fFxuICAgICAgY3VycmVudFNlbGVjdGlvbj8udHlwZSA9PT0gJ21vbml0b3JfbWNwJyB8fFxuICAgICAgY3VycmVudFNlbGVjdGlvbj8udHlwZSA9PT0gJ2RyZWFtJyB8fFxuICAgICAgY3VycmVudFNlbGVjdGlvbj8udHlwZSA9PT0gJ3JlbW90ZV9hZ2VudCcpICYmXG4gICAgY3VycmVudFNlbGVjdGlvbi5zdGF0dXMgPT09ICdydW5uaW5nJ1xuICAgICAgPyBbPEtleWJvYXJkU2hvcnRjdXRIaW50IGtleT1cImtpbGxcIiBzaG9ydGN1dD1cInhcIiBhY3Rpb249XCJzdG9wXCIgLz5dXG4gICAgICA6IFtdKSxcbiAgICAuLi4oYWdlbnRUYXNrcy5zb21lKHQgPT4gdC5zdGF0dXMgPT09ICdydW5uaW5nJylcbiAgICAgID8gW1xuICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludFxuICAgICAgICAgICAga2V5PVwia2lsbC1hbGxcIlxuICAgICAgICAgICAgc2hvcnRjdXQ9e2tpbGxBZ2VudHNTaG9ydGN1dH1cbiAgICAgICAgICAgIGFjdGlvbj1cInN0b3AgYWxsIGFnZW50c1wiXG4gICAgICAgICAgLz4sXG4gICAgICAgIF1cbiAgICAgIDogW10pLFxuICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBrZXk9XCJlc2NcIiBzaG9ydGN1dD1cIuKGkC9Fc2NcIiBhY3Rpb249XCJjbG9zZVwiIC8+LFxuICBdXG5cbiAgY29uc3QgaGFuZGxlQ2FuY2VsID0gKCkgPT5cbiAgICBvbkRvbmUoJ0JhY2tncm91bmQgdGFza3MgZGlhbG9nIGRpc21pc3NlZCcsIHsgZGlzcGxheTogJ3N5c3RlbScgfSlcblxuICBmdW5jdGlvbiByZW5kZXJJbnB1dEd1aWRlKGV4aXRTdGF0ZTogRXhpdFN0YXRlKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICBpZiAoZXhpdFN0YXRlLnBlbmRpbmcpIHtcbiAgICAgIHJldHVybiA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgfVxuICAgIHJldHVybiA8QnlsaW5lPnthY3Rpb25zfTwvQnlsaW5lPlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94XG4gICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgIHRhYkluZGV4PXswfVxuICAgICAgYXV0b0ZvY3VzXG4gICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgPlxuICAgICAgPERpYWxvZ1xuICAgICAgICB0aXRsZT1cIkJhY2tncm91bmQgdGFza3NcIlxuICAgICAgICBzdWJ0aXRsZT17PD57c3VidGl0bGV9PC8+fVxuICAgICAgICBvbkNhbmNlbD17aGFuZGxlQ2FuY2VsfVxuICAgICAgICBjb2xvcj1cImJhY2tncm91bmRcIlxuICAgICAgICBpbnB1dEd1aWRlPXtyZW5kZXJJbnB1dEd1aWRlfVxuICAgICAgPlxuICAgICAgICB7YWxsU2VsZWN0YWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5ObyB0YXNrcyBjdXJyZW50bHkgcnVubmluZzwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIHt0ZWFtbWF0ZVRhc2tzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICB7KGJhc2hUYXNrcy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICByZW1vdGVTZXNzaW9ucy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICBhZ2VudFRhc2tzLmxlbmd0aCA+IDApICYmIChcbiAgICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPnsnICAnfUFnZW50czwvVGV4dD4gKFxuICAgICAgICAgICAgICAgICAgICB7Y291bnQodGVhbW1hdGVUYXNrcywgaSA9PiBpLnR5cGUgIT09ICdsZWFkZXInKX0pXG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgIDxUZWFtbWF0ZVRhc2tHcm91cHNcbiAgICAgICAgICAgICAgICAgICAgdGVhbW1hdGVUYXNrcz17dGVhbW1hdGVUYXNrc31cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlbGVjdGlvbklkPXtjdXJyZW50U2VsZWN0aW9uPy5pZH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2Jhc2hUYXNrcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgIG1hcmdpblRvcD17dGVhbW1hdGVUYXNrcy5sZW5ndGggPiAwID8gMSA6IDB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7KHRlYW1tYXRlVGFza3MubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgcmVtb3RlU2Vzc2lvbnMubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgYWdlbnRUYXNrcy5sZW5ndGggPiAwKSAmJiAoXG4gICAgICAgICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgICAgICAgICAgPFRleHQgYm9sZD57JyAgJ31TaGVsbHM8L1RleHQ+ICh7YmFzaFRhc2tzLmxlbmd0aH0pXG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgIHtiYXNoVGFza3MubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IGN1cnJlbnRTZWxlY3Rpb24/LmlkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge21jcE1vbml0b3JzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8Qm94XG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wPXtcbiAgICAgICAgICAgICAgICAgIHRlYW1tYXRlVGFza3MubGVuZ3RoID4gMCB8fCBiYXNoVGFza3MubGVuZ3RoID4gMCA/IDEgOiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPnsnICAnfU1vbml0b3JzPC9UZXh0PiAoe21jcE1vbml0b3JzLmxlbmd0aH0pXG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAge21jcE1vbml0b3JzLm1hcChpdGVtID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtpdGVtLmlkID09PSBjdXJyZW50U2VsZWN0aW9uPy5pZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtyZW1vdGVTZXNzaW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgPEJveFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgIG1hcmdpblRvcD17XG4gICAgICAgICAgICAgICAgICB0ZWFtbWF0ZVRhc2tzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIGJhc2hUYXNrcy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICBtY3BNb25pdG9ycy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgICAgICA6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgICAgICAgIDxUZXh0IGJvbGQ+eycgICd9UmVtb3RlIGFnZW50czwvVGV4dD4gKHtyZW1vdGVTZXNzaW9ucy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAge3JlbW90ZVNlc3Npb25zLm1hcChpdGVtID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtpdGVtLmlkID09PSBjdXJyZW50U2VsZWN0aW9uPy5pZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHthZ2VudFRhc2tzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8Qm94XG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wPXtcbiAgICAgICAgICAgICAgICAgIHRlYW1tYXRlVGFza3MubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgYmFzaFRhc2tzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIG1jcE1vbml0b3JzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIHJlbW90ZVNlc3Npb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgPyAxXG4gICAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgPFRleHQgYm9sZD57JyAgJ31Mb2NhbCBhZ2VudHM8L1RleHQ+ICh7YWdlbnRUYXNrcy5sZW5ndGh9KVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgIHthZ2VudFRhc2tzLm1hcChpdGVtID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtpdGVtLmlkID09PSBjdXJyZW50U2VsZWN0aW9uPy5pZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHt3b3JrZmxvd1Rhc2tzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8Qm94XG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wPXtcbiAgICAgICAgICAgICAgICAgIHRlYW1tYXRlVGFza3MubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgYmFzaFRhc2tzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIG1jcE1vbml0b3JzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIHJlbW90ZVNlc3Npb25zLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgIGFnZW50VGFza3MubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICAgICAgOiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBib2xkPnsnICAnfVdvcmtmbG93czwvVGV4dD4gKHt3b3JrZmxvd1Rhc2tzLmxlbmd0aH0pXG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAge3dvcmtmbG93VGFza3MubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IGN1cnJlbnRTZWxlY3Rpb24/LmlkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2RyZWFtVGFza3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgIDxCb3hcbiAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A9e1xuICAgICAgICAgICAgICAgICAgdGVhbW1hdGVUYXNrcy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICBiYXNoVGFza3MubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgbWNwTW9uaXRvcnMubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgcmVtb3RlU2Vzc2lvbnMubGVuZ3RoID4gMCB8fFxuICAgICAgICAgICAgICAgICAgYWdlbnRUYXNrcy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICB3b3JrZmxvd1Rhc2tzLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgPyAxXG4gICAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAge2RyZWFtVGFza3MubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IGN1cnJlbnRTZWxlY3Rpb24/LmlkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgIDwvRGlhbG9nPlxuICAgIDwvQm94PlxuICApXG59XG5cbmZ1bmN0aW9uIHRvTGlzdEl0ZW0odGFzazogQmFja2dyb3VuZFRhc2tTdGF0ZSk6IExpc3RJdGVtIHtcbiAgc3dpdGNoICh0YXNrLnR5cGUpIHtcbiAgICBjYXNlICdsb2NhbF9iYXNoJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICB0eXBlOiAnbG9jYWxfYmFzaCcsXG4gICAgICAgIGxhYmVsOiB0YXNrLmtpbmQgPT09ICdtb25pdG9yJyA/IHRhc2suZGVzY3JpcHRpb24gOiB0YXNrLmNvbW1hbmQsXG4gICAgICAgIHN0YXR1czogdGFzay5zdGF0dXMsXG4gICAgICAgIHRhc2ssXG4gICAgICB9XG4gICAgY2FzZSAncmVtb3RlX2FnZW50JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICB0eXBlOiAncmVtb3RlX2FnZW50JyxcbiAgICAgICAgbGFiZWw6IHRhc2sudGl0bGUsXG4gICAgICAgIHN0YXR1czogdGFzay5zdGF0dXMsXG4gICAgICAgIHRhc2ssXG4gICAgICB9XG4gICAgY2FzZSAnbG9jYWxfYWdlbnQnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIHR5cGU6ICdsb2NhbF9hZ2VudCcsXG4gICAgICAgIGxhYmVsOiB0YXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICBzdGF0dXM6IHRhc2suc3RhdHVzLFxuICAgICAgICB0YXNrLFxuICAgICAgfVxuICAgIGNhc2UgJ2luX3Byb2Nlc3NfdGVhbW1hdGUnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIHR5cGU6ICdpbl9wcm9jZXNzX3RlYW1tYXRlJyxcbiAgICAgICAgbGFiZWw6IGBAJHt0YXNrLmlkZW50aXR5LmFnZW50TmFtZX1gLFxuICAgICAgICBzdGF0dXM6IHRhc2suc3RhdHVzLFxuICAgICAgICB0YXNrLFxuICAgICAgfVxuICAgIGNhc2UgJ2xvY2FsX3dvcmtmbG93JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICB0eXBlOiAnbG9jYWxfd29ya2Zsb3cnLFxuICAgICAgICBsYWJlbDogdGFzay5zdW1tYXJ5ID8/IHRhc2suZGVzY3JpcHRpb24sXG4gICAgICAgIHN0YXR1czogdGFzay5zdGF0dXMsXG4gICAgICAgIHRhc2ssXG4gICAgICB9XG4gICAgY2FzZSAnbW9uaXRvcl9tY3AnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIHR5cGU6ICdtb25pdG9yX21jcCcsXG4gICAgICAgIGxhYmVsOiB0YXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICBzdGF0dXM6IHRhc2suc3RhdHVzLFxuICAgICAgICB0YXNrLFxuICAgICAgfVxuICAgIGNhc2UgJ2RyZWFtJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB0YXNrLmlkLFxuICAgICAgICB0eXBlOiAnZHJlYW0nLFxuICAgICAgICBsYWJlbDogdGFzay5kZXNjcmlwdGlvbixcbiAgICAgICAgc3RhdHVzOiB0YXNrLnN0YXR1cyxcbiAgICAgICAgdGFzayxcbiAgICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBJdGVtKHtcbiAgaXRlbSxcbiAgaXNTZWxlY3RlZCxcbn06IHtcbiAgaXRlbTogTGlzdEl0ZW1cbiAgaXNTZWxlY3RlZDogYm9vbGVhblxufSk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgY29sdW1ucyB9ID0gdXNlVGVybWluYWxTaXplKClcbiAgLy8gRGlhbG9nIGJvcmRlciAoMikgKyBwYWRkaW5nICgyKSArIHBvaW50ZXIgcHJlZml4ICgyKSArIG5hbWUvc3RhdHVzIG92ZXJoZWFkICh+MjApXG4gIGNvbnN0IG1heEFjdGl2aXR5V2lkdGggPSBNYXRoLm1heCgzMCwgY29sdW1ucyAtIDI2KVxuICAvLyBJbiBjb29yZGluYXRvciBtb2RlLCB1c2UgZ3JleSBwb2ludGVyIGluc3RlYWQgb2YgYmx1ZVxuICBjb25zdCB1c2VHcmV5UG9pbnRlciA9IGlzQ29vcmRpbmF0b3JNb2RlKClcblxuICByZXR1cm4gKFxuICAgIDxCb3ggZmxleERpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgPFRleHQgZGltQ29sb3I9e3VzZUdyZXlQb2ludGVyICYmIGlzU2VsZWN0ZWR9PlxuICAgICAgICB7aXNTZWxlY3RlZCA/IGZpZ3VyZXMucG9pbnRlciArICcgJyA6ICcgICd9XG4gICAgICA8L1RleHQ+XG4gICAgICA8VGV4dCBjb2xvcj17aXNTZWxlY3RlZCAmJiAhdXNlR3JleVBvaW50ZXIgPyAnc3VnZ2VzdGlvbicgOiB1bmRlZmluZWR9PlxuICAgICAgICB7aXRlbS50eXBlID09PSAnbGVhZGVyJyA/IChcbiAgICAgICAgICA8VGV4dD5Ae1RFQU1fTEVBRF9OQU1FfTwvVGV4dD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8QmFja2dyb3VuZFRhc2tDb21wb25lbnRcbiAgICAgICAgICAgIHRhc2s9e2l0ZW0udGFza31cbiAgICAgICAgICAgIG1heEFjdGl2aXR5V2lkdGg9e21heEFjdGl2aXR5V2lkdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGV4dD5cbiAgICA8L0JveD5cbiAgKVxufVxuXG5mdW5jdGlvbiBUZWFtbWF0ZVRhc2tHcm91cHMoe1xuICB0ZWFtbWF0ZVRhc2tzLFxuICBjdXJyZW50U2VsZWN0aW9uSWQsXG59OiB7XG4gIHRlYW1tYXRlVGFza3M6IExpc3RJdGVtW11cbiAgY3VycmVudFNlbGVjdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWRcbn0pOiBSZWFjdE5vZGUge1xuICAvLyBTZXBhcmF0ZSBsZWFkZXIgZnJvbSB0ZWFtbWF0ZXMsIGdyb3VwIHRlYW1tYXRlcyBieSB0ZWFtXG4gIGNvbnN0IGxlYWRlckl0ZW1zID0gdGVhbW1hdGVUYXNrcy5maWx0ZXIoaSA9PiBpLnR5cGUgPT09ICdsZWFkZXInKVxuICBjb25zdCB0ZWFtbWF0ZUl0ZW1zID0gdGVhbW1hdGVUYXNrcy5maWx0ZXIoXG4gICAgaSA9PiBpLnR5cGUgPT09ICdpbl9wcm9jZXNzX3RlYW1tYXRlJyxcbiAgKVxuICBjb25zdCB0ZWFtcyA9IG5ldyBNYXA8c3RyaW5nLCB0eXBlb2YgdGVhbW1hdGVJdGVtcz4oKVxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGVhbW1hdGVJdGVtcykge1xuICAgIGNvbnN0IHRlYW1OYW1lID0gaXRlbS50YXNrLmlkZW50aXR5LnRlYW1OYW1lXG4gICAgY29uc3QgZ3JvdXAgPSB0ZWFtcy5nZXQodGVhbU5hbWUpXG4gICAgaWYgKGdyb3VwKSB7XG4gICAgICBncm91cC5wdXNoKGl0ZW0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRlYW1zLnNldCh0ZWFtTmFtZSwgW2l0ZW1dKVxuICAgIH1cbiAgfVxuICBjb25zdCB0ZWFtRW50cmllcyA9IFsuLi50ZWFtcy5lbnRyaWVzKCldXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHt0ZWFtRW50cmllcy5tYXAoKFt0ZWFtTmFtZSwgaXRlbXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlckNvdW50ID0gaXRlbXMubGVuZ3RoICsgbGVhZGVySXRlbXMubGVuZ3RoXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEJveCBrZXk9e3RlYW1OYW1lfSBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgICAgeycgICd9VGVhbToge3RlYW1OYW1lfSAoe21lbWJlckNvdW50fSlcbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgbGVhZGVyIGZpcnN0IHdpdGhpbiBlYWNoIHRlYW0gKi99XG4gICAgICAgICAgICB7bGVhZGVySXRlbXMubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgIGtleT17YCR7aXRlbS5pZH0tJHt0ZWFtTmFtZX1gfVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17aXRlbS5pZCA9PT0gY3VycmVudFNlbGVjdGlvbklkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IGN1cnJlbnRTZWxlY3Rpb25JZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvQm94PlxuICAgICAgICApXG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsT0FBTyxRQUFRLFlBQVk7QUFDcEMsT0FBT0MsT0FBTyxNQUFNLFNBQVM7QUFDN0IsT0FBT0MsS0FBSyxJQUNWLEtBQUtDLFNBQVMsRUFDZEMsU0FBUyxFQUNUQyxjQUFjLEVBQ2RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBQ0gsT0FBTztBQUNkLFNBQVNDLGlCQUFpQixRQUFRLG9DQUFvQztBQUN0RSxTQUFTQyxlQUFlLFFBQVEsOEJBQThCO0FBQzlELFNBQVNDLFdBQVcsRUFBRUMsY0FBYyxRQUFRLHVCQUF1QjtBQUNuRSxTQUNFQyxpQkFBaUIsRUFDakJDLGdCQUFnQixRQUNYLGtDQUFrQztBQUN6QyxjQUFjQyxjQUFjLFFBQVEsYUFBYTtBQUNqRCxTQUNFQyxTQUFTLEVBQ1QsS0FBS0MsY0FBYyxRQUNkLGtDQUFrQztBQUN6QyxTQUFTQyxxQkFBcUIsUUFBUSwwREFBMEQ7QUFDaEcsY0FBY0MsMEJBQTBCLFFBQVEsMENBQTBDO0FBQzFGLGNBQWNDLG1CQUFtQixRQUFRLDRDQUE0QztBQUNyRixTQUFTQyxjQUFjLFFBQVEsNENBQTRDO0FBQzNFLGNBQWNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUM3RSxTQUFTQyxjQUFjLFFBQVEsNENBQTRDO0FBQzNFO0FBQ0EsY0FBY0Msc0JBQXNC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
651
+ }
@@ -247,5 +247,4 @@ function _temp2(turn, i) {
247
247
  }
248
248
  function _temp(t) {
249
249
  return t.text !== "";
250
- }
251
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkRlZXBJbW11dGFibGUiLCJ1c2VFbGFwc2VkVGltZSIsIktleWJvYXJkRXZlbnQiLCJCb3giLCJUZXh0IiwidXNlS2V5YmluZGluZ3MiLCJEcmVhbVRhc2tTdGF0ZSIsInBsdXJhbCIsIkJ5bGluZSIsIkRpYWxvZyIsIktleWJvYXJkU2hvcnRjdXRIaW50IiwiUHJvcHMiLCJ0YXNrIiwib25Eb25lIiwib25CYWNrIiwib25LaWxsIiwiVklTSUJMRV9UVVJOUyIsIkRyZWFtRGV0YWlsRGlhbG9nIiwidDAiLCIkIiwiX2MiLCJlbGFwc2VkVGltZSIsInN0YXJ0VGltZSIsInN0YXR1cyIsInQxIiwidDIiLCJTeW1ib2wiLCJmb3IiLCJjb250ZXh0IiwidDMiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVLZXlEb3duIiwiVDAiLCJUMSIsIlQyIiwidDEwIiwidDExIiwidDEyIiwidDEzIiwidDE0IiwidDE1IiwidDE2IiwidDQiLCJ0NSIsInQ2IiwidDciLCJ0OCIsInQ5IiwiZmlsZXNUb3VjaGVkIiwibGVuZ3RoIiwic2Vzc2lvbnNSZXZpZXdpbmciLCJ0dXJucyIsInZpc2libGVUdXJucyIsImZpbHRlciIsIl90ZW1wIiwic2hvd24iLCJzbGljZSIsImhpZGRlbiIsInQxNyIsInQxOCIsInQxOSIsImV4aXRTdGF0ZSIsInBlbmRpbmciLCJrZXlOYW1lIiwidDIwIiwibWFwIiwiX3RlbXAyIiwidHVybiIsImkiLCJ0ZXh0IiwidG9vbFVzZUNvdW50IiwidCJdLCJzb3VyY2VzIjpbIkRyZWFtRGV0YWlsRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IERlZXBJbW11dGFibGUgfSBmcm9tICdzcmMvdHlwZXMvdXRpbHMuanMnXG5pbXBvcnQgeyB1c2VFbGFwc2VkVGltZSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUVsYXBzZWRUaW1lLmpzJ1xuaW1wb3J0IHR5cGUgeyBLZXlib2FyZEV2ZW50IH0gZnJvbSAnLi4vLi4vaW5rL2V2ZW50cy9rZXlib2FyZC1ldmVudC5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZUtleWJpbmRpbmdzIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB0eXBlIHsgRHJlYW1UYXNrU3RhdGUgfSBmcm9tICcuLi8uLi90YXNrcy9EcmVhbVRhc2svRHJlYW1UYXNrLmpzJ1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nVXRpbHMuanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0J5bGluZS5qcydcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vRGlhbG9nLmpzJ1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dEhpbnQgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0tleWJvYXJkU2hvcnRjdXRIaW50LmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICB0YXNrOiBEZWVwSW1tdXRhYmxlPERyZWFtVGFza1N0YXRlPlxuICBvbkRvbmU6ICgpID0+IHZvaWRcbiAgb25CYWNrPzogKCkgPT4gdm9pZFxuICBvbktpbGw/OiAoKSA9PiB2b2lkXG59XG5cbi8vIEhvdyBtYW55IHJlY2VudCB0dXJucyB0byByZW5kZXIuIEVhcmxpZXIgdHVybnMgY29sbGFwc2UgdG8gYSBjb3VudC5cbmNvbnN0IFZJU0lCTEVfVFVSTlMgPSA2XG5cbmV4cG9ydCBmdW5jdGlvbiBEcmVhbURldGFpbERpYWxvZyh7XG4gIHRhc2ssXG4gIG9uRG9uZSxcbiAgb25CYWNrLFxuICBvbktpbGwsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IGVsYXBzZWRUaW1lID0gdXNlRWxhcHNlZFRpbWUoXG4gICAgdGFzay5zdGFydFRpbWUsXG4gICAgdGFzay5zdGF0dXMgPT09ICdydW5uaW5nJyxcbiAgICAxMDAwLFxuICAgIDAsXG4gIClcblxuICAvLyBEaWFsb2cgaGFuZGxlcyBjb25maXJtOm5vIChFc2MpIOKGkiBvbkNhbmNlbC4gV2lyZSBjb25maXJtOnllcyAoRW50ZXIveSkgdG9vLlxuICB1c2VLZXliaW5kaW5ncyh7ICdjb25maXJtOnllcyc6IG9uRG9uZSB9LCB7IGNvbnRleHQ6ICdDb25maXJtYXRpb24nIH0pXG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnICcpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25Eb25lKClcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnbGVmdCcgJiYgb25CYWNrKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIG9uQmFjaygpXG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ3gnICYmIHRhc2suc3RhdHVzID09PSAncnVubmluZycgJiYgb25LaWxsKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIG9uS2lsbCgpXG4gICAgfVxuICB9XG5cbiAgLy8gVHVybnMgd2l0aCB0ZXh0IHRvIHNob3cuIFRvb2wtb25seSB0dXJucyAodGV4dD0nJykgYXJlIGRyb3BwZWQgZW50aXJlbHkg4oCUXG4gIC8vIHRoZSBwZXItdHVybiB0b29sVXNlQ291bnQgYWxyZWFkeSBjYXB0dXJlcyB0aGF0IHdvcmsuXG4gIGNvbnN0IHZpc2libGVUdXJucyA9IHRhc2sudHVybnMuZmlsdGVyKHQgPT4gdC50ZXh0ICE9PSAnJylcbiAgY29uc3Qgc2hvd24gPSB2aXNpYmxlVHVybnMuc2xpY2UoLVZJU0lCTEVfVFVSTlMpXG4gIGNvbnN0IGhpZGRlbiA9IHZpc2libGVUdXJucy5sZW5ndGggLSBzaG93bi5sZW5ndGhcblxuICByZXR1cm4gKFxuICAgIDxCb3hcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICBhdXRvRm9jdXNcbiAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICA+XG4gICAgICA8RGlhbG9nXG4gICAgICAgIHRpdGxlPVwiTWVtb3J5IGNvbnNvbGlkYXRpb25cIlxuICAgICAgICBzdWJ0aXRsZT17XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICB7ZWxhcHNlZFRpbWV9IMK3IHJldmlld2luZyB7dGFzay5zZXNzaW9uc1Jldmlld2luZ317JyAnfVxuICAgICAgICAgICAge3BsdXJhbCh0YXNrLnNlc3Npb25zUmV2aWV3aW5nLCAnc2Vzc2lvbicpfVxuICAgICAgICAgICAge3Rhc2suZmlsZXNUb3VjaGVkLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgwrcge3Rhc2suZmlsZXNUb3VjaGVkLmxlbmd0aH17JyAnfVxuICAgICAgICAgICAgICAgIHtwbHVyYWwodGFzay5maWxlc1RvdWNoZWQubGVuZ3RoLCAnZmlsZScpfSB0b3VjaGVkXG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIH1cbiAgICAgICAgb25DYW5jZWw9e29uRG9uZX1cbiAgICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICAgICAgaW5wdXRHdWlkZT17ZXhpdFN0YXRlID0+XG4gICAgICAgICAgZXhpdFN0YXRlLnBlbmRpbmcgPyAoXG4gICAgICAgICAgICA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICAgIHtvbkJhY2sgJiYgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwi4oaQXCIgYWN0aW9uPVwiZ28gYmFja1wiIC8+fVxuICAgICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFc2MvRW50ZXIvU3BhY2VcIiBhY3Rpb249XCJjbG9zZVwiIC8+XG4gICAgICAgICAgICAgIHt0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIG9uS2lsbCAmJiAoXG4gICAgICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwieFwiIGFjdGlvbj1cInN0b3BcIiAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9CeWxpbmU+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPlN0YXR1czo8L1RleHQ+eycgJ31cbiAgICAgICAgICAgIHt0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnID8gKFxuICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cImJhY2tncm91bmRcIj5ydW5uaW5nPC9UZXh0PlxuICAgICAgICAgICAgKSA6IHRhc2suc3RhdHVzID09PSAnY29tcGxldGVkJyA/IChcbiAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJzdWNjZXNzXCI+e3Rhc2suc3RhdHVzfTwvVGV4dD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIj57dGFzay5zdGF0dXN9PC9UZXh0PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1RleHQ+XG5cbiAgICAgICAgICB7c2hvd24ubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgIHt0YXNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnID8gJ1N0YXJ0aW5n4oCmJyA6ICcobm8gdGV4dCBvdXRwdXQpJ31cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge2hpZGRlbiA+IDAgJiYgKFxuICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgKHtoaWRkZW59IGVhcmxpZXIge3BsdXJhbChoaWRkZW4sICd0dXJuJyl9KVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3Nob3duLm1hcCgodHVybiwgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxCb3gga2V5PXtpfSBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICA8VGV4dCB3cmFwPVwid3JhcFwiPnt0dXJuLnRleHR9PC9UZXh0PlxuICAgICAgICAgICAgICAgICAge3R1cm4udG9vbFVzZUNvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgICAgIHsnICAnfSh7dHVybi50b29sVXNlQ291bnR9eycgJ31cbiAgICAgICAgICAgICAgICAgICAgICB7cGx1cmFsKHR1cm4udG9vbFVzZUNvdW50LCAndG9vbCcpfSlcbiAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICAgIDwvRGlhbG9nPlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixjQUFjQyxhQUFhLFFBQVEsb0JBQW9CO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSwrQkFBK0I7QUFDOUQsY0FBY0MsYUFBYSxRQUFRLG9DQUFvQztBQUN2RSxTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFjO0FBQ3hD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
250
+ }
@@ -262,5 +262,4 @@ export function InProcessTeammateDetailDialog(t0) {
262
262
  t22 = $[62];
263
263
  }
264
264
  return t22;
265
- }
266
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJEZWVwSW1tdXRhYmxlIiwidXNlRWxhcHNlZFRpbWUiLCJLZXlib2FyZEV2ZW50IiwiQm94IiwiVGV4dCIsInVzZVRoZW1lIiwidXNlS2V5YmluZGluZ3MiLCJnZXRFbXB0eVRvb2xQZXJtaXNzaW9uQ29udGV4dCIsIkluUHJvY2Vzc1RlYW1tYXRlVGFza1N0YXRlIiwiZ2V0VG9vbHMiLCJmb3JtYXROdW1iZXIiLCJ0cnVuY2F0ZVRvV2lkdGgiLCJ0b0lua0NvbG9yIiwiQnlsaW5lIiwiRGlhbG9nIiwiS2V5Ym9hcmRTaG9ydGN1dEhpbnQiLCJyZW5kZXJUb29sQWN0aXZpdHkiLCJkZXNjcmliZVRlYW1tYXRlQWN0aXZpdHkiLCJQcm9wcyIsInRlYW1tYXRlIiwib25Eb25lIiwib25LaWxsIiwib25CYWNrIiwib25Gb3JlZ3JvdW5kIiwiSW5Qcm9jZXNzVGVhbW1hdGVEZXRhaWxEaWFsb2ciLCJ0MCIsIiQiLCJfYyIsInRoZW1lIiwidDEiLCJTeW1ib2wiLCJmb3IiLCJ0b29scyIsImVsYXBzZWRUaW1lIiwic3RhcnRUaW1lIiwic3RhdHVzIiwidG90YWxQYXVzZWRNcyIsInQyIiwidDMiLCJjb250ZXh0IiwidDQiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVLZXlEb3duIiwidDUiLCJhY3Rpdml0eSIsInRva2VuQ291bnQiLCJyZXN1bHQiLCJ0b3RhbFRva2VucyIsInByb2dyZXNzIiwidG9vbFVzZUNvdW50IiwidG90YWxUb29sVXNlQ291bnQiLCJ0NiIsInByb21wdCIsImRpc3BsYXlQcm9tcHQiLCJ0NyIsImlkZW50aXR5IiwiY29sb3IiLCJ0OCIsImFnZW50TmFtZSIsInQ5IiwidDEwIiwidGl0bGUiLCJ0MTEiLCJ0MTIiLCJ1bmRlZmluZWQiLCJ0MTMiLCJ0MTQiLCJ0MTUiLCJzdWJ0aXRsZSIsInQxNiIsImV4aXRTdGF0ZSIsInBlbmRpbmciLCJrZXlOYW1lIiwidDE3IiwicmVjZW50QWN0aXZpdGllcyIsImxlbmd0aCIsIm1hcCIsImFjdGl2aXR5XzAiLCJpIiwidDE4IiwidDE5IiwidDIwIiwiZXJyb3IiLCJ0MjEiLCJ0MjIiXSwic291cmNlcyI6WyJJblByb2Nlc3NUZWFtbWF0ZURldGFpbERpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgRGVlcEltbXV0YWJsZSB9IGZyb20gJ3NyYy90eXBlcy91dGlscy5qcydcbmltcG9ydCB7IHVzZUVsYXBzZWRUaW1lIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRWxhcHNlZFRpbWUuanMnXG5pbXBvcnQgdHlwZSB7IEtleWJvYXJkRXZlbnQgfSBmcm9tICcuLi8uLi9pbmsvZXZlbnRzL2tleWJvYXJkLWV2ZW50LmpzJ1xuaW1wb3J0IHsgQm94LCBUZXh0LCB1c2VUaGVtZSB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZUtleWJpbmRpbmdzIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7IGdldEVtcHR5VG9vbFBlcm1pc3Npb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vVG9vbC5qcydcbmltcG9ydCB0eXBlIHsgSW5Qcm9jZXNzVGVhbW1hdGVUYXNrU3RhdGUgfSBmcm9tICcuLi8uLi90YXNrcy9JblByb2Nlc3NUZWFtbWF0ZVRhc2svdHlwZXMuanMnXG5pbXBvcnQgeyBnZXRUb29scyB9IGZyb20gJy4uLy4uL3Rvb2xzLmpzJ1xuaW1wb3J0IHsgZm9ybWF0TnVtYmVyLCB0cnVuY2F0ZVRvV2lkdGggfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXQuanMnXG5pbXBvcnQgeyB0b0lua0NvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW5rLmpzJ1xuaW1wb3J0IHsgQnlsaW5lIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9CeWxpbmUuanMnXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0RpYWxvZy5qcydcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRIaW50IH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9LZXlib2FyZFNob3J0Y3V0SGludC5qcydcbmltcG9ydCB7IHJlbmRlclRvb2xBY3Rpdml0eSB9IGZyb20gJy4vcmVuZGVyVG9vbEFjdGl2aXR5LmpzJ1xuaW1wb3J0IHsgZGVzY3JpYmVUZWFtbWF0ZUFjdGl2aXR5IH0gZnJvbSAnLi90YXNrU3RhdHVzVXRpbHMuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIHRlYW1tYXRlOiBEZWVwSW1tdXRhYmxlPEluUHJvY2Vzc1RlYW1tYXRlVGFza1N0YXRlPlxuICBvbkRvbmU6ICgpID0+IHZvaWRcbiAgb25LaWxsPzogKCkgPT4gdm9pZFxuICBvbkJhY2s/OiAoKSA9PiB2b2lkXG4gIG9uRm9yZWdyb3VuZD86ICgpID0+IHZvaWRcbn1cbmV4cG9ydCBmdW5jdGlvbiBJblByb2Nlc3NUZWFtbWF0ZURldGFpbERpYWxvZyh7XG4gIHRlYW1tYXRlLFxuICBvbkRvbmUsXG4gIG9uS2lsbCxcbiAgb25CYWNrLFxuICBvbkZvcmVncm91bmQsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFt0aGVtZV0gPSB1c2VUaGVtZSgpXG4gIGNvbnN0IHRvb2xzID0gdXNlTWVtbygoKSA9PiBnZXRUb29scyhnZXRFbXB0eVRvb2xQZXJtaXNzaW9uQ29udGV4dCgpKSwgW10pXG5cbiAgY29uc3QgZWxhcHNlZFRpbWUgPSB1c2VFbGFwc2VkVGltZShcbiAgICB0ZWFtbWF0ZS5zdGFydFRpbWUsXG4gICAgdGVhbW1hdGUuc3RhdHVzID09PSAncnVubmluZycsXG4gICAgMTAwMCxcbiAgICB0ZWFtbWF0ZS50b3RhbFBhdXNlZE1zID8/IDAsXG4gIClcblxuICAvLyBSZXN0b3JlIGNvbmZpcm06eWVzIChFbnRlci95KSBkaXNtaXNzYWwg4oCUIERpYWxvZyBoYW5kbGVzIGNvbmZpcm06bm8gKEVzYylcbiAgdXNlS2V5YmluZGluZ3MoXG4gICAge1xuICAgICAgJ2NvbmZpcm06eWVzJzogb25Eb25lLFxuICAgIH0sXG4gICAgeyBjb250ZXh0OiAnQ29uZmlybWF0aW9uJyB9LFxuICApXG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnICcpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25Eb25lKClcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnbGVmdCcgJiYgb25CYWNrKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIG9uQmFjaygpXG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ3gnICYmIHRlYW1tYXRlLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIG9uS2lsbCkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBvbktpbGwoKVxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdmJyAmJiB0ZWFtbWF0ZS5zdGF0dXMgPT09ICdydW5uaW5nJyAmJiBvbkZvcmVncm91bmQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25Gb3JlZ3JvdW5kKClcbiAgICB9XG4gIH1cblxuICBjb25zdCBhY3Rpdml0eSA9IGRlc2NyaWJlVGVhbW1hdGVBY3Rpdml0eSh0ZWFtbWF0ZSlcblxuICBjb25zdCB0b2tlbkNvdW50ID1cbiAgICB0ZWFtbWF0ZS5yZXN1bHQ/LnRvdGFsVG9rZW5zID8/IHRlYW1tYXRlLnByb2dyZXNzPy50b2tlbkNvdW50XG4gIGNvbnN0IHRvb2xVc2VDb3VudCA9XG4gICAgdGVhbW1hdGUucmVzdWx0Py50b3RhbFRvb2xVc2VDb3VudCA/PyB0ZWFtbWF0ZS5wcm9ncmVzcz8udG9vbFVzZUNvdW50XG5cbiAgY29uc3QgZGlzcGxheVByb21wdCA9IHRydW5jYXRlVG9XaWR0aCh0ZWFtbWF0ZS5wcm9tcHQsIDMwMClcblxuICBjb25zdCB0aXRsZSA9IChcbiAgICA8VGV4dD5cbiAgICAgIDxUZXh0IGNvbG9yPXt0b0lua0NvbG9yKHRlYW1tYXRlLmlkZW50aXR5LmNvbG9yKX0+XG4gICAgICAgIEB7dGVhbW1hdGUuaWRlbnRpdHkuYWdlbnROYW1lfVxuICAgICAgPC9UZXh0PlxuICAgICAge2FjdGl2aXR5ICYmIDxUZXh0IGRpbUNvbG9yPiAoe2FjdGl2aXR5fSk8L1RleHQ+fVxuICAgIDwvVGV4dD5cbiAgKVxuXG4gIGNvbnN0IHN1YnRpdGxlID0gKFxuICAgIDxUZXh0PlxuICAgICAge3RlYW1tYXRlLnN0YXR1cyAhPT0gJ3J1bm5pbmcnICYmIChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBjb2xvcj17XG4gICAgICAgICAgICB0ZWFtbWF0ZS5zdGF0dXMgPT09ICdjb21wbGV0ZWQnXG4gICAgICAgICAgICAgID8gJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgIDogdGVhbW1hdGUuc3RhdHVzID09PSAna2lsbGVkJ1xuICAgICAgICAgICAgICAgID8gJ3dhcm5pbmcnXG4gICAgICAgICAgICAgICAgOiAnZXJyb3InXG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAge3RlYW1tYXRlLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcbiAgICAgICAgICAgID8gJ0NvbXBsZXRlZCdcbiAgICAgICAgICAgIDogdGVhbW1hdGUuc3RhdHVzID09PSAnZmFpbGVkJ1xuICAgICAgICAgICAgICA/ICdGYWlsZWQnXG4gICAgICAgICAgICAgIDogJ1N0b3BwZWQnfVxuICAgICAgICAgIHsnIMK3ICd9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICl9XG4gICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAge2VsYXBzZWRUaW1lfVxuICAgICAgICB7dG9rZW5Db3VudCAhPT0gdW5kZWZpbmVkICYmIHRva2VuQ291bnQgPiAwICYmIChcbiAgICAgICAgICA8PiDCtyB7Zm9ybWF0TnVtYmVyKHRva2VuQ291bnQpfSB0b2tlbnM8Lz5cbiAgICAgICAgKX1cbiAgICAgICAge3Rvb2xVc2VDb3VudCAhPT0gdW5kZWZpbmVkICYmIHRvb2xVc2VDb3VudCA+IDAgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgwrcge3Rvb2xVc2VDb3VudH0ge3Rvb2xVc2VDb3VudCA9PT0gMSA/ICd0b29sJyA6ICd0b29scyd9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1RleHQ+XG4gICAgPC9UZXh0PlxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8Qm94XG4gICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgIHRhYkluZGV4PXswfVxuICAgICAgYXV0b0ZvY3VzXG4gICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgPlxuICAgICAgPERpYWxvZ1xuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIHN1YnRpdGxlPXtzdWJ0aXRsZX1cbiAgICAgICAgb25DYW5jZWw9e29uRG9uZX1cbiAgICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICAgICAgaW5wdXRHdWlkZT17ZXhpdFN0YXRlID0+XG4gICAgICAgICAgZXhpdFN0YXRlLnBlbmRpbmcgPyAoXG4gICAgICAgICAgICA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICAgIHtvbkJhY2sgJiYgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwi4oaQXCIgYWN0aW9uPVwiZ28gYmFja1wiIC8+fVxuICAgICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFc2MvRW50ZXIvU3BhY2VcIiBhY3Rpb249XCJjbG9zZVwiIC8+XG4gICAgICAgICAgICAgIHt0ZWFtbWF0ZS5zdGF0dXMgPT09ICdydW5uaW5nJyAmJiBvbktpbGwgJiYgKFxuICAgICAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cInhcIiBhY3Rpb249XCJzdG9wXCIgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3RlYW1tYXRlLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIG9uRm9yZWdyb3VuZCAmJiAoXG4gICAgICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwiZlwiIGFjdGlvbj1cImZvcmVncm91bmRcIiAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9CeWxpbmU+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHsvKiBSZWNlbnQgYWN0aXZpdGllcyBmb3IgcnVubmluZyB0ZWFtbWF0ZXMgKi99XG4gICAgICAgIHt0ZWFtbWF0ZS5zdGF0dXMgPT09ICdydW5uaW5nJyAmJlxuICAgICAgICAgIHRlYW1tYXRlLnByb2dyZXNzPy5yZWNlbnRBY3Rpdml0aWVzICYmXG4gICAgICAgICAgdGVhbW1hdGUucHJvZ3Jlc3MucmVjZW50QWN0aXZpdGllcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8VGV4dCBib2xkIGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgIFByb2dyZXNzXG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAge3RlYW1tYXRlLnByb2dyZXNzLnJlY2VudEFjdGl2aXRpZXMubWFwKChhY3Rpdml0eSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgICBkaW1Db2xvcj17aSA8IHRlYW1tYXRlLnByb2dyZXNzIS5yZWNlbnRBY3Rpdml0aWVzIS5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgd3JhcD1cInRydW5jYXRlLWVuZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2kgPT09IHRlYW1tYXRlLnByb2dyZXNzIS5yZWNlbnRBY3Rpdml0aWVzIS5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICAgID8gJ+KAuiAnXG4gICAgICAgICAgICAgICAgICAgIDogJyAgJ31cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJUb29sQWN0aXZpdHkoYWN0aXZpdHksIHRvb2xzLCB0aGVtZSl9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgey8qIFByb21wdCBzZWN0aW9uICovfVxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgIDxUZXh0IGJvbGQgZGltQ29sb3I+XG4gICAgICAgICAgICBQcm9tcHRcbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFRleHQgd3JhcD1cIndyYXBcIj57ZGlzcGxheVByb21wdH08L1RleHQ+XG4gICAgICAgIDwvQm94PlxuXG4gICAgICAgIHsvKiBFcnJvciBkZXRhaWxzIGlmIGZhaWxlZCAqL31cbiAgICAgICAge3RlYW1tYXRlLnN0YXR1cyA9PT0gJ2ZhaWxlZCcgJiYgdGVhbW1hdGUuZXJyb3IgJiYgKFxuICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIG1hcmdpblRvcD17MX0+XG4gICAgICAgICAgICA8VGV4dCBib2xkIGNvbG9yPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgRXJyb3JcbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIiB3cmFwPVwid3JhcFwiPlxuICAgICAgICAgICAgICB7dGVhbW1hdGUuZXJyb3J9XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICl9XG4gICAgICA8L0RpYWxvZz5cbiAgICA8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
265
+ }
@@ -901,4 +901,3 @@ export function RemoteSessionDetailDialog({
901
901
  </Dialog>
902
902
  </Box>;
903
903
  }
904
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWd1cmVzIiwiUmVhY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJTREtNZXNzYWdlIiwiVG9vbFVzZUNvbnRleHQiLCJEZWVwSW1tdXRhYmxlIiwiQ29tbWFuZFJlc3VsdERpc3BsYXkiLCJESUFNT05EX0ZJTExFRCIsIkRJQU1PTkRfT1BFTiIsInVzZUVsYXBzZWRUaW1lIiwiS2V5Ym9hcmRFdmVudCIsIkJveCIsIkxpbmsiLCJUZXh0IiwiUmVtb3RlQWdlbnRUYXNrU3RhdGUiLCJnZXRSZW1vdGVUYXNrU2Vzc2lvblVybCIsIkFHRU5UX1RPT0xfTkFNRSIsIkxFR0FDWV9BR0VOVF9UT09MX05BTUUiLCJBU0tfVVNFUl9RVUVTVElPTl9UT09MX05BTUUiLCJFWElUX1BMQU5fTU9ERV9WMl9UT09MX05BTUUiLCJvcGVuQnJvd3NlciIsImVycm9yTWVzc2FnZSIsImZvcm1hdER1cmF0aW9uIiwidHJ1bmNhdGVUb1dpZHRoIiwidG9JbnRlcm5hbE1lc3NhZ2VzIiwiRU1QVFlfTE9PS1VQUyIsIm5vcm1hbGl6ZU1lc3NhZ2VzIiwicGx1cmFsIiwidGVsZXBvcnRSZXN1bWVDb2RlU2Vzc2lvbiIsIlNlbGVjdCIsIkJ5bGluZSIsIkRpYWxvZyIsIktleWJvYXJkU2hvcnRjdXRIaW50IiwiTWVzc2FnZSIsImZvcm1hdFJldmlld1N0YWdlQ291bnRzIiwiUmVtb3RlU2Vzc2lvblByb2dyZXNzIiwiUHJvcHMiLCJzZXNzaW9uIiwidG9vbFVzZUNvbnRleHQiLCJvbkRvbmUiLCJyZXN1bHQiLCJvcHRpb25zIiwiZGlzcGxheSIsIm9uQmFjayIsIm9uS2lsbCIsImZvcm1hdFRvb2xVc2VTdW1tYXJ5IiwibmFtZSIsImlucHV0IiwicXMiLCJxdWVzdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJxIiwicXVlc3Rpb24iLCJoZWFkZXIiLCJvbmVMaW5lIiwicmVwbGFjZSIsInRyaW0iLCJ2IiwiT2JqZWN0IiwidmFsdWVzIiwiUEhBU0VfTEFCRUwiLCJuZWVkc19pbnB1dCIsInBsYW5fcmVhZHkiLCJjb25zdCIsIkFHRU5UX1ZFUkIiLCJVbHRyYXBsYW5TZXNzaW9uRGV0YWlsIiwidDAiLCIkIiwiX2MiLCJydW5uaW5nIiwic3RhdHVzIiwicGhhc2UiLCJ1bHRyYXBsYW5QaGFzZSIsInN0YXR1c1RleHQiLCJlbGFwc2VkVGltZSIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJzcGF3bnMiLCJjYWxscyIsImxhc3RCbG9jayIsIm1zZyIsImxvZyIsInR5cGUiLCJibG9jayIsIm1lc3NhZ2UiLCJjb250ZW50IiwidDEiLCJ0MiIsInQzIiwiYWdlbnRzV29ya2luZyIsInRvb2xDYWxscyIsImxhc3RUb29sQ2FsbCIsInQ0Iiwic2Vzc2lvbklkIiwic2Vzc2lvblVybCIsInQ1IiwiZ29CYWNrT3JDbG9zZSIsImNvbmZpcm1pbmdTdG9wIiwic2V0Q29uZmlybWluZ1N0b3AiLCJ0NiIsIlN5bWJvbCIsImZvciIsInQ3IiwidDgiLCJsYWJlbCIsInZhbHVlIiwidDkiLCJ0MTAiLCJ0MTEiLCJ0aWNrIiwidDEyIiwidDEzIiwidDE0IiwidDE1IiwidDE2IiwidDE3IiwidDE4IiwidDE5IiwidDIwIiwidDIxIiwidDIyIiwidDIzIiwidl8wIiwidDI0IiwidDI1IiwidDI2IiwiU1RBR0VTIiwiU1RBR0VfTEFCRUxTIiwiUmVjb3JkIiwiZmluZGluZyIsInZlcmlmeWluZyIsInN5bnRoZXNpemluZyIsIlN0YWdlUGlwZWxpbmUiLCJzdGFnZSIsImNvbXBsZXRlZCIsImhhc1Byb2dyZXNzIiwiaW5kZXhPZiIsImN1cnJlbnRJZHgiLCJpblNldHVwIiwibWFwIiwicyIsImkiLCJpc0N1cnJlbnQiLCJyZXZpZXdDb3VudHNMaW5lIiwicCIsInJldmlld1Byb2dyZXNzIiwidmVyaWZpZWQiLCJidWdzVmVyaWZpZWQiLCJyZWZ1dGVkIiwiYnVnc1JlZnV0ZWQiLCJwYXJ0cyIsInB1c2giLCJqb2luIiwiYnVnc0ZvdW5kIiwiTWVudUFjdGlvbiIsIlJldmlld1Nlc3Npb25EZXRhaWwiLCJoYW5kbGVDbG9zZSIsInN0YXR1c0xhYmVsIiwiYWN0aW9uIiwiYmI0NSIsImhhbmRsZVNlbGVjdCIsIl90ZW1wIiwiZXhpdFN0YXRlIiwicGVuZGluZyIsImtleU5hbWUiLCJSZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nIiwiUmVhY3ROb2RlIiwiaXNUZWxlcG9ydGluZyIsInNldElzVGVsZXBvcnRpbmciLCJ0ZWxlcG9ydEVycm9yIiwic2V0VGVsZXBvcnRFcnJvciIsImxhc3RNZXNzYWdlcyIsImlzVWx0cmFwbGFuIiwiaXNSZW1vdGVSZXZpZXciLCJmaWx0ZXIiLCJfIiwic2xpY2UiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlVGVsZXBvcnQiLCJQcm9taXNlIiwiZXJyIiwiZGlzcGxheVRpdGxlIiwidGl0bGUiLCJkaXNwbGF5U3RhdHVzIiwiRGF0ZSIsIm5vdyIsImxlbmd0aCIsInRvb2xzIiwiY29tbWFuZHMiLCJ2ZXJib3NlIiwiU2V0Il0sInNvdXJjZXMiOlsiUmVtb3RlU2Vzc2lvbkRldGFpbERpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpZ3VyZXMgZnJvbSAnZmlndXJlcydcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBTREtNZXNzYWdlIH0gZnJvbSAnc3JjL2VudHJ5cG9pbnRzL2FnZW50U2RrVHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFRvb2xVc2VDb250ZXh0IH0gZnJvbSAnc3JjL1Rvb2wuanMnXG5pbXBvcnQgdHlwZSB7IERlZXBJbW11dGFibGUgfSBmcm9tICdzcmMvdHlwZXMvdXRpbHMuanMnXG5pbXBvcnQgdHlwZSB7IENvbW1hbmRSZXN1bHREaXNwbGF5IH0gZnJvbSAnLi4vLi4vY29tbWFuZHMuanMnXG5pbXBvcnQgeyBESUFNT05EX0ZJTExFRCwgRElBTU9ORF9PUEVOIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2ZpZ3VyZXMuanMnXG5pbXBvcnQgeyB1c2VFbGFwc2VkVGltZSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUVsYXBzZWRUaW1lLmpzJ1xuaW1wb3J0IHR5cGUgeyBLZXlib2FyZEV2ZW50IH0gZnJvbSAnLi4vLi4vaW5rL2V2ZW50cy9rZXlib2FyZC1ldmVudC5qcydcbmltcG9ydCB7IEJveCwgTGluaywgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB0eXBlIHsgUmVtb3RlQWdlbnRUYXNrU3RhdGUgfSBmcm9tICcuLi8uLi90YXNrcy9SZW1vdGVBZ2VudFRhc2svUmVtb3RlQWdlbnRUYXNrLmpzJ1xuaW1wb3J0IHsgZ2V0UmVtb3RlVGFza1Nlc3Npb25VcmwgfSBmcm9tICcuLi8uLi90YXNrcy9SZW1vdGVBZ2VudFRhc2svUmVtb3RlQWdlbnRUYXNrLmpzJ1xuaW1wb3J0IHtcbiAgQUdFTlRfVE9PTF9OQU1FLFxuICBMRUdBQ1lfQUdFTlRfVE9PTF9OQU1FLFxufSBmcm9tICcuLi8uLi90b29scy9BZ2VudFRvb2wvY29uc3RhbnRzLmpzJ1xuaW1wb3J0IHsgQVNLX1VTRVJfUVVFU1RJT05fVE9PTF9OQU1FIH0gZnJvbSAnLi4vLi4vdG9vbHMvQXNrVXNlclF1ZXN0aW9uVG9vbC9wcm9tcHQuanMnXG5pbXBvcnQgeyBFWElUX1BMQU5fTU9ERV9WMl9UT09MX05BTUUgfSBmcm9tICcuLi8uLi90b29scy9FeGl0UGxhbk1vZGVUb29sL2NvbnN0YW50cy5qcydcbmltcG9ydCB7IG9wZW5Ccm93c2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvYnJvd3Nlci5qcydcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL3V0aWxzL2Vycm9ycy5qcydcbmltcG9ydCB7IGZvcm1hdER1cmF0aW9uLCB0cnVuY2F0ZVRvV2lkdGggfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXQuanMnXG5pbXBvcnQgeyB0b0ludGVybmFsTWVzc2FnZXMgfSBmcm9tICcuLi8uLi91dGlscy9tZXNzYWdlcy9tYXBwZXJzLmpzJ1xuaW1wb3J0IHsgRU1QVFlfTE9PS1VQUywgbm9ybWFsaXplTWVzc2FnZXMgfSBmcm9tICcuLi8uLi91dGlscy9tZXNzYWdlcy5qcydcbmltcG9ydCB7IHBsdXJhbCB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZ1V0aWxzLmpzJ1xuaW1wb3J0IHsgdGVsZXBvcnRSZXN1bWVDb2RlU2Vzc2lvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3RlbGVwb3J0LmpzJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vQ3VzdG9tU2VsZWN0L3NlbGVjdC5qcydcbmltcG9ydCB7IEJ5bGluZSB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vQnlsaW5lLmpzJ1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9EaWFsb2cuanMnXG5pbXBvcnQgeyBLZXlib2FyZFNob3J0Y3V0SGludCB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vS2V5Ym9hcmRTaG9ydGN1dEhpbnQuanMnXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi4vTWVzc2FnZS5qcydcbmltcG9ydCB7XG4gIGZvcm1hdFJldmlld1N0YWdlQ291bnRzLFxuICBSZW1vdGVTZXNzaW9uUHJvZ3Jlc3MsXG59IGZyb20gJy4vUmVtb3RlU2Vzc2lvblByb2dyZXNzLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICBzZXNzaW9uOiBEZWVwSW1tdXRhYmxlPFJlbW90ZUFnZW50VGFza1N0YXRlPlxuICB0b29sVXNlQ29udGV4dDogVG9vbFVzZUNvbnRleHRcbiAgb25Eb25lOiAoXG4gICAgcmVzdWx0Pzogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7IGRpc3BsYXk/OiBDb21tYW5kUmVzdWx0RGlzcGxheSB9LFxuICApID0+IHZvaWRcbiAgb25CYWNrPzogKCkgPT4gdm9pZFxuICBvbktpbGw/OiAoKSA9PiB2b2lkXG59XG5cbi8vIENvbXBhY3Qgb25lLWxpbmUgc3VtbWFyeTogdG9vbCBuYW1lICsgZmlyc3QgbWVhbmluZ2Z1bCBzdHJpbmcgYXJnLlxuLy8gTGlnaHRlciB0aGFuIHRvb2wucmVuZGVyVG9vbFVzZU1lc3NhZ2UgKG5vIHJlZ2lzdHJ5IGxvb2t1cCAvIHNjaGVtYSBwYXJzZSkuXG4vLyBDb2xsYXBzZXMgd2hpdGVzcGFjZSBzbyBtdWx0aS1saW5lIGlucHV0cyAoZS5nLiBCYXNoIGNvbW1hbmQgdGV4dClcbi8vIHJlbmRlciBvbiBvbmUgbGluZS5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUb29sVXNlU3VtbWFyeShuYW1lOiBzdHJpbmcsIGlucHV0OiB1bmtub3duKTogc3RyaW5nIHtcbiAgLy8gcGxhbl9yZWFkeSBwaGFzZSBpcyBvbmx5IHJlYWNoZWQgdmlhIEV4aXRQbGFuTW9kZSB0b29sXG4gIGlmIChuYW1lID09PSBFWElUX1BMQU5fTU9ERV9WMl9UT09MX05BTUUpIHtcbiAgICByZXR1cm4gJ1JldmlldyB0aGUgcGxhbiBpbiBDbGF1ZGUgQ29kZSBvbiB0aGUgd2ViJ1xuICB9XG4gIGlmICghaW5wdXQgfHwgdHlwZW9mIGlucHV0ICE9PSAnb2JqZWN0JykgcmV0dXJuIG5hbWVcbiAgLy8gQXNrVXNlclF1ZXN0aW9uOiBzaG93IHRoZSBxdWVzdGlvbiB0ZXh0IGFzIGEgQ1RBLCBub3QgdGhlIHRvb2wgbmFtZS5cbiAgLy8gSW5wdXQgc2hhcGUgaXMge3F1ZXN0aW9uczogW3txdWVzdGlvbiwgaGVhZGVyLCBvcHRpb25zfV19LlxuICBpZiAobmFtZSA9PT0gQVNLX1VTRVJfUVVFU1RJT05fVE9PTF9OQU1FICYmICdxdWVzdGlvbnMnIGluIGlucHV0KSB7XG4gICAgY29uc3QgcXMgPSBpbnB1dC5xdWVzdGlvbnNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShxcykgJiYgcXNbMF0gJiYgdHlwZW9mIHFzWzBdID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gUHJlZmVyIHF1ZXN0aW9uIChmdWxsIHRleHQpIG92ZXIgaGVhZGVyIChtYXgtMTItY2hhciB0YWcpLiBoZWFkZXJcbiAgICAgIC8vIGlzIGEgcmVxdWlyZWQgc2NoZW1hIGZpZWxkIHNvIGNoZWNraW5nIGl0IGZpcnN0IHdvdWxkIG1ha2UgdGhlXG4gICAgICAvLyBxdWVzdGlvbiBmYWxsYmFjayBkZWFkIGNvZGUuXG4gICAgICBjb25zdCBxID1cbiAgICAgICAgJ3F1ZXN0aW9uJyBpbiBxc1swXSAmJlxuICAgICAgICB0eXBlb2YgcXNbMF0ucXVlc3Rpb24gPT09ICdzdHJpbmcnICYmXG4gICAgICAgIHFzWzBdLnF1ZXN0aW9uXG4gICAgICAgICAgPyBxc1swXS5xdWVzdGlvblxuICAgICAgICAgIDogJ2hlYWRlcicgaW4gcXNbMF0gJiYgdHlwZW9mIHFzWzBdLmhlYWRlciA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gcXNbMF0uaGVhZGVyXG4gICAgICAgICAgICA6IG51bGxcbiAgICAgIGlmIChxKSB7XG4gICAgICAgIGNvbnN0IG9uZUxpbmUgPSBxLnJlcGxhY2UoL1xccysvZywgJyAnKS50cmltKClcbiAgICAgICAgcmV0dXJuIGBBbnN3ZXIgaW4gYnJvd3NlcjogJHt0cnVuY2F0ZVRvV2lkdGgob25lTGluZSwgNTApfWBcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCB2IG9mIE9iamVjdC52YWx1ZXMoaW5wdXQpKSB7XG4gICAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJyAmJiB2LnRyaW0oKSkge1xuICAgICAgY29uc3Qgb25lTGluZSA9IHYucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKVxuICAgICAgcmV0dXJuIGAke25hbWV9ICR7dHJ1bmNhdGVUb1dpZHRoKG9uZUxpbmUsIDYwKX1gXG4gICAgfVxuICB9XG4gIHJldHVybiBuYW1lXG59XG5cbmNvbnN0IFBIQVNFX0xBQkVMID0ge1xuICBuZWVkc19pbnB1dDogJ2lucHV0IHJlcXVpcmVkJyxcbiAgcGxhbl9yZWFkeTogJ3JlYWR5Jyxcbn0gYXMgY29uc3RcblxuY29uc3QgQUdFTlRfVkVSQiA9IHtcbiAgbmVlZHNfaW5wdXQ6ICd3YWl0aW5nJyxcbiAgcGxhbl9yZWFkeTogJ2RvbmUnLFxufSBhcyBjb25zdFxuXG5mdW5jdGlvbiBVbHRyYXBsYW5TZXNzaW9uRGV0YWlsKHtcbiAgc2Vzc2lvbixcbiAgb25Eb25lLFxuICBvbkJhY2ssXG4gIG9uS2lsbCxcbn06IE9taXQ8UHJvcHMsICd0b29sVXNlQ29udGV4dCc+KTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgcnVubmluZyA9IHNlc3Npb24uc3RhdHVzID09PSAncnVubmluZycgfHwgc2Vzc2lvbi5zdGF0dXMgPT09ICdwZW5kaW5nJ1xuICBjb25zdCBwaGFzZSA9IHNlc3Npb24udWx0cmFwbGFuUGhhc2VcbiAgY29uc3Qgc3RhdHVzVGV4dCA9IHJ1bm5pbmdcbiAgICA/IHBoYXNlXG4gICAgICA/IFBIQVNFX0xBQkVMW3BoYXNlXVxuICAgICAgOiAncnVubmluZydcbiAgICA6IHNlc3Npb24uc3RhdHVzXG4gIGNvbnN0IGVsYXBzZWRUaW1lID0gdXNlRWxhcHNlZFRpbWUoXG4gICAgc2Vzc2lvbi5zdGFydFRpbWUsXG4gICAgcnVubmluZyxcbiAgICAxMDAwLFxuICAgIDAsXG4gICAgc2Vzc2lvbi5lbmRUaW1lLFxuICApXG5cbiAgLy8gQ291bnRzIGFyZSBldmVudHVhbGx5IGNvcnJlY3QgKGxhZyDiiaQgcG9sbCBpbnRlcnZhbCkuIGFnZW50c1dvcmtpbmcgc3RhcnRzXG4gIC8vIGF0IDEgKHRoZSBtYWluIHNlc3Npb24gYWdlbnQpIGFuZCBpbmNyZW1lbnRzIHBlciBzdWJhZ2VudCBzcGF3bi4gdG9vbENhbGxzXG4gIC8vIGlzIG1haW4tc2Vzc2lvbiBvbmx5IOKAlCBzdWJhZ2VudCBjYWxscyBtYXkgbm90IHN1cmZhY2UgaW4gdGhpcyBzdHJlYW0uXG4gIGNvbnN0IHsgYWdlbnRzV29ya2luZywgdG9vbENhbGxzLCBsYXN0VG9vbENhbGwgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBzcGF3bnMgPSAwXG4gICAgbGV0IGNhbGxzID0gMFxuICAgIGxldCBsYXN0QmxvY2s6IHsgbmFtZTogc3RyaW5nOyBpbnB1dDogdW5rbm93biB9IHwgbnVsbCA9IG51bGxcbiAgICBmb3IgKGNvbnN0IG1zZyBvZiBzZXNzaW9uLmxvZykge1xuICAgICAgaWYgKG1zZy50eXBlICE9PSAnYXNzaXN0YW50JykgY29udGludWVcbiAgICAgIGZvciAoY29uc3QgYmxvY2sgb2YgbXNnLm1lc3NhZ2UuY29udGVudCkge1xuICAgICAgICBpZiAoYmxvY2sudHlwZSAhPT0gJ3Rvb2xfdXNlJykgY29udGludWVcbiAgICAgICAgY2FsbHMrK1xuICAgICAgICBsYXN0QmxvY2sgPSBibG9ja1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYmxvY2submFtZSA9PT0gQUdFTlRfVE9PTF9OQU1FIHx8XG4gICAgICAgICAgYmxvY2submFtZSA9PT0gTEVHQUNZX0FHRU5UX1RPT0xfTkFNRVxuICAgICAgICApIHtcbiAgICAgICAgICBzcGF3bnMrK1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBhZ2VudHNXb3JraW5nOiAxICsgc3Bhd25zLFxuICAgICAgdG9vbENhbGxzOiBjYWxscyxcbiAgICAgIGxhc3RUb29sQ2FsbDogbGFzdEJsb2NrXG4gICAgICAgID8gZm9ybWF0VG9vbFVzZVN1bW1hcnkobGFzdEJsb2NrLm5hbWUsIGxhc3RCbG9jay5pbnB1dClcbiAgICAgICAgOiBudWxsLFxuICAgIH1cbiAgfSwgW3Nlc3Npb24ubG9nXSlcblxuICBjb25zdCBzZXNzaW9uVXJsID0gZ2V0UmVtb3RlVGFza1Nlc3Npb25Vcmwoc2Vzc2lvbi5zZXNzaW9uSWQpXG4gIGNvbnN0IGdvQmFja09yQ2xvc2UgPVxuICAgIG9uQmFjayA/P1xuICAgICgoKSA9PiBvbkRvbmUoJ1JlbW90ZSBzZXNzaW9uIGRldGFpbHMgZGlzbWlzc2VkJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KSlcbiAgY29uc3QgW2NvbmZpcm1pbmdTdG9wLCBzZXRDb25maXJtaW5nU3RvcF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBpZiAoY29uZmlybWluZ1N0b3ApIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ1xuICAgICAgICB0aXRsZT1cIlN0b3AgdWx0cmFwbGFuP1wiXG4gICAgICAgIG9uQ2FuY2VsPXsoKSA9PiBzZXRDb25maXJtaW5nU3RvcChmYWxzZSl9XG4gICAgICAgIGNvbG9yPVwiYmFja2dyb3VuZFwiXG4gICAgICA+XG4gICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICBUaGlzIHdpbGwgdGVybWluYXRlIHRoZSBDbGF1ZGUgQ29kZSBvbiB0aGUgd2ViIHNlc3Npb24uXG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgIG9wdGlvbnM9e1tcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ1Rlcm1pbmF0ZSBzZXNzaW9uJywgdmFsdWU6ICdzdG9wJyBhcyBjb25zdCB9LFxuICAgICAgICAgICAgICB7IGxhYmVsOiAnQmFjaycsIHZhbHVlOiAnYmFjaycgYXMgY29uc3QgfSxcbiAgICAgICAgICAgIF19XG4gICAgICAgICAgICBvbkNoYW5nZT17diA9PiB7XG4gICAgICAgICAgICAgIGlmICh2ID09PSAnc3RvcCcpIHtcbiAgICAgICAgICAgICAgICBvbktpbGw/LigpXG4gICAgICAgICAgICAgICAgZ29CYWNrT3JDbG9zZSgpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0Q29uZmlybWluZ1N0b3AoZmFsc2UpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0RpYWxvZz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2dcbiAgICAgIHRpdGxlPXtcbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAgPFRleHQgY29sb3I9XCJiYWNrZ3JvdW5kXCI+XG4gICAgICAgICAgICB7cGhhc2UgPT09ICdwbGFuX3JlYWR5JyA/IERJQU1PTkRfRklMTEVEIDogRElBTU9ORF9PUEVOfXsnICd9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDxUZXh0IGJvbGQ+dWx0cmFwbGFuPC9UZXh0PlxuICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICAgICAgeycgwrcgJ31cbiAgICAgICAgICAgIHtlbGFwc2VkVGltZX1cbiAgICAgICAgICAgIHsnIMK3ICd9XG4gICAgICAgICAgICB7c3RhdHVzVGV4dH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIH1cbiAgICAgIG9uQ2FuY2VsPXtnb0JhY2tPckNsb3NlfVxuICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICA+XG4gICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBnYXA9ezF9PlxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICB7cGhhc2UgPT09ICdwbGFuX3JlYWR5JyAmJiAoXG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cInN1Y2Nlc3NcIj57ZmlndXJlcy50aWNrfSA8L1RleHQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7YWdlbnRzV29ya2luZ30ge3BsdXJhbChhZ2VudHNXb3JraW5nLCAnYWdlbnQnKX17JyAnfVxuICAgICAgICAgIHtwaGFzZSA/IEFHRU5UX1ZFUkJbcGhhc2VdIDogJ3dvcmtpbmcnfSDCtyB7dG9vbENhbGxzfSB0b29seycgJ31cbiAgICAgICAgICB7cGx1cmFsKHRvb2xDYWxscywgJ2NhbGwnKX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICB7bGFzdFRvb2xDYWxsICYmIDxUZXh0IGRpbUNvbG9yPntsYXN0VG9vbENhbGx9PC9UZXh0Pn1cbiAgICAgICAgPExpbmsgdXJsPXtzZXNzaW9uVXJsfT5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj57c2Vzc2lvblVybH08L1RleHQ+XG4gICAgICAgIDwvTGluaz5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9wdGlvbnM9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdSZXZpZXcgaW4gQ2xhdWRlIENvZGUgb24gdGhlIHdlYicsXG4gICAgICAgICAgICAgIHZhbHVlOiAnb3BlbicgYXMgY29uc3QsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKG9uS2lsbCAmJiBydW5uaW5nXG4gICAgICAgICAgICAgID8gW3sgbGFiZWw6ICdTdG9wIHVsdHJhcGxhbicsIHZhbHVlOiAnc3RvcCcgYXMgY29uc3QgfV1cbiAgICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgICB7IGxhYmVsOiAnQmFjaycsIHZhbHVlOiAnYmFjaycgYXMgY29uc3QgfSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIG9uQ2hhbmdlPXt2ID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICAgICAgICB2b2lkIG9wZW5Ccm93c2VyKHNlc3Npb25VcmwpXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgdGhlIGRpYWxvZyBzbyB0aGUgdXNlciBsYW5kcyBiYWNrIGF0IHRoZSBwcm9tcHQgd2l0aFxuICAgICAgICAgICAgICAgIC8vIGFueSBoYWxmLXdyaXR0ZW4gaW5wdXQgaW50YWN0IChpbnB1dFZhbHVlIHBlcnNpc3RzIGFjcm9zc1xuICAgICAgICAgICAgICAgIC8vIHRoZSBzaG93QmFzaGVzRGlhbG9nIHRvZ2dsZSkuXG4gICAgICAgICAgICAgICAgb25Eb25lKClcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgY2FzZSAnc3RvcCc6XG4gICAgICAgICAgICAgICAgc2V0Q29uZmlybWluZ1N0b3AodHJ1ZSlcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgY2FzZSAnYmFjayc6XG4gICAgICAgICAgICAgICAgZ29CYWNrT3JDbG9zZSgpXG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm94PlxuICAgIDwvRGlhbG9nPlxuICApXG59XG5cbmNvbnN0IFNUQUdFUyA9IFsnZmluZGluZycsICd2ZXJpZnlpbmcnLCAnc3ludGhlc2l6aW5nJ10gYXMgY29uc3RcbmNvbnN0IFNUQUdFX0xBQkVMUzogUmVjb3JkPCh0eXBlb2YgU1RBR0VTKVtudW1iZXJdLCBzdHJpbmc+ID0ge1xuICBmaW5kaW5nOiAnRmluZCcsXG4gIHZlcmlmeWluZzogJ1ZlcmlmeScsXG4gIHN5bnRoZXNpemluZzogJ0RlZHVwZScsXG59XG5cbi8vIFNldHVwIOKGkiBGaW5kIOKGkiBWZXJpZnkg4oaSIERlZHVwZSBwaXBlbGluZS4gQ3VycmVudCBzdGFnZSBpbiBjbG91ZCB0ZWFsLFxuLy8gcmVzdCBkaW0uIFdoZW4gY29tcGxldGVkLCBhbGwgc3RhZ2VzIGRpbSB3aXRoIGEgdHJhaWxpbmcgZ3JlZW4g4pyTLiBUaGVcbi8vIFwiU2V0dXBcIiBsYWJlbCBzaG93cyBiZWZvcmUgdGhlIG9yY2hlc3RyYXRvciB3cml0ZXMgaXRzIGZpcnN0IHByb2dyZXNzXG4vLyBzbmFwc2hvdCAoY29udGFpbmVyIGJvb3QgKyByZXBvIGNsb25lKSwgc28gdGhlIDAtZm91bmQgZGlzcGxheSBkb2Vzbid0XG4vLyBsb29rIGxpa2UgYSBodW5nIGZpbmRlci5cbmZ1bmN0aW9uIFN0YWdlUGlwZWxpbmUoe1xuICBzdGFnZSxcbiAgY29tcGxldGVkLFxuICBoYXNQcm9ncmVzcyxcbn06IHtcbiAgc3RhZ2U6ICdmaW5kaW5nJyB8ICd2ZXJpZnlpbmcnIHwgJ3N5bnRoZXNpemluZycgfCB1bmRlZmluZWRcbiAgY29tcGxldGVkOiBib29sZWFuXG4gIGhhc1Byb2dyZXNzOiBib29sZWFuXG59KTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgY3VycmVudElkeCA9IHN0YWdlID8gU1RBR0VTLmluZGV4T2Yoc3RhZ2UpIDogLTFcbiAgY29uc3QgaW5TZXR1cCA9ICFjb21wbGV0ZWQgJiYgIWhhc1Byb2dyZXNzXG4gIHJldHVybiAoXG4gICAgPFRleHQ+XG4gICAgICB7aW5TZXR1cCA/IChcbiAgICAgICAgPFRleHQgY29sb3I9XCJiYWNrZ3JvdW5kXCI+U2V0dXA8L1RleHQ+XG4gICAgICApIDogKFxuICAgICAgICA8VGV4dCBkaW1Db2xvcj5TZXR1cDwvVGV4dD5cbiAgICAgICl9XG4gICAgICA8VGV4dCBkaW1Db2xvcj4g4oaSIDwvVGV4dD5cbiAgICAgIHtTVEFHRVMubWFwKChzLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ3VycmVudCA9ICFjb21wbGV0ZWQgJiYgIWluU2V0dXAgJiYgaSA9PT0gY3VycmVudElkeFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e3N9PlxuICAgICAgICAgICAge2kgPiAwICYmIDxUZXh0IGRpbUNvbG9yPiDihpIgPC9UZXh0Pn1cbiAgICAgICAgICAgIHtpc0N1cnJlbnQgPyAoXG4gICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPntTVEFHRV9MQUJFTFNbc119PC9UZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+e1NUQUdFX0xBQkVMU1tzXX08L1RleHQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgICAge2NvbXBsZXRlZCAmJiA8VGV4dCBjb2xvcj1cInN1Y2Nlc3NcIj4g4pyTPC9UZXh0Pn1cbiAgICA8L1RleHQ+XG4gIClcbn1cblxuLy8gU3RhZ2UtYXBwcm9wcmlhdGUgY291bnRzIGxpbmUuIFJ1bm5pbmctc3RhdGUgZm9ybWF0dGluZyBkZWxlZ2F0ZXMgdG9cbi8vIGZvcm1hdFJldmlld1N0YWdlQ291bnRzIChzaGFyZWQgd2l0aCB0aGUgcGlsbCkgc28gdGhlIHR3byB2aWV3cyBjYW4ndFxuLy8gZHJpZnQ7IGNvbXBsZXRlZCBzdGF0ZSBpcyBkaWFsb2ctc3BlY2lmaWMgKGZpbmRpbmdzIHN1bW1hcnkpLlxuZnVuY3Rpb24gcmV2aWV3Q291bnRzTGluZShcbiAgc2Vzc2lvbjogRGVlcEltbXV0YWJsZTxSZW1vdGVBZ2VudFRhc2tTdGF0ZT4sXG4pOiBzdHJpbmcge1xuICBjb25zdCBwID0gc2Vzc2lvbi5yZXZpZXdQcm9ncmVzc1xuICAvLyBObyBwcm9ncmVzcyBkYXRhIOKAlCB0aGUgb3JjaGVzdHJhdG9yIG5ldmVyIHdyb3RlIGEgc25hcHNob3QuIERvbid0XG4gIC8vIGNsYWltIFwiMCBmaW5kaW5nc1wiIHdoZW4gY29tcGxldGVkOyB3ZSBqdXN0IGRvbid0IGtub3cuXG4gIGlmICghcCkgcmV0dXJuIHNlc3Npb24uc3RhdHVzID09PSAnY29tcGxldGVkJyA/ICdkb25lJyA6ICdzZXR0aW5nIHVwJ1xuICBjb25zdCB2ZXJpZmllZCA9IHAuYnVnc1ZlcmlmaWVkXG4gIGNvbnN0IHJlZnV0ZWQgPSBwLmJ1Z3NSZWZ1dGVkID8/IDBcbiAgaWYgKHNlc3Npb24uc3RhdHVzID09PSAnY29tcGxldGVkJykge1xuICAgIGNvbnN0IHBhcnRzID0gW2Ake3ZlcmlmaWVkfSAke3BsdXJhbCh2ZXJpZmllZCwgJ2ZpbmRpbmcnKX1gXVxuICAgIGlmIChyZWZ1dGVkID4gMCkgcGFydHMucHVzaChgJHtyZWZ1dGVkfSByZWZ1dGVkYClcbiAgICByZXR1cm4gcGFydHMuam9pbignIMK3ICcpXG4gIH1cbiAgcmV0dXJuIGZvcm1hdFJldmlld1N0YWdlQ291bnRzKHAuc3RhZ2UsIHAuYnVnc0ZvdW5kLCB2ZXJpZmllZCwgcmVmdXRlZClcbn1cblxudHlwZSBNZW51QWN0aW9uID0gJ29wZW4nIHwgJ3N0b3AnIHwgJ2JhY2snIHwgJ2Rpc21pc3MnXG5cbmZ1bmN0aW9uIFJldmlld1Nlc3Npb25EZXRhaWwoe1xuICBzZXNzaW9uLFxuICBvbkRvbmUsXG4gIG9uQmFjayxcbiAgb25LaWxsLFxufTogT21pdDxQcm9wcywgJ3Rvb2xVc2VDb250ZXh0Jz4pOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBjb21wbGV0ZWQgPSBzZXNzaW9uLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcbiAgY29uc3QgcnVubmluZyA9IHNlc3Npb24uc3RhdHVzID09PSAncnVubmluZycgfHwgc2Vzc2lvbi5zdGF0dXMgPT09ICdwZW5kaW5nJ1xuICBjb25zdCBbY29uZmlybWluZ1N0b3AsIHNldENvbmZpcm1pbmdTdG9wXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIC8vIHVzZUVsYXBzZWRUaW1lIGRyaXZlcyB0aGUgMUh6IHRpY2sgc28gdGhlIHRpbWVyIGFkdmFuY2VzIHdoaWxlIHRoZVxuICAvLyBkaWFsb2cgaXMgb3BlbiDigJQgdGhlIHByZXZpb3VzIGlubGluZSBlbGFwc2VkLXRpbWUgY2FsY3VsYXRpb24gb25seVxuICAvLyByZS1yZW5kZXJlZCBvbiBzZXNzaW9uIHN0YXRlIGNoYW5nZXMgKHBvbGwgaW50ZXJ2YWwpLCB3aGljaCBsb29rZWRcbiAgLy8gbGlrZSB0aGUgY2xvY2sgd2FzIHN0dWNrLlxuICBjb25zdCBlbGFwc2VkVGltZSA9IHVzZUVsYXBzZWRUaW1lKFxuICAgIHNlc3Npb24uc3RhcnRUaW1lLFxuICAgIHJ1bm5pbmcsXG4gICAgMTAwMCxcbiAgICAwLFxuICAgIHNlc3Npb24uZW5kVGltZSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT5cbiAgICBvbkRvbmUoJ1JlbW90ZSBzZXNzaW9uIGRldGFpbHMgZGlzbWlzc2VkJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KVxuICBjb25zdCBnb0JhY2tPckNsb3NlID0gb25CYWNrID8/IGhhbmRsZUNsb3NlXG5cbiAgY29uc3Qgc2Vzc2lvblVybCA9IGdldFJlbW90ZVRhc2tTZXNzaW9uVXJsKHNlc3Npb24uc2Vzc2lvbklkKVxuICBjb25zdCBzdGF0dXNMYWJlbCA9IGNvbXBsZXRlZCA/ICdyZWFkeScgOiBydW5uaW5nID8gJ3J1bm5pbmcnIDogc2Vzc2lvbi5zdGF0dXNcblxuICBpZiAoY29uZmlybWluZ1N0b3ApIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERpYWxvZ1xuICAgICAgICB0aXRsZT1cIlN0b3AgdWx0cmFyZXZpZXc/XCJcbiAgICAgICAgb25DYW5jZWw9eygpID0+IHNldENvbmZpcm1pbmdTdG9wKGZhbHNlKX1cbiAgICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICAgID5cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXsxfT5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgIFRoaXMgYXJjaGl2ZXMgdGhlIHJlbW90ZSBzZXNzaW9uIGFuZCBzdG9wcyBsb2NhbCB0cmFja2luZy4gVGhlXG4gICAgICAgICAgICByZXZpZXcgd2lsbCBub3QgY29tcGxldGUgYW5kIGFueSBmaW5kaW5ncyBzbyBmYXIgYXJlIGRpc2NhcmRlZC5cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgb3B0aW9ucz17W1xuICAgICAgICAgICAgICB7IGxhYmVsOiAnU3RvcCB1bHRyYXJldmlldycsIHZhbHVlOiAnc3RvcCcgYXMgY29uc3QgfSxcbiAgICAgICAgICAgICAgeyBsYWJlbDogJ0JhY2snLCB2YWx1ZTogJ2JhY2snIGFzIGNvbnN0IH0sXG4gICAgICAgICAgICBdfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3YgPT4ge1xuICAgICAgICAgICAgICBpZiAodiA9PT0gJ3N0b3AnKSB7XG4gICAgICAgICAgICAgICAgb25LaWxsPy4oKVxuICAgICAgICAgICAgICAgIGdvQmFja09yQ2xvc2UoKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldENvbmZpcm1pbmdTdG9wKGZhbHNlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9EaWFsb2c+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgb3B0aW9uczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogTWVudUFjdGlvbiB9W10gPSBjb21wbGV0ZWRcbiAgICA/IFtcbiAgICAgICAgeyBsYWJlbDogJ09wZW4gaW4gQ2xhdWRlIENvZGUgb24gdGhlIHdlYicsIHZhbHVlOiAnb3BlbicgfSxcbiAgICAgICAgeyBsYWJlbDogJ0Rpc21pc3MnLCB2YWx1ZTogJ2Rpc21pc3MnIH0sXG4gICAgICBdXG4gICAgOiBbXG4gICAgICAgIHsgbGFiZWw6ICdPcGVuIGluIENsYXVkZSBDb2RlIG9uIHRoZSB3ZWInLCB2YWx1ZTogJ29wZW4nIH0sXG4gICAgICAgIC4uLihvbktpbGwgJiYgcnVubmluZ1xuICAgICAgICAgID8gW3sgbGFiZWw6ICdTdG9wIHVsdHJhcmV2aWV3JywgdmFsdWU6ICdzdG9wJyBhcyBjb25zdCB9XVxuICAgICAgICAgIDogW10pLFxuICAgICAgICB7IGxhYmVsOiAnQmFjaycsIHZhbHVlOiAnYmFjaycgfSxcbiAgICAgIF1cblxuICBjb25zdCBoYW5kbGVTZWxlY3QgPSAoYWN0aW9uOiBNZW51QWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICB2b2lkIG9wZW5Ccm93c2VyKHNlc3Npb25VcmwpXG4gICAgICAgIG9uRG9uZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdzdG9wJzpcbiAgICAgICAgc2V0Q29uZmlybWluZ1N0b3AodHJ1ZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2JhY2snOlxuICAgICAgICBnb0JhY2tPckNsb3NlKClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2Rpc21pc3MnOlxuICAgICAgICBoYW5kbGVDbG9zZSgpXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8RGlhbG9nXG4gICAgICB0aXRsZT17XG4gICAgICAgIDxUZXh0PlxuICAgICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPlxuICAgICAgICAgICAge2NvbXBsZXRlZCA/IERJQU1PTkRfRklMTEVEIDogRElBTU9ORF9PUEVOfXsnICd9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDxUZXh0IGJvbGQ+dWx0cmFyZXZpZXc8L1RleHQ+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICB7JyDCtyAnfVxuICAgICAgICAgICAge2VsYXBzZWRUaW1lfVxuICAgICAgICAgICAgeycgwrcgJ31cbiAgICAgICAgICAgIHtzdGF0dXNMYWJlbH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIH1cbiAgICAgIG9uQ2FuY2VsPXtnb0JhY2tPckNsb3NlfVxuICAgICAgY29sb3I9XCJiYWNrZ3JvdW5kXCJcbiAgICAgIGlucHV0R3VpZGU9e2V4aXRTdGF0ZSA9PlxuICAgICAgICBleGl0U3RhdGUucGVuZGluZyA/IChcbiAgICAgICAgICA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJ5bGluZT5cbiAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cIkVudGVyXCIgYWN0aW9uPVwic2VsZWN0XCIgLz5cbiAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cIkVzY1wiIGFjdGlvbj1cImdvIGJhY2tcIiAvPlxuICAgICAgICAgIDwvQnlsaW5lPlxuICAgICAgICApXG4gICAgICB9XG4gICAgPlxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXsxfT5cbiAgICAgICAgPFN0YWdlUGlwZWxpbmVcbiAgICAgICAgICBzdGFnZT17c2Vzc2lvbi5yZXZpZXdQcm9ncmVzcz8uc3RhZ2V9XG4gICAgICAgICAgY29tcGxldGVkPXtjb21wbGV0ZWR9XG4gICAgICAgICAgaGFzUHJvZ3Jlc3M9eyEhc2Vzc2lvbi5yZXZpZXdQcm9ncmVzc31cbiAgICAgICAgLz5cblxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dD57cmV2aWV3Q291bnRzTGluZShzZXNzaW9uKX08L1RleHQ+XG4gICAgICAgICAgPExpbmsgdXJsPXtzZXNzaW9uVXJsfT5cbiAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPntzZXNzaW9uVXJsfTwvVGV4dD5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvQm94PlxuXG4gICAgICAgIDxTZWxlY3Qgb3B0aW9ucz17b3B0aW9uc30gb25DaGFuZ2U9e2hhbmRsZVNlbGVjdH0gLz5cbiAgICAgIDwvQm94PlxuICAgIDwvRGlhbG9nPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nKHtcbiAgc2Vzc2lvbixcbiAgdG9vbFVzZUNvbnRleHQsXG4gIG9uRG9uZSxcbiAgb25CYWNrLFxuICBvbktpbGwsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtpc1RlbGVwb3J0aW5nLCBzZXRJc1RlbGVwb3J0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbdGVsZXBvcnRFcnJvciwgc2V0VGVsZXBvcnRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIC8vIEdldCBsYXN0IGZldyBtZXNzYWdlcyBmcm9tIHJlbW90ZSBzZXNzaW9uIGZvciBkaXNwbGF5LlxuICAvLyBTY2FuIGFsbCBtZXNzYWdlcyAobm90IGp1c3QgdGhlIGxhc3QgMyByYXcgZW50cmllcykgYmVjYXVzZSB0aGUgdGFpbCBvZlxuICAvLyB0aGUgbG9nIGlzIG9mdGVuIHRoaW5raW5nLW9ubHkgYmxvY2tzIHRoYXQgbm9ybWFsaXNlIHRvICdwcm9ncmVzcycgdHlwZS5cbiAgLy8gUGxhY2VkIGJlZm9yZSB0aGUgZWFybHkgcmV0dXJucyBzbyBob29rIGNhbGwgb3JkZXIgaXMgc3RhYmxlIChSdWxlcyBvZiBIb29rcykuXG4gIC8vIFVsdHJhcGxhbi9yZXZpZXcgc2Vzc2lvbnMgbmV2ZXIgcmVhZCB0aGlzIOKAlCBza2lwIHRoZSBub3JtYWxpemUgd29yayBmb3IgdGhlbS5cbiAgY29uc3QgbGFzdE1lc3NhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHNlc3Npb24uaXNVbHRyYXBsYW4gfHwgc2Vzc2lvbi5pc1JlbW90ZVJldmlldykgcmV0dXJuIFtdXG4gICAgcmV0dXJuIG5vcm1hbGl6ZU1lc3NhZ2VzKHRvSW50ZXJuYWxNZXNzYWdlcyhzZXNzaW9uLmxvZyBhcyBTREtNZXNzYWdlW10pKVxuICAgICAgLmZpbHRlcihfID0+IF8udHlwZSAhPT0gJ3Byb2dyZXNzJylcbiAgICAgIC5zbGljZSgtMylcbiAgfSwgW3Nlc3Npb25dKVxuXG4gIGlmIChzZXNzaW9uLmlzVWx0cmFwbGFuKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxVbHRyYXBsYW5TZXNzaW9uRGV0YWlsXG4gICAgICAgIHNlc3Npb249e3Nlc3Npb259XG4gICAgICAgIG9uRG9uZT17b25Eb25lfVxuICAgICAgICBvbkJhY2s9e29uQmFja31cbiAgICAgICAgb25LaWxsPXtvbktpbGx9XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIC8vIFJldmlldyBzZXNzaW9ucyBnZXQgdGhlIHN0YWdlLXBpcGVsaW5lIHZpZXc7IGV2ZXJ5dGhpbmcgZWxzZSBrZWVwcyB0aGVcbiAgLy8gZ2VuZXJpYyBsYWJlbC92YWx1ZSArIHJlY2VudC1tZXNzYWdlcyBkaWFsb2cgYmVsb3cuXG4gIGlmIChzZXNzaW9uLmlzUmVtb3RlUmV2aWV3KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxSZXZpZXdTZXNzaW9uRGV0YWlsXG4gICAgICAgIHNlc3Npb249e3Nlc3Npb259XG4gICAgICAgIG9uRG9uZT17b25Eb25lfVxuICAgICAgICBvbkJhY2s9e29uQmFja31cbiAgICAgICAgb25LaWxsPXtvbktpbGx9XG4gICAgICAvPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT5cbiAgICBvbkRvbmUoJ1JlbW90ZSBzZXNzaW9uIGRldGFpbHMgZGlzbWlzc2VkJywgeyBkaXNwbGF5OiAnc3lzdGVtJyB9KVxuXG4gIC8vIENvbXBvbmVudC1zcGVjaWZpYyBzaG9ydGN1dHMgc2hvd24gaW4gVUkgaGludHMgKHQ9dGVsZXBvcnQsIHNwYWNlPWRpc21pc3MsXG4gIC8vIGxlZnQ9YmFjaykuIFRoZXNlIGFyZSBzdGF0ZS1kZXBlbmRlbnQgYWN0aW9ucywgbm90IHN0YW5kYXJkIGRpYWxvZyBrZXliaW5kaW5ncy5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnICcpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25Eb25lKCdSZW1vdGUgc2Vzc2lvbiBkZXRhaWxzIGRpc21pc3NlZCcsIHsgZGlzcGxheTogJ3N5c3RlbScgfSlcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnbGVmdCcgJiYgb25CYWNrKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIG9uQmFjaygpXG4gICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ3QnICYmICFpc1RlbGVwb3J0aW5nKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIHZvaWQgaGFuZGxlVGVsZXBvcnQoKVxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdyZXR1cm4nKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9XG4gIH1cblxuICAvLyBIYW5kbGUgdGVsZXBvcnRpbmcgdG8gcmVtb3RlIHNlc3Npb25cbiAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlVGVsZXBvcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc2V0SXNUZWxlcG9ydGluZyh0cnVlKVxuICAgIHNldFRlbGVwb3J0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0ZWxlcG9ydFJlc3VtZUNvZGVTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0VGVsZXBvcnRFcnJvcihlcnJvck1lc3NhZ2UoZXJyKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNUZWxlcG9ydGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICAvLyBUcnVuY2F0ZSB0aXRsZSBpZiB0b28gbG9uZyAoZm9yIGRpc3BsYXkgcHVycG9zZXMpXG4gIGNvbnN0IGRpc3BsYXlUaXRsZSA9IHRydW5jYXRlVG9XaWR0aChzZXNzaW9uLnRpdGxlLCA1MClcblxuICAvLyBNYXAgVGFza1N0YXR1cyB0byBkaXNwbGF5IHN0YXR1cyAoaGFuZGxlICdwZW5kaW5nJylcbiAgY29uc3QgZGlzcGxheVN0YXR1cyA9XG4gICAgc2Vzc2lvbi5zdGF0dXMgPT09ICdwZW5kaW5nJyA/ICdzdGFydGluZycgOiBzZXNzaW9uLnN0YXR1c1xuXG4gIHJldHVybiAoXG4gICAgPEJveFxuICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICB0YWJJbmRleD17MH1cbiAgICAgIGF1dG9Gb2N1c1xuICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgID5cbiAgICAgIDxEaWFsb2dcbiAgICAgICAgdGl0bGU9XCJSZW1vdGUgc2Vzc2lvbiBkZXRhaWxzXCJcbiAgICAgICAgb25DYW5jZWw9e2hhbmRsZUNsb3NlfVxuICAgICAgICBjb2xvcj1cImJhY2tncm91bmRcIlxuICAgICAgICBpbnB1dEd1aWRlPXtleGl0U3RhdGUgPT5cbiAgICAgICAgICBleGl0U3RhdGUucGVuZGluZyA/IChcbiAgICAgICAgICAgIDxUZXh0PlByZXNzIHtleGl0U3RhdGUua2V5TmFtZX0gYWdhaW4gdG8gZXhpdDwvVGV4dD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPEJ5bGluZT5cbiAgICAgICAgICAgICAge29uQmFjayAmJiA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCLihpBcIiBhY3Rpb249XCJnbyBiYWNrXCIgLz59XG4gICAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cIkVzYy9FbnRlci9TcGFjZVwiIGFjdGlvbj1cImNsb3NlXCIgLz5cbiAgICAgICAgICAgICAgeyFpc1RlbGVwb3J0aW5nICYmIChcbiAgICAgICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJ0XCIgYWN0aW9uPVwidGVsZXBvcnRcIiAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9CeWxpbmU+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgPFRleHQgYm9sZD5TdGF0dXM8L1RleHQ+OnsnICd9XG4gICAgICAgICAgICB7ZGlzcGxheVN0YXR1cyA9PT0gJ3J1bm5pbmcnIHx8IGRpc3BsYXlTdGF0dXMgPT09ICdzdGFydGluZycgPyAoXG4gICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPntkaXNwbGF5U3RhdHVzfTwvVGV4dD5cbiAgICAgICAgICAgICkgOiBkaXNwbGF5U3RhdHVzID09PSAnY29tcGxldGVkJyA/IChcbiAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJzdWNjZXNzXCI+e2Rpc3BsYXlTdGF0dXN9PC9UZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJlcnJvclwiPntkaXNwbGF5U3RhdHVzfTwvVGV4dD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgPFRleHQgYm9sZD5SdW50aW1lPC9UZXh0Pjp7JyAnfVxuICAgICAgICAgICAge2Zvcm1hdER1cmF0aW9uKFxuICAgICAgICAgICAgICAoc2Vzc2lvbi5lbmRUaW1lID8/IERhdGUubm93KCkpIC0gc2Vzc2lvbi5zdGFydFRpbWUsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8VGV4dCB3cmFwPVwidHJ1bmNhdGUtZW5kXCI+XG4gICAgICAgICAgICA8VGV4dCBib2xkPlRpdGxlPC9UZXh0Pjoge2Rpc3BsYXlUaXRsZX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPlByb2dyZXNzPC9UZXh0Pjp7JyAnfVxuICAgICAgICAgICAgPFJlbW90ZVNlc3Npb25Qcm9ncmVzcyBzZXNzaW9uPXtzZXNzaW9ufSAvPlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGJvbGQ+U2Vzc2lvbiBVUkw8L1RleHQ+OnsnICd9XG4gICAgICAgICAgICA8TGluayB1cmw9e2dldFJlbW90ZVRhc2tTZXNzaW9uVXJsKHNlc3Npb24uc2Vzc2lvbklkKX0+XG4gICAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPntnZXRSZW1vdGVUYXNrU2Vzc2lvblVybChzZXNzaW9uLnNlc3Npb25JZCl9PC9UZXh0PlxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG5cbiAgICAgICAgey8qIFJlbW90ZSBzZXNzaW9uIG1lc3NhZ2VzIHNlY3Rpb24gKi99XG4gICAgICAgIHtzZXNzaW9uLmxvZy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIDxUZXh0IGJvbGQ+UmVjZW50IG1lc3NhZ2VzPC9UZXh0PjpcbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGhlaWdodD17MTB9IG92ZXJmbG93WT1cImhpZGRlblwiPlxuICAgICAgICAgICAgICB7bGFzdE1lc3NhZ2VzLm1hcCgobXNnLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9e21zZ31cbiAgICAgICAgICAgICAgICAgIGxvb2t1cHM9e0VNUFRZX0xPT0tVUFN9XG4gICAgICAgICAgICAgICAgICBhZGRNYXJnaW49e2kgPiAwfVxuICAgICAgICAgICAgICAgICAgdG9vbHM9e3Rvb2xVc2VDb250ZXh0Lm9wdGlvbnMudG9vbHN9XG4gICAgICAgICAgICAgICAgICBjb21tYW5kcz17dG9vbFVzZUNvbnRleHQub3B0aW9ucy5jb21tYW5kc31cbiAgICAgICAgICAgICAgICAgIHZlcmJvc2U9e3Rvb2xVc2VDb250ZXh0Lm9wdGlvbnMudmVyYm9zZX1cbiAgICAgICAgICAgICAgICAgIGluUHJvZ3Jlc3NUb29sVXNlSURzPXtuZXcgU2V0KCl9XG4gICAgICAgICAgICAgICAgICBwcm9ncmVzc01lc3NhZ2VzRm9yTWVzc2FnZT17W119XG4gICAgICAgICAgICAgICAgICBzaG91bGRBbmltYXRlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgIHNob3VsZFNob3dEb3Q9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJjb25kZW5zZWRcIlxuICAgICAgICAgICAgICAgICAgaXNUcmFuc2NyaXB0TW9kZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICBpc1N0YXRpYz17dHJ1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPEJveCBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgICAgICA8VGV4dCBkaW1Db2xvciBpdGFsaWM+XG4gICAgICAgICAgICAgICAgU2hvd2luZyBsYXN0IHtsYXN0TWVzc2FnZXMubGVuZ3RofSBvZiB7c2Vzc2lvbi5sb2cubGVuZ3RofXsnICd9XG4gICAgICAgICAgICAgICAgbWVzc2FnZXNcbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICl9XG5cbiAgICAgICAgey8qIFRlbGVwb3J0IGVycm9yIG1lc3NhZ2UgKi99XG4gICAgICAgIHt0ZWxlcG9ydEVycm9yICYmIChcbiAgICAgICAgICA8Qm94IG1hcmdpblRvcD17MX0+XG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cImVycm9yXCI+VGVsZXBvcnQgZmFpbGVkOiB7dGVsZXBvcnRFcnJvcn08L1RleHQ+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICl9XG5cbiAgICAgICAgey8qIFRlbGVwb3J0aW5nIHN0YXR1cyAqL31cbiAgICAgICAge2lzVGVsZXBvcnRpbmcgJiYgKFxuICAgICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPlRlbGVwb3J0aW5nIHRvIHNlc3Npb27igKY8L1RleHQ+XG4gICAgICAgICl9XG4gICAgICA8L0RpYWxvZz5cbiAgICA8L0JveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsT0FBTyxNQUFNLFNBQVM7QUFDN0IsT0FBT0MsS0FBSyxJQUFJQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ2hELGNBQWNDLFVBQVUsUUFBUSxrQ0FBa0M7QUFDbEUsY0FBY0MsY0FBYyxRQUFRLGFBQWE7QUFDakQsY0FBY0MsYUFBYSxRQUFRLG9CQUFvQjtBQUN2RCxjQUFjQyxvQkFBb0IsUUFBUSxtQkFBbUI7QUFDN0QsU0FBU0MsY0FBYyxFQUFFQyxZQUFZLFFBQVEsNEJBQTRCO0FBQ3pFLFNBQVNDLGNBQWMsUUFBUSwrQkFBK0I7QUFDOUQsY0FBY0MsYUFBYSxRQUFRLG9DQUFvQztBQUN2RSxT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
@@ -239,5 +239,4 @@ export function RemoteSessionProgress(t0) {
239
239
  }
240
240
  function _temp(_) {
241
241
  return _.status === "completed";
242
- }
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsIlJlbW90ZUFnZW50VGFza1N0YXRlIiwiRGVlcEltbXV0YWJsZSIsIkRJQU1PTkRfRklMTEVEIiwiRElBTU9ORF9PUEVOIiwidXNlU2V0dGluZ3MiLCJUZXh0IiwidXNlQW5pbWF0aW9uRnJhbWUiLCJjb3VudCIsImdldFJhaW5ib3dDb2xvciIsIlRJQ0tfTVMiLCJSZXZpZXdTdGFnZSIsIk5vbk51bGxhYmxlIiwiZm9ybWF0UmV2aWV3U3RhZ2VDb3VudHMiLCJzdGFnZSIsImZvdW5kIiwidmVyaWZpZWQiLCJyZWZ1dGVkIiwicGFydHMiLCJwdXNoIiwiam9pbiIsIlJhaW5ib3dUZXh0IiwidDAiLCIkIiwiX2MiLCJ0ZXh0IiwicGhhc2UiLCJ0MSIsInVuZGVmaW5lZCIsInQyIiwidDMiLCJtYXAiLCJjaCIsImkiLCJ1c2VTbW9vdGhDb3VudCIsInRhcmdldCIsInRpbWUiLCJzbmFwIiwiZGlzcGxheWVkIiwibGFzdFRpY2siLCJjdXJyZW50IiwiUmV2aWV3UmFpbmJvd0xpbmUiLCJzZXNzaW9uIiwic2V0dGluZ3MiLCJyZWR1Y2VkTW90aW9uIiwicHJlZmVyc1JlZHVjZWRNb3Rpb24iLCJwIiwicmV2aWV3UHJvZ3Jlc3MiLCJydW5uaW5nIiwic3RhdHVzIiwidGFyZ2V0Rm91bmQiLCJidWdzRm91bmQiLCJ0YXJnZXRWZXJpZmllZCIsImJ1Z3NWZXJpZmllZCIsInRhcmdldFJlZnV0ZWQiLCJidWdzUmVmdXRlZCIsIk1hdGgiLCJmbG9vciIsIlN5bWJvbCIsImZvciIsInRhaWwiLCJ0NCIsInQ1IiwidDYiLCJSZW1vdGVTZXNzaW9uUHJvZ3Jlc3MiLCJpc1JlbW90ZVJldmlldyIsInRvZG9MaXN0IiwibGVuZ3RoIiwiX3RlbXAiLCJjb21wbGV0ZWQiLCJ0b3RhbCIsIl8iXSwic291cmNlcyI6WyJSZW1vdGVTZXNzaW9uUHJvZ3Jlc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgUmVtb3RlQWdlbnRUYXNrU3RhdGUgfSBmcm9tICdzcmMvdGFza3MvUmVtb3RlQWdlbnRUYXNrL1JlbW90ZUFnZW50VGFzay5qcydcbmltcG9ydCB0eXBlIHsgRGVlcEltbXV0YWJsZSB9IGZyb20gJ3NyYy90eXBlcy91dGlscy5qcydcbmltcG9ydCB7IERJQU1PTkRfRklMTEVELCBESUFNT05EX09QRU4gfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZmlndXJlcy5qcydcbmltcG9ydCB7IHVzZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2V0dGluZ3MuanMnXG5pbXBvcnQgeyBUZXh0LCB1c2VBbmltYXRpb25GcmFtZSB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IGNvdW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXkuanMnXG5pbXBvcnQgeyBnZXRSYWluYm93Q29sb3IgfSBmcm9tICcuLi8uLi91dGlscy90aGlua2luZy5qcydcblxuY29uc3QgVElDS19NUyA9IDgwXG5cbnR5cGUgUmV2aWV3U3RhZ2UgPSBOb25OdWxsYWJsZTxcbiAgTm9uTnVsbGFibGU8UmVtb3RlQWdlbnRUYXNrU3RhdGVbJ3Jldmlld1Byb2dyZXNzJ10+WydzdGFnZSddXG4+XG5cbi8qKlxuICogU3RhZ2UtYXBwcm9wcmlhdGUgY291bnRzIGxpbmUgZm9yIGEgcnVubmluZyByZXZpZXcuIFNoYXJlZCBiZXR3ZWVuIHRoZVxuICogb25lLWxpbmUgcGlsbCAoYmVsb3cpIGFuZCBSZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nJ3MgcmV2aWV3Q291bnRzTGluZSBzb1xuICogdGhlIHR3byBjYW4ndCBkcmlmdCDigJQgdGhleSBoYXZlIGhpc3RvcmljYWxseSBkaXNhZ3JlZWQgb24gd2hldGhlciB0byBzaG93XG4gKiByZWZ1dGVkIGNvdW50cyBhbmQgd2hhdCB0byBjYWxsIHRoZSBzeW50aGVzaXppbmcgc3RhZ2UuXG4gKlxuICogQ2Fub25pY2FsIGJlaGF2aW9yOiB3b3JkIGxhYmVscyAobm90IOKcky/inJcpLCBoaWRlIHJlZnV0ZWQgd2hlbiAwLCBcImRlZHVwaW5nXCJcbiAqIGZvciB0aGUgc3ludGhlc2l6aW5nIHN0YWdlIChtYXRjaGVzIFNUQUdFX0xBQkVMUyBpbiB0aGUgZGV0YWlsIGRpYWxvZykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRSZXZpZXdTdGFnZUNvdW50cyhcbiAgc3RhZ2U6IFJldmlld1N0YWdlIHwgdW5kZWZpbmVkLFxuICBmb3VuZDogbnVtYmVyLFxuICB2ZXJpZmllZDogbnVtYmVyLFxuICByZWZ1dGVkOiBudW1iZXIsXG4pOiBzdHJpbmcge1xuICAvLyBQcmUtc3RhZ2Ugb3JjaGVzdHJhdG9yIGltYWdlcyBkb24ndCB3cml0ZSB0aGUgc3RhZ2UgZmllbGQuXG4gIGlmICghc3RhZ2UpIHJldHVybiBgJHtmb3VuZH0gZm91bmQgwrcgJHt2ZXJpZmllZH0gdmVyaWZpZWRgXG4gIGlmIChzdGFnZSA9PT0gJ3N5bnRoZXNpemluZycpIHtcbiAgICBjb25zdCBwYXJ0cyA9IFtgJHt2ZXJpZmllZH0gdmVyaWZpZWRgXVxuICAgIGlmIChyZWZ1dGVkID4gMCkgcGFydHMucHVzaChgJHtyZWZ1dGVkfSByZWZ1dGVkYClcbiAgICBwYXJ0cy5wdXNoKCdkZWR1cGluZycpXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJyDCtyAnKVxuICB9XG4gIGlmIChzdGFnZSA9PT0gJ3ZlcmlmeWluZycpIHtcbiAgICBjb25zdCBwYXJ0cyA9IFtgJHtmb3VuZH0gZm91bmRgLCBgJHt2ZXJpZmllZH0gdmVyaWZpZWRgXVxuICAgIGlmIChyZWZ1dGVkID4gMCkgcGFydHMucHVzaChgJHtyZWZ1dGVkfSByZWZ1dGVkYClcbiAgICByZXR1cm4gcGFydHMuam9pbignIMK3ICcpXG4gIH1cbiAgLy8gc3RhZ2UgPT09ICdmaW5kaW5nJ1xuICByZXR1cm4gZm91bmQgPiAwID8gYCR7Zm91bmR9IGZvdW5kYCA6ICdmaW5kaW5nJ1xufVxuXG4vLyBQZXItY2hhcmFjdGVyIHJhaW5ib3cgZ3JhZGllbnQsIHNhbWUgdHJlYXRtZW50IGFzIHRoZSB1bHRyYXBsYW4ga2V5d29yZC5cbi8vIFRoZSBwaGFzZSBvZmZzZXQgbGV0cyB0aGUgZ3JhZGllbnQgY3ljbGUg4oCUIHNvIHRoZSBjb2xvcnMgc3dlZXAgYWxvbmcgdGhlXG4vLyB0ZXh0IG9uIGVhY2ggYW5pbWF0aW9uIGZyYW1lIGluc3RlYWQgb2YgYmVpbmcgc3RhdGljLlxuZnVuY3Rpb24gUmFpbmJvd1RleHQoe1xuICB0ZXh0LFxuICBwaGFzZSA9IDAsXG59OiB7XG4gIHRleHQ6IHN0cmluZ1xuICBwaGFzZT86IG51bWJlclxufSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtbLi4udGV4dF0ubWFwKChjaCwgaSkgPT4gKFxuICAgICAgICA8VGV4dCBrZXk9e2l9IGNvbG9yPXtnZXRSYWluYm93Q29sb3IoaSArIHBoYXNlKX0+XG4gICAgICAgICAge2NofVxuICAgICAgICA8L1RleHQ+XG4gICAgICApKX1cbiAgICA8Lz5cbiAgKVxufVxuXG4vLyBTbW9vdGgtdGljayBhIGNvdW50IHRvd2FyZCB0YXJnZXQsICsxIHBlciBmcmFtZS4gU2FtZSBwYXR0ZXJuIGFzIHRoZVxuLy8gdG9rZW4gY291bnRlciBpbiBTcGlubmVyQW5pbWF0aW9uUm93IOKAlCB0aGUgcmVmIHN1cnZpdmVzIHJlLXJlbmRlcnMgYW5kXG4vLyB0aGUgYW5pbWF0aW9uIGNsb2NrIGRyaXZlcyB0aGUgdGljay4gVGFyZ2V0IGp1bXBzICgy4oaSNSkgZGlzcGxheSBhc1xuLy8gMuKGkjPihpI04oaSNSBpbnN0ZWFkIG9mIHNuYXBwaW5nLiBXaGVuIGBzbmFwYCBpcyBzZXQgKHJlZHVjZWQgbW90aW9uLCBvclxuLy8gdGhlIGNsb2NrIGlzIGZyb3plbiksIGJ5cGFzcyB0aGUgdGljayBhbmQganVtcCBzdHJhaWdodCB0byB0YXJnZXQg4oCUXG4vLyBvdGhlcndpc2UgYSBmcm96ZW4gYHRpbWVgIHdvdWxkIGxlYXZlIHRoZSByZWYgc3R1Y2sgYXQgaXRzIGluaXQgdmFsdWUuXG5mdW5jdGlvbiB1c2VTbW9vdGhDb3VudCh0YXJnZXQ6IG51bWJlciwgdGltZTogbnVtYmVyLCBzbmFwOiBib29sZWFuKTogbnVtYmVyIHtcbiAgY29uc3QgZGlzcGxheWVkID0gdXNlUmVmKHRhcmdldClcbiAgY29uc3QgbGFzdFRpY2sgPSB1c2VSZWYodGltZSlcbiAgaWYgKHNuYXAgfHwgdGFyZ2V0IDwgZGlzcGxheWVkLmN1cnJlbnQpIHtcbiAgICBkaXNwbGF5ZWQuY3VycmVudCA9IHRhcmdldFxuICB9IGVsc2UgaWYgKHRhcmdldCA+IGRpc3BsYXllZC5jdXJyZW50ICYmIHRpbWUgIT09IGxhc3RUaWNrLmN1cnJlbnQpIHtcbiAgICBkaXNwbGF5ZWQuY3VycmVudCArPSAxXG4gICAgbGFzdFRpY2suY3VycmVudCA9IHRpbWVcbiAgfVxuICByZXR1cm4gZGlzcGxheWVkLmN1cnJlbnRcbn1cblxuZnVuY3Rpb24gUmV2aWV3UmFpbmJvd0xpbmUoe1xuICBzZXNzaW9uLFxufToge1xuICBzZXNzaW9uOiBEZWVwSW1tdXRhYmxlPFJlbW90ZUFnZW50VGFza1N0YXRlPlxufSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IHNldHRpbmdzID0gdXNlU2V0dGluZ3MoKVxuICBjb25zdCByZWR1Y2VkTW90aW9uID0gc2V0dGluZ3MucHJlZmVyc1JlZHVjZWRNb3Rpb24gPz8gZmFsc2VcbiAgY29uc3QgcCA9IHNlc3Npb24ucmV2aWV3UHJvZ3Jlc3NcbiAgY29uc3QgcnVubmluZyA9IHNlc3Npb24uc3RhdHVzID09PSAncnVubmluZydcbiAgLy8gQW5pbWF0aW9uIGNsb2NrIHJ1bnMgb25seSB3aGlsZSBydW5uaW5nIOKAlCBjb21wbGV0ZWQvZmFpbGVkIGFyZSBzdGF0aWMuXG4gIC8vIERpc2FibGVkIGVudGlyZWx5IHdoZW4gdGhlIHVzZXIgcHJlZmVycyByZWR1Y2VkIG1vdGlvbi5cbiAgLy9cbiAgLy8gVGhlIHJlZiBpcyBpbnRlbnRpb25hbGx5IGRpc2NhcmRlZDogdGhpcyBjb21wb25lbnQgaXMgcmVuZGVyZWQgaW5zaWRlXG4gIC8vIDxUZXh0PiB3cmFwcGVycyAoQmFja2dyb3VuZFRhc2tzRGlhbG9nLCBSZW1vdGVTZXNzaW9uRGV0YWlsRGlhbG9nKSwgYW5kXG4gIC8vIEluayBjYW4ndCBuZXN0IDxCb3g+IGluc2lkZSA8VGV4dD4uIERyb3BwaW5nIHRoZSByZWYgbWVhbnNcbiAgLy8gdXNlVGVybWluYWxWaWV3cG9ydCdzIGlzVmlzaWJsZSBzdGF5cyB0cnVlLCBzbyB0aGUgY2xvY2sgdGlja3MgZXZlbiB3aGVuXG4gIC8vIHNjcm9sbGVkIG9mZi1zY3JlZW4g4oCUIGFjY2VwdGFibGUgZm9yIGEgc2luZ2xlIDMwLWNoYXIgbGluZS5cbiAgY29uc3QgWywgdGltZV0gPSB1c2VBbmltYXRpb25GcmFtZShydW5uaW5nICYmICFyZWR1Y2VkTW90aW9uID8gVElDS19NUyA6IG51bGwpXG5cbiAgY29uc3QgdGFyZ2V0Rm91bmQgPSBwPy5idWdzRm91bmQgPz8gMFxuICBjb25zdCB0YXJnZXRWZXJpZmllZCA9IHA/LmJ1Z3NWZXJpZmllZCA/PyAwXG4gIGNvbnN0IHRhcmdldFJlZnV0ZWQgPSBwPy5idWdzUmVmdXRlZCA/PyAwXG4gIC8vIHNuYXAgd2hlbiB0aGUgY2xvY2sgaXNuJ3QgYWR2YW5jaW5nIChyZWR1Y2VkIG1vdGlvbiwgb3Igbm90IHJ1bm5pbmcpIOKAlFxuICAvLyB1c2VBbmltYXRpb25GcmFtZShudWxsKSBmcmVlemVzIGB0aW1lYCBhdCBpdHMgbW91bnQgdmFsdWUsIHdoaWNoIHdvdWxkXG4gIC8vIGxlYXZlIHRoZSB0aWNrLWdhdGUgcGVybWFuZW50bHkgZmFsc2UuXG4gIGNvbnN0IHNuYXAgPSByZWR1Y2VkTW90aW9uIHx8ICFydW5uaW5nXG4gIGNvbnN0IGZvdW5kID0gdXNlU21vb3RoQ291bnQodGFyZ2V0Rm91bmQsIHRpbWUsIHNuYXApXG4gIGNvbnN0IHZlcmlmaWVkID0gdXNlU21vb3RoQ291bnQodGFyZ2V0VmVyaWZpZWQsIHRpbWUsIHNuYXApXG4gIGNvbnN0IHJlZnV0ZWQgPSB1c2VTbW9vdGhDb3VudCh0YXJnZXRSZWZ1dGVkLCB0aW1lLCBzbmFwKVxuXG4gIC8vIFBoYXNlIGFkdmFuY2VzIGV2ZXJ5IDMgdGlja3Mgc28gdGhlIGdyYWRpZW50IHN3ZWVwIGlzIHZpc2libGUgYnV0XG4gIC8vIG5vdCBmcmFudGljLiBNb2R1bG8ga2VlcHMgaXQgaW4gdGhlIDctY29sb3IgY3ljbGUuXG4gIGNvbnN0IHBoYXNlID0gTWF0aC5mbG9vcih0aW1lIC8gKFRJQ0tfTVMgKiAzKSkgJSA3XG5cbiAgLy8g4peHIG9wZW4gZGlhbW9uZCB3aGlsZSBydW5uaW5nICh0ZWFsLCBtYXRjaGVzIGNsb3VkLXNlc3Npb24gYWNjZW50KSwg4peGXG4gIC8vIGZpbGxlZCB3aGVuIHRlcm1pbmFsLiBSYWluYm93IGlzIHNjb3BlZCB0byB0aGUgd29yZCBgdWx0cmFyZXZpZXdgIG9ubHkg4oCUXG4gIC8vIHBlciBkZXNpZ24gZmVlZGJhY2ssIFwidGhlcmUgaXMgYSBsaW1pdCB0byB0aGUgZ2xpdHRlcmluZyByYWluYm93XCIuXG4gIC8vIENvdW50cyBzdGF5IGRpbUNvbG9yLlxuICBpZiAoc2Vzc2lvbi5zdGF0dXMgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPntESUFNT05EX0ZJTExFRH0gPC9UZXh0PlxuICAgICAgICA8UmFpbmJvd1RleHQgdGV4dD1cInVsdHJhcmV2aWV3XCIgcGhhc2U9ezB9IC8+XG4gICAgICAgIDxUZXh0IGRpbUNvbG9yPiByZWFkeSDCtyBzaGlmdCvihpMgdG8gdmlldzwvVGV4dD5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICBpZiAoc2Vzc2lvbi5zdGF0dXMgPT09ICdmYWlsZWQnKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwiYmFja2dyb3VuZFwiPntESUFNT05EX0ZJTExFRH0gPC9UZXh0PlxuICAgICAgICA8UmFpbmJvd1RleHQgdGV4dD1cInVsdHJhcmV2aWV3XCIgcGhhc2U9ezB9IC8+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIiBkaW1Db2xvcj5cbiAgICAgICAgICB7JyDCtyAnfVxuICAgICAgICAgIGVycm9yXG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoZSAhcCBicmFuY2ggKFwic2V0dGluZyB1cFwiKSBjb3ZlcnMgdGhlIHdpbmRvdyBiZWZvcmUgdGhlIG9yY2hlc3RyYXRvclxuICAvLyB3cml0ZXMgaXRzIGZpcnN0IHByb2dyZXNzIHNuYXBzaG90IOKAlCBjb250YWluZXIgYm9vdCArIHJlcG8gY2xvbmUgY2FuXG4gIC8vIHRha2UgMS0zIG1pbiwgZHVyaW5nIHdoaWNoIFwiMCBmb3VuZFwiIGxvb2tlZCBodW5nLlxuICBjb25zdCB0YWlsID0gIXBcbiAgICA/ICdzZXR0aW5nIHVwJ1xuICAgIDogZm9ybWF0UmV2aWV3U3RhZ2VDb3VudHMocC5zdGFnZSwgZm91bmQsIHZlcmlmaWVkLCByZWZ1dGVkKVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8VGV4dCBjb2xvcj1cImJhY2tncm91bmRcIj57RElBTU9ORF9PUEVOfSA8L1RleHQ+XG4gICAgICA8UmFpbmJvd1RleHQgdGV4dD1cInVsdHJhcmV2aWV3XCIgcGhhc2U9e3J1bm5pbmcgPyBwaGFzZSA6IDB9IC8+XG4gICAgICA8VGV4dCBkaW1Db2xvcj4gwrcge3RhaWx9PC9UZXh0PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZW1vdGVTZXNzaW9uUHJvZ3Jlc3Moe1xuICBzZXNzaW9uLFxufToge1xuICBzZXNzaW9uOiBEZWVwSW1tdXRhYmxlPFJlbW90ZUFnZW50VGFza1N0YXRlPlxufSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIC8vIExpdGUtcmV2aWV3OiByYWluYm93IGdyYWRpZW50IG92ZXIgdGhlIGZ1bGwgbGluZSwgdWx0cmFwbGFuLXN0eWxlLlxuICAvLyBCYWNrZ3JvdW5kVGFzay50c3ggZGVsZWdhdGVzIHRoZSB3aG9sZSA8VGV4dD4gd3JhcHBlciBoZXJlIHNvIHRoZVxuICAvLyBncmFkaWVudCBzcGFucyB0aGUgdGl0bGUsIG5vdCBqdXN0IHRoZSB0cmFpbGluZyBzdGF0dXMuXG4gIGlmIChzZXNzaW9uLmlzUmVtb3RlUmV2aWV3KSB7XG4gICAgcmV0dXJuIDxSZXZpZXdSYWluYm93TGluZSBzZXNzaW9uPXtzZXNzaW9ufSAvPlxuICB9XG5cbiAgaWYgKHNlc3Npb24uc3RhdHVzID09PSAnY29tcGxldGVkJykge1xuICAgIHJldHVybiAoXG4gICAgICA8VGV4dCBib2xkIGNvbG9yPVwic3VjY2Vzc1wiIGRpbUNvbG9yPlxuICAgICAgICBkb25lXG4gICAgICA8L1RleHQ+XG4gICAgKVxuICB9XG5cbiAgaWYgKHNlc3Npb24uc3RhdHVzID09PSAnZmFpbGVkJykge1xuICAgIHJldHVybiAoXG4gICAgICA8VGV4dCBib2xkIGNvbG9yPVwiZXJyb3JcIiBkaW1Db2xvcj5cbiAgICAgICAgZXJyb3JcbiAgICAgIDwvVGV4dD5cbiAgICApXG4gIH1cblxuICBpZiAoIXNlc3Npb24udG9kb0xpc3QubGVuZ3RoKSB7XG4gICAgcmV0dXJuIDxUZXh0IGRpbUNvbG9yPntzZXNzaW9uLnN0YXR1c33igKY8L1RleHQ+XG4gIH1cblxuICBjb25zdCBjb21wbGV0ZWQgPSBjb3VudChzZXNzaW9uLnRvZG9MaXN0LCBfID0+IF8uc3RhdHVzID09PSAnY29tcGxldGVkJylcbiAgY29uc3QgdG90YWwgPSBzZXNzaW9uLnRvZG9MaXN0Lmxlbmd0aFxuICByZXR1cm4gKFxuICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAge2NvbXBsZXRlZH0ve3RvdGFsfVxuICAgIDwvVGV4dD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxNQUFNLFFBQVEsT0FBTztBQUNyQyxjQUFjQyxv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
242
+ }