@projectcor/maia-components 2.11.78-0 → 2.11.78-10

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 (56) hide show
  1. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -2
  2. package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
  3. package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
  4. package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
  5. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
  6. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +42 -18
  7. package/lib/components/molecules/ChatAIHome/styles.js +67 -35
  8. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +20 -14
  9. package/lib/components/molecules/Sidebar/Sidebar.js +8 -23
  10. package/lib/components/molecules/Sidebar/Sidebar.styles.js +6 -10
  11. package/lib/components/organisms/ChatAI/ChatAI.js +2 -10
  12. package/lib/constants/maiaTaskPanelAccess.js +2 -2
  13. package/lib/constants/plannerSyncEvents.js +16 -0
  14. package/lib/context/global-context.js +1 -1
  15. package/lib/dev/DevChatAI.js +2 -2
  16. package/lib/hooks/useChatManager/useChatManager.js +465 -445
  17. package/lib/hooks/useChatMessages/useChatMessages.js +3 -20
  18. package/lib/hooks/useFrequentlyUsedActions.js +4 -2
  19. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  20. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +496 -139
  21. package/lib/hooks/useProjectSummaryConfig.js +1 -1
  22. package/lib/hooks/useStreamingMessage/index.js +3 -2
  23. package/lib/hooks/useStreamingMessage/streamingStore.js +69 -0
  24. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +17 -13
  25. package/lib/lang/br/index.js +8 -7
  26. package/lib/lang/en/index.js +8 -7
  27. package/lib/lang/es/index.js +8 -7
  28. package/lib/lang/fr/index.js +9 -9
  29. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  30. package/lib/services/maia/Agents/getAgents.js +2 -2
  31. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  32. package/lib/store/chatsStore.types.js +1 -1
  33. package/lib/store/useChatsStore.js +1 -3
  34. package/lib/types/Action.js +1 -1
  35. package/lib/utils/actionIconMap.js +8 -2
  36. package/lib/utils/streamActivityMessages.js +2 -1
  37. package/package.json +1 -1
  38. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -17
  39. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -15
  40. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  41. package/lib/components/atoms/SessionUnreadDot/SessionUnreadDot.js +0 -12
  42. package/lib/components/atoms/SessionUnreadDot/SessionUnreadDot.styles.js +0 -8
  43. package/lib/components/atoms/SessionUnreadDot/index.js +0 -2
  44. package/lib/store/sessions/activeView.js +0 -22
  45. package/lib/store/sessions/index.js +0 -10
  46. package/lib/store/sessions/sessionHitlContext.js +0 -15
  47. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  48. package/lib/store/sessions/sessionNotifications.js +0 -111
  49. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  50. package/lib/store/sessions/sessionStreamManager.js +0 -576
  51. package/lib/store/sessions/sessionStreamingText.js +0 -80
  52. package/lib/store/sessions/sessionUnreadPersistence.js +0 -49
  53. package/lib/store/sessions/sessions.types.js +0 -29
  54. package/lib/store/sessions/useSessionMeta.js +0 -39
  55. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  56. package/lib/store/sessions/useSessionsStore.js +0 -195
@@ -32,6 +32,7 @@ var HITL_TOOL_ACTIVITY_KEYS = {
32
32
  update_estimated_hours: 'chat.activity.updatingEstimatedHours',
33
33
  update_deliverable: 'chat.activity.updatingDeliverable',
34
34
  create_hour: 'chat.activity.loggingHours',
35
+ create_hours: 'chat.activity.loggingHours',
35
36
  create_checklist: 'chat.activity.creatingChecklist',
36
37
  get_task_date_hours: 'chat.activity.queryingHours',
37
38
  configure_agent_access: 'chat.activity.configuringAgentAccess',
@@ -355,4 +356,4 @@ export var resolveStreamLoadingDisplay = function resolveStreamLoadingDisplay(pa
355
356
  export var isStreamingPlaceholderMessageId = function isStreamingPlaceholderMessageId(messageId) {
356
357
  return typeof messageId === 'string' && messageId.includes('-streaming');
357
358
  };
358
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJUSElOS0lOR19NRVNTQUdFX0tFWVMiLCJHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyIsIlNFQVJDSF9NRVNTQUdFX0tFWVMiLCJERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyIsIkFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCIsIldSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkiLCJISVRMX1RPT0xfQUNUSVZJVFlfS0VZUyIsImNyZWF0ZV90YXNrIiwiY2xvbmVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImNyZWF0ZV9hZ2VudCIsImVkaXRfYWdlbnQiLCJlZGl0X3Rhc2siLCJlZGl0X3Rhc2tzX2JhdGNoIiwiZGVsZXRlX3Rhc2siLCJkZWxldGVfdGFza3NfYmF0Y2giLCJ0YXNrX2Fzc2lnbiIsInRhc2tfdW5hc3NpZ24iLCJhc3NpZ25fdGFza19sYWJlbCIsImNyZWF0ZV9sYWJlbHMiLCJlZGl0X3Byb2plY3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImxvb2tzTGlrZVJhd1Rvb2xOYW1lIiwibWVzc2FnZSIsInRlc3QiLCJ0cmltIiwiaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UiLCJub3JtYWxpemVkIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJ0cmltbWVkTm9kZU1lc3NhZ2UiLCJpc1JhdyIsImlzR2VuZXJpYyIsIm5vZGVNZXNzYWdlQ29udGFpbnNUb29sIiwic29tZSIsInRvb2wiLCJhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiYWN0aXZpdHkiLCJuZXh0SW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwiY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSIsImdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSIsImdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSIsImlzV2ViU2VhcmNoQWN0aXZlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiaGFzQXR0YWNobWVudHMiLCJfb3B0aW9ucyRhdHRhY2htZW50c0MiLCJyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkiLCJwYXJhbXMiLCJzdHJlYW1BY3Rpdml0eSIsImFjdGl2ZUtleXMiLCJhY3RpdmVMb2FkaW5ncyIsImZpcnN0S2V5IiwicmF3IiwidHJpbW1lZCIsImxvYWRpbmdNZXNzYWdlIiwid2FpdGluZ1Jlc3BvbnNlIiwiaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCIsIm1lc3NhZ2VJZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHksIFN0cmVhbUFjdGl2aXR5UGhhc2UgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB0eXBlIHsgQXBwcm92YWxSZXF1ZXN0LCBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSB9IGZyb20gJy4vaGl0bEFuYWx5dGljcydcblxudHlwZSBUcmFuc2xhdGVGbiA9IChrZXk6IHN0cmluZykgPT4gc3RyaW5nXG5cbmNvbnN0IFRISU5LSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucGxhbm5pbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5jb25zaWRlcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuYWxtb3N0UmVhZHknLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLnByZXBhcmluZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFNFQVJDSF9NRVNTQUdFX0tFWVMgPSBbJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJywgJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnN1bW1hcml6aW5nJ10gYXMgY29uc3RcblxuY29uc3QgREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmV4cGxvcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmRlZXBTZWFyY2guY3Jvc3NDaGVja2luZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZycsICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZyddIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5yZWFkaW5nUGx1cmFsJyxcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5leHRyYWN0aW5nUGx1cmFsJyxcbl0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkgPSAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmNvbXBvc2luZycgYXMgY29uc3RcblxuLyoqIFRvb2xzIEhJVEwgLyBub2RlIFNTRSDihpIga2V5IGkxOG4gZGVsIGluZGljYWRvciBkZSBhY3RpdmlkYWQgKHRpZW1wbyBwcmVzZW50ZSBjb250aW51bykuICovXG5jb25zdCBISVRMX1RPT0xfQUNUSVZJVFlfS0VZUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY3JlYXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNsb25lX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNyZWF0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdUYXNrc0JhdGNoJyxcbiAgY3JlYXRlX2FnZW50OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0FnZW50JyxcbiAgZWRpdF9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ0FnZW50JyxcbiAgZWRpdF90YXNrOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFzaycsXG4gIGVkaXRfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdUYXNrc0JhdGNoJyxcbiAgZGVsZXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFzaycsXG4gIGRlbGV0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdUYXNrc0JhdGNoJyxcbiAgdGFza19hc3NpZ246ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ1VzZXInLFxuICB0YXNrX3VuYXNzaWduOiAnY2hhdC5hY3Rpdml0eS51bmFzc2lnbmluZ1VzZXInLFxuICBhc3NpZ25fdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkuYXNzaWduaW5nTGFiZWwnLFxuICBjcmVhdGVfbGFiZWxzOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0xhYmVsJyxcbiAgZWRpdF9wcm9qZWN0OiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nUHJvamVjdCcsXG4gIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3RJdGVtJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdUYXNrVHlwZScsXG4gIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2NoYXQuYWN0aXZpdHkubG9nZ2luZ0hvdXJzJyxcbiAgY3JlYXRlX2NoZWNrbGlzdDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3QnLFxuICBnZXRfdGFza19kYXRlX2hvdXJzOiAnY2hhdC5hY3Rpdml0eS5xdWVyeWluZ0hvdXJzJyxcbiAgY29uZmlndXJlX2FnZW50X2FjY2VzczogJ2NoYXQuYWN0aXZpdHkuY29uZmlndXJpbmdBZ2VudEFjY2VzcycsXG4gIHNlbmRfdGFza19tZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5zZW5kaW5nVGFza01lc3NhZ2UnLFxuICBkZWxldGVfY2hlY2tsaXN0X2l0ZW06ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nQ2hlY2tsaXN0SXRlbScsXG4gIHJlbW92ZV90YXNrX3R5cGU6ICdjaGF0LmFjdGl2aXR5LnJlbW92aW5nVGFza1R5cGUnLFxuICByZW1vdmVfdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdMYWJlbCcsXG4gIGNvdW50X2RlbGl2ZXJhYmxlOiAnY2hhdC5hY3Rpdml0eS51cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQnLFxuICBjcmVhdGVfcmV3b3JrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Jld29yaycsXG4gIHVwZGF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nUmV3b3JrJyxcbn1cblxuY29uc3QgSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZID0gT2JqZWN0LmtleXMoSElUTF9UT09MX0FDVElWSVRZX0tFWVMpLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG5cbi8qKlxuICogRGV0ZWN0YSBpZGVudGlmaWNhZG9yZXMgY3J1ZG9zIGRlIHRvb2wgKHNuYWtlX2Nhc2UgLyBrZWJhYi1jYXNlIHNpbiBlc3BhY2lvcykgcXVlIGVsIGJhY2tlbmRcbiAqIHB1ZWRlIGVudmlhciBjdWFuZG8gYcO6biBubyBoYXkgdHJhZHVjY2nDs24uIE5vIGRlYmVuIG1vc3RyYXJzZSBhbCB1c3VhcmlvOiBzZSB1c2EgdW4gZmFsbGJhY2tcbiAqIGdlbsOpcmljbyBoYXN0YSBxdWUgZWwgbm9tYnJlIHNlIGFncmVndWUgYWwgZGljY2lvbmFyaW8uXG4gKi9cbmNvbnN0IGxvb2tzTGlrZVJhd1Rvb2xOYW1lID0gKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4gPT4gL15bYS16MC05XSsoPzpbXy1dW2EtejAtOV0rKSskL2kudGVzdChtZXNzYWdlLnRyaW0oKSlcblxuLyoqIE1lbnNhamVzIGdlbsOpcmljb3MgZGVsIGJhY2tlbmQgY3VhbmRvIG5vIGhheSBkZXRhbGxlIGRlIHRvb2wgKGNvbnRpbnVlLXRocmVhZCkuICovXG5jb25zdCBpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSA9IChtZXNzYWdlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG1lc3NhZ2UudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgcmV0dXJuIChcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2VqZWN1dGFuZG8gYWNjacOzbiBhcHJvYmFkYScpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRpbmcgYXBwcm92ZWQgYWN0aW9uJykgfHxcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2V4ZWN1dGFuZG8gYcOnw6NvIGFwcm92YWRhJylcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSA9IChcbiAgdG9vbE5hbWU6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSlcbiAgY29uc3Qga2V5ID0gSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF1cbiAgaWYgKGtleSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0KGtleSlcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2UgfVxuICB9XG4gIGlmIChvcHRpb25zPy51c2VSZXN1bWluZ0ZhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmFjdGl2aXR5LnJlc3VtaW5nQWN0aW9uJykgfVxuICB9XG4gIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5leGVjdXRpbmdBY3Rpb24nKSB9XG59XG5cbmNvbnN0IHJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZSA9IChub2RlTWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiBudWxsXG5cbiAgaWYgKEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW25vcm1hbGl6ZWRdKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZWRcbiAgfVxuXG4gIGNvbnN0IGFzVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUobm9ybWFsaXplZC5yZXBsYWNlKC9cXHMrL2csICdfJykpXG4gIGlmIChISVRMX1RPT0xfQUNUSVZJVFlfS0VZU1thc1Rvb2xOYW1lXSkge1xuICAgIHJldHVybiBhc1Rvb2xOYW1lXG4gIH1cblxuICBjb25zdCBtYXRjaGVkVG9vbCA9IEhJVExfVE9PTF9OQU1FU19CWV9TUEVDSUZJQ0lUWS5maW5kKHRvb2xOYW1lID0+IG5vcm1hbGl6ZWQuaW5jbHVkZXModG9vbE5hbWUpKVxuICByZXR1cm4gbWF0Y2hlZFRvb2wgPz8gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5ID0gKFxuICBub2RlTWVzc2FnZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9ucz86IHsgdXNlUmVzdW1pbmdGYWxsYmFjaz86IGJvb2xlYW4gfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKVxuXG4gIGNvbnN0IGhpdGxUb29sID0gcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlKG5vZGVNZXNzYWdlKVxuICBpZiAoaGl0bFRvb2wpIHtcbiAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShoaXRsVG9vbCwgdCwgb3B0aW9ucylcbiAgfVxuXG4gIGlmIChcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdyZXNwb25zZV9maWxlX2dlbmVyYXRpb24nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYW5kbyBhcmNoaXZvJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdnZW5lcmF0aW5nIGZpbGUnKVxuICApIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZ0ZpbGUnKSB9XG4gIH1cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3RhdmlseScpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnc2VhcmNoX3dlYicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnYnVzY2FuZG8gZW4gbGEgd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hpbmcgdGhlIHdlYicpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnc2VhcmNoJywgbWVzc2FnZTogdChTRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cblxuICBjb25zdCB0cmltbWVkTWVzc2FnZSA9IG5vZGVNZXNzYWdlLnRyaW0oKVxuICBpZiAodHJpbW1lZE1lc3NhZ2UgJiYgIWlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlKHRyaW1tZWRNZXNzYWdlKSAmJiAhbG9va3NMaWtlUmF3VG9vbE5hbWUodHJpbW1lZE1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkTWVzc2FnZSB9XG4gIH1cblxuICBpZiAoaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpIHx8IG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuZXhwb3J0IHR5cGUgSGl0bEV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gIG1lc3NhZ2VJZD86IHN0cmluZ1xuICBtZXNzYWdlVGV4dD86IHN0cmluZ1xuICBhcHByb3ZhbD86IEFwcHJvdmFsUmVxdWVzdFxuICBwZW5kaW5nQWN0aW9ucz86IFBlbmRpbmdBY3Rpb25bXVxuICB0aHJlYWRJZHM/OiBzdHJpbmdbXVxufVxuXG5jb25zdCByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQgPSAoXG4gIGNvbnRleHQ6IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmdcbik6IFBlbmRpbmdBY3Rpb25bXSA9PiB7XG4gIGNvbnN0IHBlbmRpbmcgPSBjb250ZXh0Py5wZW5kaW5nQWN0aW9ucyA/PyBjb250ZXh0Py5hcHByb3ZhbD8ucGVuZGluZ19hY3Rpb25zID8/IFtdXG4gIGlmICghcGVuZGluZy5sZW5ndGgpIHJldHVybiBbXVxuXG4gIGlmICh0aHJlYWRJZCkge1xuICAgIGNvbnN0IGZvclRocmVhZCA9IHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udGhyZWFkX2lkID09PSB0aHJlYWRJZClcbiAgICBpZiAoZm9yVGhyZWFkLmxlbmd0aCkgcmV0dXJuIGZvclRocmVhZFxuICB9XG5cbiAgaWYgKGNvbnRleHQ/LnRocmVhZElkcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBjb250ZXh0LnRocmVhZElkcz8uaW5jbHVkZXMoYWN0aW9uLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gcGVuZGluZ1xufVxuXG5jb25zdCBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyA9IChhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pOiBzdHJpbmdbXSA9PiBbXG4gIC4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYWN0aW9uID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhY3Rpb24udG9vbF9uYW1lKSkuZmlsdGVyKEJvb2xlYW4pKSxcbl1cblxuLyoqIFJlc3VlbHZlIGluZGljYWRvciBISVRMIHByaW9yaXphbmRvIHBlbmRpbmdfYWN0aW9ucyBkZWwgbWVuc2FqZSBkZSBhcHJvYmFjacOzbiBhbnRlcmlvci4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwsXG4gIHRocmVhZElkPzogc3RyaW5nLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IHBlbmRpbmdGb3JUaHJlYWQgPSByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQoY29udGV4dCwgdGhyZWFkSWQpXG4gIGNvbnN0IGRldGVjdGVkVG9vbHMgPSBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyhwZW5kaW5nRm9yVGhyZWFkKVxuXG4gIGNvbnN0IHRyaW1tZWROb2RlTWVzc2FnZSA9IG5vZGVNZXNzYWdlLnRyaW0oKVxuICBjb25zdCBpc1JhdyA9IGxvb2tzTGlrZVJhd1Rvb2xOYW1lKHRyaW1tZWROb2RlTWVzc2FnZSlcbiAgY29uc3QgaXNHZW5lcmljID0gaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE5vZGVNZXNzYWdlKVxuICAvLyBFbCBiYWNrZW5kIGVudsOtYSBmcmFzZXMgY29tbyBcIkVqZWN1dGFuZG8gYXNzaWduX3Rhc2tfbGFiZWwuLi5cIiBxdWUgY29udGllbmVuIGVsIG5vbWJyZVxuICAvLyBjcnVkbyBkZSBsYSB0b29sIOKAlCBubyBzb24gbWVuc2FqZXMgbGVnaWJsZXMuIFNpIGVsIG1lbnNhamUgY29udGllbmUgYWxndW5vIGRlIGxvcyB0b29sc1xuICAvLyBkZXRlY3RhZG9zLCBwcmVmZXJpbW9zIGVsIG1hcGVvIGRlbCBkaWNjaW9uYXJpby5cbiAgY29uc3Qgbm9kZU1lc3NhZ2VDb250YWluc1Rvb2wgPVxuICAgIGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEgJiYgZGV0ZWN0ZWRUb29scy5zb21lKHRvb2wgPT4gdHJpbW1lZE5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModG9vbCkpXG4gIGNvbnN0IGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlID1cbiAgICB0cmltbWVkTm9kZU1lc3NhZ2UgJiYgIWlzR2VuZXJpYyAmJiAhaXNSYXcgJiYgIW5vZGVNZXNzYWdlQ29udGFpbnNUb29sXG4gICAgICA/IHsgcGhhc2U6ICdhY3Rpb24nIGFzIGNvbnN0LCBtZXNzYWdlOiB0cmltbWVkTm9kZU1lc3NhZ2UgfVxuICAgICAgOiBudWxsXG5cbiAgaWYgKGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEpIHtcbiAgICBpZiAoYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UpIHtcbiAgICAgIHJldHVybiBhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZVxuICAgIH1cbiAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShkZXRlY3RlZFRvb2xzWzBdLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgcmV0dXJuIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShub2RlTWVzc2FnZSwgdCwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5ID0gKFxuICB0OiBUcmFuc2xhdGVGbixcbiAgY29udGV4dD86IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbFxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBwZW5kaW5nQWN0aW9ucyA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0KVxuICBjb25zdCBkZXRlY3RlZFRvb2xzID0gZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMocGVuZGluZ0FjdGlvbnMpXG5cbiAgaWYgKGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEpIHtcbiAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShkZXRlY3RlZFRvb2xzWzBdLCB0LCB7IHVzZVJlc3VtaW5nRmFsbGJhY2s6IHRydWUgfSlcbiAgfVxuXG4gIHJldHVybiB7IHBoYXNlOiAncHJvY2Vzc2luZycsIG1lc3NhZ2U6IHQoJ2NoYXQucHJvY2Vzc2luZycpIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFDVElWSVRZX01FU1NBR0VfUk9UQVRFX01TID0gMzIwMFxuXG5jb25zdCBST1RBVEFCTEVfUEhBU0VTOiBTdHJlYW1BY3Rpdml0eVBoYXNlW10gPSBbJ2dlbmVyYXRpbmcnLCAndGhpbmtpbmcnLCAnc2VhcmNoJywgJ2RlZXBfc2VhcmNoJywgJ2F0dGFjaG1lbnQnXVxuXG5jb25zdCBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBhdHRhY2htZW50c0NvdW50ID0gMCk6IHJlYWRvbmx5IHN0cmluZ1tdIHwgbnVsbCA9PiB7XG4gIHN3aXRjaCAocGhhc2UpIHtcbiAgICBjYXNlICdnZW5lcmF0aW5nJzpcbiAgICAgIHJldHVybiBHRU5FUkFUSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3RoaW5raW5nJzpcbiAgICAgIHJldHVybiBUSElOS0lOR19NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgcmV0dXJuIFNFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdkZWVwX3NlYXJjaCc6XG4gICAgICByZXR1cm4gREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAnYXR0YWNobWVudCc6XG4gICAgICByZXR1cm4gYXR0YWNobWVudHNDb3VudCA+IDEgPyBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwgOiBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4ID0gKFxuICBwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSxcbiAgaW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGF0dGFjaG1lbnRzQ291bnQgPSAwXG4pOiBzdHJpbmcgPT4ge1xuICBpZiAocGhhc2UgPT09ICd3cml0aW5nJykge1xuICAgIHJldHVybiB0KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gIH1cblxuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSwgYXR0YWNobWVudHNDb3VudClcbiAgaWYgKCFrZXlzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIGNvbnN0IGNsYW1wZWRJbmRleCA9IE1hdGgubWluKE1hdGgubWF4KDAsIGluZGV4KSwga2V5cy5sZW5ndGggLSAxKVxuICByZXR1cm4gdChrZXlzW2NsYW1wZWRJbmRleF0pXG59XG5cbmV4cG9ydCBjb25zdCBnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlID0gKGluZGV4OiBudW1iZXIsIHQ6IFRyYW5zbGF0ZUZuKTogc3RyaW5nID0+XG4gIGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ3RoaW5raW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgnZ2VuZXJhdGluZycsIGluZGV4LCB0KVxuXG5leHBvcnQgY29uc3QgY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSwgY3VycmVudEluZGV4OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgY29uc3Qga2V5cyA9IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UocGhhc2UpXG4gIGlmICgha2V5cykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHJldHVybiBjdXJyZW50SW5kZXggPCBrZXlzLmxlbmd0aCAtIDFcbn1cblxuZXhwb3J0IGNvbnN0IGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UgPSAoXG4gIGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSxcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIHQ6IFRyYW5zbGF0ZUZuXG4pOiB7IGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eTsgbmV4dEluZGV4OiBudW1iZXIgfSB8IG51bGwgPT4ge1xuICBpZiAoIWNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoYWN0aXZpdHkucGhhc2UsIGN1cnJlbnRJbmRleCkpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ICsgMVxuICByZXR1cm4ge1xuICAgIGFjdGl2aXR5OiB7XG4gICAgICBwaGFzZTogYWN0aXZpdHkucGhhc2UsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KGFjdGl2aXR5LnBoYXNlLCBuZXh0SW5kZXgsIHQsIGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQpLFxuICAgICAgLi4uKGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQgIT0gbnVsbCAmJiB7IGF0dGFjaG1lbnRzQ291bnQ6IGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQgfSksXG4gICAgfSxcbiAgICBuZXh0SW5kZXgsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UpOiBib29sZWFuID0+IFJPVEFUQUJMRV9QSEFTRVMuaW5jbHVkZXMocGhhc2UpXG5cbmV4cG9ydCBjb25zdCBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkgPSAodDogVHJhbnNsYXRlRm4pOiBTdHJlYW1BY3Rpdml0eSA9PiAoe1xuICBwaGFzZTogJ3dyaXRpbmcnLFxuICBtZXNzYWdlOiB0KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSA9IChcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM6IHtcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgaGFzQXR0YWNobWVudHM/OiBib29sZWFuXG4gICAgYXR0YWNobWVudHNDb3VudD86IG51bWJlclxuICB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGlmIChvcHRpb25zLmlzV2ViU2VhcmNoQWN0aXZlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICBpZiAob3B0aW9ucy5pc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2RlZXBfc2VhcmNoJywgbWVzc2FnZTogdChERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICBpZiAob3B0aW9ucy5oYXNBdHRhY2htZW50cykge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRzQ291bnQgPSBvcHRpb25zLmF0dGFjaG1lbnRzQ291bnQgPz8gMFxuICAgIHJldHVybiB7XG4gICAgICBwaGFzZTogJ2F0dGFjaG1lbnQnLFxuICAgICAgbWVzc2FnZTogZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgnYXR0YWNobWVudCcsIDAsIHQsIGF0dGFjaG1lbnRzQ291bnQpLFxuICAgICAgYXR0YWNobWVudHNDb3VudCxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdnZW5lcmF0aW5nJywgbWVzc2FnZTogdChHRU5FUkFUSU5HX01FU1NBR0VfS0VZU1swXSkgfVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5ID0gKHBhcmFtczoge1xuICBzdHJlYW1BY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsXG4gIGxvYWRpbmdNZXNzYWdlOiBzdHJpbmcgfCBudWxsXG4gIGFjdGl2ZUxvYWRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIHdhaXRpbmdSZXNwb25zZTogYm9vbGVhblxuICBpc1dlYlNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU6IGJvb2xlYW5cbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbiAgYXR0YWNobWVudHNDb3VudD86IG51bWJlclxuICB0OiBUcmFuc2xhdGVGblxufSk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCA9PiB7XG4gIGlmIChwYXJhbXMuc3RyZWFtQWN0aXZpdHkpIHtcbiAgICByZXR1cm4gcGFyYW1zLnN0cmVhbUFjdGl2aXR5XG4gIH1cblxuICBjb25zdCBhY3RpdmVLZXlzID0gT2JqZWN0LmtleXMocGFyYW1zLmFjdGl2ZUxvYWRpbmdzKVxuICBpZiAoYWN0aXZlS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZmlyc3RLZXkgPSBhY3RpdmVLZXlzWzBdXG4gICAgY29uc3QgcmF3ID0gcGFyYW1zLmFjdGl2ZUxvYWRpbmdzW2ZpcnN0S2V5XVxuICAgIGlmIChyYXcgJiYgcmF3ICE9PSBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykpIHtcbiAgICAgIGNvbnN0IGhpdGxUb29sID0gcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlKHJhdylcbiAgICAgIGlmIChoaXRsVG9vbCkge1xuICAgICAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShoaXRsVG9vbCwgcGFyYW1zLnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRyaW1tZWQgPSByYXcudHJpbSgpXG4gICAgICBpZiAodHJpbW1lZCAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZCkpIHtcbiAgICAgICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShyYXcsIHBhcmFtcy50LCB7IHVzZVJlc3VtaW5nRmFsbGJhY2s6IHRydWUgfSlcbiAgICB9XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogcGFyYW1zLnQoJ2NoYXQucHJvY2Vzc2luZycpIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMubG9hZGluZ01lc3NhZ2UpIHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LndyaXRpbmcnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eShwYXJhbXMudClcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZycpKSB7XG4gICAgICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdXZWJTZWFyY2gnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdBdHRhY2htZW50JylcbiAgICApIHtcbiAgICAgIHJldHVybiBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkocGFyYW1zLnQsIHtcbiAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0RlZXBTZWFyY2gnKSxcbiAgICAgICAgaGFzQXR0YWNobWVudHM6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKSxcbiAgICAgICAgYXR0YWNobWVudHNDb3VudDogcGFyYW1zLmF0dGFjaG1lbnRzQ291bnQsXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSB9XG4gIH1cblxuICBpZiAocGFyYW1zLndhaXRpbmdSZXNwb25zZSkge1xuICAgIHJldHVybiBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkocGFyYW1zLnQsIHtcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXJhbXMuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICBoYXNBdHRhY2htZW50czogcGFyYW1zLmhhc0F0dGFjaG1lbnRzLFxuICAgICAgYXR0YWNobWVudHNDb3VudDogcGFyYW1zLmF0dGFjaG1lbnRzQ291bnQsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkID0gKG1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PlxuICB0eXBlb2YgbWVzc2FnZUlkID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlSWQuaW5jbHVkZXMoJy1zdHJlYW1pbmcnKVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsU0FBU0EscUJBQXFCLFFBQVEsaUJBQWlCO0FBSXZELElBQU1DLHFCQUFxQixHQUFHLENBQzVCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsaUNBQWlD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TyxFQUFFdUYsTUFBTSxDQUFDTztNQUFlLENBQUM7SUFDaEU7SUFDQSxJQUNFUCxNQUFNLENBQUNPLGNBQWMsS0FBS1AsTUFBTSxDQUFDOUUsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQzlEOEUsTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQzlFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxJQUMvRDhFLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUM5RSxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFDL0Q7TUFDQSxPQUFPd0Usd0JBQXdCLENBQUNNLE1BQU0sQ0FBQzlFLENBQUMsRUFBRTtRQUN4Q3lFLGlCQUFpQixFQUFFSyxNQUFNLENBQUNPLGNBQWMsS0FBS1AsTUFBTSxDQUFDOUUsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1FBQ2pGMEUsa0JBQWtCLEVBQUVJLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUM5RSxDQUFDLENBQUMsMkJBQTJCLENBQUM7UUFDbkYyRSxjQUFjLEVBQUVHLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUM5RSxDQUFDLENBQUMsMkJBQTJCLENBQUM7UUFDL0VxRCxnQkFBZ0IsRUFBRXlCLE1BQU0sQ0FBQ3pCO01BQzNCLENBQUMsQ0FBQztJQUNKO0lBQ0EsT0FBTztNQUFFbEQsS0FBSyxFQUFFLFFBQVE7TUFBRVosT0FBTyxFQUFFdUYsTUFBTSxDQUFDTztJQUFlLENBQUM7RUFDNUQ7RUFFQSxJQUFJUCxNQUFNLENBQUNRLGVBQWUsRUFBRTtJQUMxQixPQUFPZCx3QkFBd0IsQ0FBQ00sTUFBTSxDQUFDOUUsQ0FBQyxFQUFFO01BQ3hDeUUsaUJBQWlCLEVBQUVLLE1BQU0sQ0FBQ0wsaUJBQWlCO01BQzNDQyxrQkFBa0IsRUFBRUksTUFBTSxDQUFDSixrQkFBa0I7TUFDN0NDLGNBQWMsRUFBRUcsTUFBTSxDQUFDSCxjQUFjO01BQ3JDdEIsZ0JBQWdCLEVBQUV5QixNQUFNLENBQUN6QjtJQUMzQixDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU8sSUFBSTtBQUNiLENBQUM7QUFFRCxPQUFPLElBQU1rQywrQkFBK0IsR0FBRyxTQUFsQ0EsK0JBQStCQSxDQUFJQyxTQUE2QjtFQUFBLE9BQzNFLE9BQU9BLFNBQVMsS0FBSyxRQUFRLElBQUlBLFNBQVMsQ0FBQzdFLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
359
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJUSElOS0lOR19NRVNTQUdFX0tFWVMiLCJHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyIsIlNFQVJDSF9NRVNTQUdFX0tFWVMiLCJERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyIsIkFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCIsIldSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkiLCJISVRMX1RPT0xfQUNUSVZJVFlfS0VZUyIsImNyZWF0ZV90YXNrIiwiY2xvbmVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImNyZWF0ZV9hZ2VudCIsImVkaXRfYWdlbnQiLCJlZGl0X3Rhc2siLCJlZGl0X3Rhc2tzX2JhdGNoIiwiZGVsZXRlX3Rhc2siLCJkZWxldGVfdGFza3NfYmF0Y2giLCJ0YXNrX2Fzc2lnbiIsInRhc2tfdW5hc3NpZ24iLCJhc3NpZ25fdGFza19sYWJlbCIsImNyZWF0ZV9sYWJlbHMiLCJlZGl0X3Byb2plY3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2hvdXJzIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImxvb2tzTGlrZVJhd1Rvb2xOYW1lIiwibWVzc2FnZSIsInRlc3QiLCJ0cmltIiwiaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UiLCJub3JtYWxpemVkIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJ0cmltbWVkTm9kZU1lc3NhZ2UiLCJpc1JhdyIsImlzR2VuZXJpYyIsIm5vZGVNZXNzYWdlQ29udGFpbnNUb29sIiwic29tZSIsInRvb2wiLCJhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiYWN0aXZpdHkiLCJuZXh0SW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwiY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSIsImdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSIsImdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSIsImlzV2ViU2VhcmNoQWN0aXZlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiaGFzQXR0YWNobWVudHMiLCJfb3B0aW9ucyRhdHRhY2htZW50c0MiLCJyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkiLCJwYXJhbXMiLCJzdHJlYW1BY3Rpdml0eSIsImFjdGl2ZUtleXMiLCJhY3RpdmVMb2FkaW5ncyIsImZpcnN0S2V5IiwicmF3IiwidHJpbW1lZCIsImxvYWRpbmdNZXNzYWdlIiwid2FpdGluZ1Jlc3BvbnNlIiwiaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCIsIm1lc3NhZ2VJZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHksIFN0cmVhbUFjdGl2aXR5UGhhc2UgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB0eXBlIHsgQXBwcm92YWxSZXF1ZXN0LCBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSB9IGZyb20gJy4vaGl0bEFuYWx5dGljcydcblxudHlwZSBUcmFuc2xhdGVGbiA9IChrZXk6IHN0cmluZykgPT4gc3RyaW5nXG5cbmNvbnN0IFRISU5LSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucGxhbm5pbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5jb25zaWRlcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuYWxtb3N0UmVhZHknLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLnByZXBhcmluZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFNFQVJDSF9NRVNTQUdFX0tFWVMgPSBbJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJywgJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnN1bW1hcml6aW5nJ10gYXMgY29uc3RcblxuY29uc3QgREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmV4cGxvcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmRlZXBTZWFyY2guY3Jvc3NDaGVja2luZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZycsICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZyddIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5yZWFkaW5nUGx1cmFsJyxcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5leHRyYWN0aW5nUGx1cmFsJyxcbl0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkgPSAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmNvbXBvc2luZycgYXMgY29uc3RcblxuLyoqIFRvb2xzIEhJVEwgLyBub2RlIFNTRSDihpIga2V5IGkxOG4gZGVsIGluZGljYWRvciBkZSBhY3RpdmlkYWQgKHRpZW1wbyBwcmVzZW50ZSBjb250aW51bykuICovXG5jb25zdCBISVRMX1RPT0xfQUNUSVZJVFlfS0VZUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY3JlYXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNsb25lX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNyZWF0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdUYXNrc0JhdGNoJyxcbiAgY3JlYXRlX2FnZW50OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0FnZW50JyxcbiAgZWRpdF9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ0FnZW50JyxcbiAgZWRpdF90YXNrOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFzaycsXG4gIGVkaXRfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdUYXNrc0JhdGNoJyxcbiAgZGVsZXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFzaycsXG4gIGRlbGV0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdUYXNrc0JhdGNoJyxcbiAgdGFza19hc3NpZ246ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ1VzZXInLFxuICB0YXNrX3VuYXNzaWduOiAnY2hhdC5hY3Rpdml0eS51bmFzc2lnbmluZ1VzZXInLFxuICBhc3NpZ25fdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkuYXNzaWduaW5nTGFiZWwnLFxuICBjcmVhdGVfbGFiZWxzOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0xhYmVsJyxcbiAgZWRpdF9wcm9qZWN0OiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nUHJvamVjdCcsXG4gIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3RJdGVtJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdUYXNrVHlwZScsXG4gIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2NoYXQuYWN0aXZpdHkubG9nZ2luZ0hvdXJzJyxcbiAgY3JlYXRlX2hvdXJzOiAnY2hhdC5hY3Rpdml0eS5sb2dnaW5nSG91cnMnLFxuICBjcmVhdGVfY2hlY2tsaXN0OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0NoZWNrbGlzdCcsXG4gIGdldF90YXNrX2RhdGVfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnF1ZXJ5aW5nSG91cnMnLFxuICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnY2hhdC5hY3Rpdml0eS5jb25maWd1cmluZ0FnZW50QWNjZXNzJyxcbiAgc2VuZF90YXNrX21lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LnNlbmRpbmdUYXNrTWVzc2FnZScsXG4gIGRlbGV0ZV9jaGVja2xpc3RfaXRlbTogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdDaGVja2xpc3RJdGVtJyxcbiAgcmVtb3ZlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdUYXNrVHlwZScsXG4gIHJlbW92ZV90YXNrX2xhYmVsOiAnY2hhdC5hY3Rpdml0eS5yZW1vdmluZ0xhYmVsJyxcbiAgY291bnRfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGVDb3VudCcsXG4gIGNyZWF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nUmV3b3JrJyxcbiAgdXBkYXRlX3Jld29yazogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdSZXdvcmsnLFxufVxuXG5jb25zdCBISVRMX1RPT0xfTkFNRVNfQllfU1BFQ0lGSUNJVFkgPSBPYmplY3Qua2V5cyhISVRMX1RPT0xfQUNUSVZJVFlfS0VZUykuc29ydCgoYSwgYikgPT4gYi5sZW5ndGggLSBhLmxlbmd0aClcblxuLyoqXG4gKiBEZXRlY3RhIGlkZW50aWZpY2Fkb3JlcyBjcnVkb3MgZGUgdG9vbCAoc25ha2VfY2FzZSAvIGtlYmFiLWNhc2Ugc2luIGVzcGFjaW9zKSBxdWUgZWwgYmFja2VuZFxuICogcHVlZGUgZW52aWFyIGN1YW5kbyBhw7puIG5vIGhheSB0cmFkdWNjacOzbi4gTm8gZGViZW4gbW9zdHJhcnNlIGFsIHVzdWFyaW86IHNlIHVzYSB1biBmYWxsYmFja1xuICogZ2Vuw6lyaWNvIGhhc3RhIHF1ZSBlbCBub21icmUgc2UgYWdyZWd1ZSBhbCBkaWNjaW9uYXJpby5cbiAqL1xuY29uc3QgbG9va3NMaWtlUmF3VG9vbE5hbWUgPSAobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiA9PiAvXlthLXowLTldKyg/OltfLV1bYS16MC05XSspKyQvaS50ZXN0KG1lc3NhZ2UudHJpbSgpKVxuXG4vKiogTWVuc2FqZXMgZ2Vuw6lyaWNvcyBkZWwgYmFja2VuZCBjdWFuZG8gbm8gaGF5IGRldGFsbGUgZGUgdG9vbCAoY29udGludWUtdGhyZWFkKS4gKi9cbmNvbnN0IGlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbWVzc2FnZS50cmltKCkudG9Mb3dlckNhc2UoKVxuICByZXR1cm4gKFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZWplY3V0YW5kbyBhY2Npw7NuIGFwcm9iYWRhJykgfHxcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2V4ZWN1dGluZyBhcHByb3ZlZCBhY3Rpb24nKSB8fFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZXhlY3V0YW5kbyBhw6fDo28gYXByb3ZhZGEnKVxuICApXG59XG5cbmV4cG9ydCBjb25zdCBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5ID0gKFxuICB0b29sTmFtZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9ucz86IHsgdXNlUmVzdW1pbmdGYWxsYmFjaz86IGJvb2xlYW4gfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lKVxuICBjb25zdCBrZXkgPSBISVRMX1RPT0xfQUNUSVZJVFlfS0VZU1tub3JtYWxpemVkXVxuICBpZiAoa2V5KSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHQoa2V5KVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuY29uc3QgcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlID0gKG5vZGVNZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gIGlmICghbm9ybWFsaXplZCkgcmV0dXJuIG51bGxcblxuICBpZiAoSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF0pIHtcbiAgICByZXR1cm4gbm9ybWFsaXplZFxuICB9XG5cbiAgY29uc3QgYXNUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShub3JtYWxpemVkLnJlcGxhY2UoL1xccysvZywgJ18nKSlcbiAgaWYgKEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW2FzVG9vbE5hbWVdKSB7XG4gICAgcmV0dXJuIGFzVG9vbE5hbWVcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZWRUb29sID0gSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZLmZpbmQodG9vbE5hbWUgPT4gbm9ybWFsaXplZC5pbmNsdWRlcyh0b29sTmFtZSkpXG4gIHJldHVybiBtYXRjaGVkVG9vbCA/PyBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIG5vZGVNZXNzYWdlOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpXG5cbiAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2Uobm9kZU1lc3NhZ2UpXG4gIGlmIChoaXRsVG9vbCkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3Jlc3BvbnNlX2ZpbGVfZ2VuZXJhdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhbmRvIGFyY2hpdm8nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYXRpbmcgZmlsZScpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nRmlsZScpIH1cbiAgfVxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygndGF2aWx5JykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hfd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdidXNjYW5kbyBlbiBsYSB3ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaGluZyB0aGUgd2ViJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWRNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGlmICh0cmltbWVkTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpICYmICFsb29rc0xpa2VSYXdUb29sTmFtZSh0cmltbWVkTWVzc2FnZSkpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWRNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTWVzc2FnZSkgfHwgb3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5leHBvcnQgdHlwZSBIaXRsRXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgbWVzc2FnZUlkPzogc3RyaW5nXG4gIG1lc3NhZ2VUZXh0Pzogc3RyaW5nXG4gIGFwcHJvdmFsPzogQXBwcm92YWxSZXF1ZXN0XG4gIHBlbmRpbmdBY3Rpb25zPzogUGVuZGluZ0FjdGlvbltdXG4gIHRocmVhZElkcz86IHN0cmluZ1tdXG59XG5cbmNvbnN0IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZCA9IChcbiAgY29udGV4dDogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB0aHJlYWRJZD86IHN0cmluZ1xuKTogUGVuZGluZ0FjdGlvbltdID0+IHtcbiAgY29uc3QgcGVuZGluZyA9IGNvbnRleHQ/LnBlbmRpbmdBY3Rpb25zID8/IGNvbnRleHQ/LmFwcHJvdmFsPy5wZW5kaW5nX2FjdGlvbnMgPz8gW11cbiAgaWYgKCFwZW5kaW5nLmxlbmd0aCkgcmV0dXJuIFtdXG5cbiAgaWYgKHRocmVhZElkKSB7XG4gICAgY29uc3QgZm9yVGhyZWFkID0gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi50aHJlYWRfaWQgPT09IHRocmVhZElkKVxuICAgIGlmIChmb3JUaHJlYWQubGVuZ3RoKSByZXR1cm4gZm9yVGhyZWFkXG4gIH1cblxuICBpZiAoY29udGV4dD8udGhyZWFkSWRzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGNvbnRleHQudGhyZWFkSWRzPy5pbmNsdWRlcyhhY3Rpb24udGhyZWFkX2lkKSlcbiAgfVxuXG4gIHJldHVybiBwZW5kaW5nXG59XG5cbmNvbnN0IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zID0gKGFjdGlvbnM6IFBlbmRpbmdBY3Rpb25bXSk6IHN0cmluZ1tdID0+IFtcbiAgLi4ubmV3IFNldChhY3Rpb25zLm1hcChhY3Rpb24gPT4gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGFjdGlvbi50b29sX25hbWUpKS5maWx0ZXIoQm9vbGVhbikpLFxuXVxuXG4vKiogUmVzdWVsdmUgaW5kaWNhZG9yIEhJVEwgcHJpb3JpemFuZG8gcGVuZGluZ19hY3Rpb25zIGRlbCBtZW5zYWplIGRlIGFwcm9iYWNpw7NuIGFudGVyaW9yLiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5ID0gKFxuICBub2RlTWVzc2FnZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgY29udGV4dD86IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmcsXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0ZvclRocmVhZCA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0LCB0aHJlYWRJZClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdGb3JUaHJlYWQpXG5cbiAgY29uc3QgdHJpbW1lZE5vZGVNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGNvbnN0IGlzUmF3ID0gbG9va3NMaWtlUmF3VG9vbE5hbWUodHJpbW1lZE5vZGVNZXNzYWdlKVxuICBjb25zdCBpc0dlbmVyaWMgPSBpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTm9kZU1lc3NhZ2UpXG4gIC8vIEVsIGJhY2tlbmQgZW52w61hIGZyYXNlcyBjb21vIFwiRWplY3V0YW5kbyBhc3NpZ25fdGFza19sYWJlbC4uLlwiIHF1ZSBjb250aWVuZW4gZWwgbm9tYnJlXG4gIC8vIGNydWRvIGRlIGxhIHRvb2wg4oCUIG5vIHNvbiBtZW5zYWplcyBsZWdpYmxlcy4gU2kgZWwgbWVuc2FqZSBjb250aWVuZSBhbGd1bm8gZGUgbG9zIHRvb2xzXG4gIC8vIGRldGVjdGFkb3MsIHByZWZlcmltb3MgZWwgbWFwZW8gZGVsIGRpY2Npb25hcmlvLlxuICBjb25zdCBub2RlTWVzc2FnZUNvbnRhaW5zVG9vbCA9XG4gICAgZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSAmJiBkZXRlY3RlZFRvb2xzLnNvbWUodG9vbCA9PiB0cmltbWVkTm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0b29sKSlcbiAgY29uc3QgYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UgPVxuICAgIHRyaW1tZWROb2RlTWVzc2FnZSAmJiAhaXNHZW5lcmljICYmICFpc1JhdyAmJiAhbm9kZU1lc3NhZ2VDb250YWluc1Rvb2xcbiAgICAgID8geyBwaGFzZTogJ2FjdGlvbicgYXMgY29uc3QsIG1lc3NhZ2U6IHRyaW1tZWROb2RlTWVzc2FnZSB9XG4gICAgICA6IG51bGxcblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIGlmIChhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSkge1xuICAgICAgcmV0dXJuIGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlXG4gICAgfVxuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIG9wdGlvbnMpXG4gIH1cblxuICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KG5vZGVNZXNzYWdlLCB0LCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBjb250ZXh0PzogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsXG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkKGNvbnRleHQpXG4gIGNvbnN0IGRldGVjdGVkVG9vbHMgPSBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyhwZW5kaW5nQWN0aW9ucylcblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICB9XG5cbiAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogdCgnY2hhdC5wcm9jZXNzaW5nJykgfVxufVxuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMgPSAzMjAwXG5cbmNvbnN0IFJPVEFUQUJMRV9QSEFTRVM6IFN0cmVhbUFjdGl2aXR5UGhhc2VbXSA9IFsnZ2VuZXJhdGluZycsICd0aGlua2luZycsICdzZWFyY2gnLCAnZGVlcF9zZWFyY2gnLCAnYXR0YWNobWVudCddXG5cbmNvbnN0IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsIGF0dGFjaG1lbnRzQ291bnQgPSAwKTogcmVhZG9ubHkgc3RyaW5nW10gfCBudWxsID0+IHtcbiAgc3dpdGNoIChwaGFzZSkge1xuICAgIGNhc2UgJ2dlbmVyYXRpbmcnOlxuICAgICAgcmV0dXJuIEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAndGhpbmtpbmcnOlxuICAgICAgcmV0dXJuIFRISU5LSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICByZXR1cm4gU0VBUkNIX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ2RlZXBfc2VhcmNoJzpcbiAgICAgIHJldHVybiBERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdhdHRhY2htZW50JzpcbiAgICAgIHJldHVybiBhdHRhY2htZW50c0NvdW50ID4gMSA/IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA6IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXggPSAoXG4gIHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLFxuICBpbmRleDogbnVtYmVyLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgYXR0YWNobWVudHNDb3VudCA9IDBcbik6IHN0cmluZyA9PiB7XG4gIGlmIChwaGFzZSA9PT0gJ3dyaXRpbmcnKSB7XG4gICAgcmV0dXJuIHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSlcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlKHBoYXNlLCBhdHRhY2htZW50c0NvdW50KVxuICBpZiAoIWtleXM/Lmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgY29uc3QgY2xhbXBlZEluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgaW5kZXgpLCBrZXlzLmxlbmd0aCAtIDEpXG4gIHJldHVybiB0KGtleXNbY2xhbXBlZEluZGV4XSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgndGhpbmtpbmcnLCBpbmRleCwgdClcblxuZXhwb3J0IGNvbnN0IGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSA9IChpbmRleDogbnVtYmVyLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdnZW5lcmF0aW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSlcbiAgaWYgKCFrZXlzKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRJbmRleCA8IGtleXMubGVuZ3RoIC0gMVxufVxuXG5leHBvcnQgY29uc3QgYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5LFxuICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm5cbik6IHsgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5OyBuZXh0SW5kZXg6IG51bWJlciB9IHwgbnVsbCA9PiB7XG4gIGlmICghY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZShhY3Rpdml0eS5waGFzZSwgY3VycmVudEluZGV4KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggKyAxXG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHk6IHtcbiAgICAgIHBoYXNlOiBhY3Rpdml0eS5waGFzZSxcbiAgICAgIG1lc3NhZ2U6IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoYWN0aXZpdHkucGhhc2UsIG5leHRJbmRleCwgdCwgYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCksXG4gICAgICAuLi4oYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCAhPSBudWxsICYmIHsgYXR0YWNobWVudHNDb3VudDogYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCB9KSxcbiAgICB9LFxuICAgIG5leHRJbmRleCxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSk6IGJvb2xlYW4gPT4gUk9UQVRBQkxFX1BIQVNFUy5pbmNsdWRlcyhwaGFzZSlcblxuZXhwb3J0IGNvbnN0IGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSA9ICh0OiBUcmFuc2xhdGVGbik6IFN0cmVhbUFjdGl2aXR5ID0+ICh7XG4gIHBoYXNlOiAnd3JpdGluZycsXG4gIG1lc3NhZ2U6IHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSksXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5ID0gKFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9uczoge1xuICAgIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBoYXNBdHRhY2htZW50cz86IGJvb2xlYW5cbiAgICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgaWYgKG9wdGlvbnMuaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6IHQoU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnZGVlcF9zZWFyY2gnLCBtZXNzYWdlOiB0KERFRVBfU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmhhc0F0dGFjaG1lbnRzKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHNDb3VudCA9IG9wdGlvbnMuYXR0YWNobWVudHNDb3VudCA/PyAwXG4gICAgcmV0dXJuIHtcbiAgICAgIHBoYXNlOiAnYXR0YWNobWVudCcsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdhdHRhY2htZW50JywgMCwgdCwgYXR0YWNobWVudHNDb3VudCksXG4gICAgICBhdHRhY2htZW50c0NvdW50LFxuICAgIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiB0KEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTWzBdKSB9XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkgPSAocGFyYW1zOiB7XG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgYWN0aXZlTG9hZGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgd2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuXG4gIGlzV2ViU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIHQ6IFRyYW5zbGF0ZUZuXG59KTogU3RyZWFtQWN0aXZpdHkgfCBudWxsID0+IHtcbiAgaWYgKHBhcmFtcy5zdHJlYW1BY3Rpdml0eSkge1xuICAgIHJldHVybiBwYXJhbXMuc3RyZWFtQWN0aXZpdHlcbiAgfVxuXG4gIGNvbnN0IGFjdGl2ZUtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMuYWN0aXZlTG9hZGluZ3MpXG4gIGlmIChhY3RpdmVLZXlzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdEtleSA9IGFjdGl2ZUtleXNbMF1cbiAgICBjb25zdCByYXcgPSBwYXJhbXMuYWN0aXZlTG9hZGluZ3NbZmlyc3RLZXldXG4gICAgaWYgKHJhdyAmJiByYXcgIT09IHBhcmFtcy50KCdjaGF0LnByb2Nlc3NpbmcnKSkge1xuICAgICAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UocmF3KVxuICAgICAgaWYgKGhpdGxUb29sKSB7XG4gICAgICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCBwYXJhbXMudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHJpbW1lZCA9IHJhdy50cmltKClcbiAgICAgIGlmICh0cmltbWVkICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkKSkge1xuICAgICAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWQgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KHJhdywgcGFyYW1zLnQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIH1cbiAgICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSkge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQud3JpdGluZycpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHBhcmFtcy50KVxuICAgIH1cbiAgICBpZiAocGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nJykpIHtcbiAgICAgIHJldHVybiB7IHBoYXNlOiAnZ2VuZXJhdGluZycsIG1lc3NhZ2U6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJyksXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpLFxuICAgICAgICBoYXNBdHRhY2htZW50czogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpLFxuICAgICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMud2FpdGluZ1Jlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMuaGFzQXR0YWNobWVudHMsXG4gICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIHR5cGVvZiBtZXNzYWdlSWQgPT09ICdzdHJpbmcnICYmIG1lc3NhZ2VJZC5pbmNsdWRlcygnLXN0cmVhbWluZycpXG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxTQUFTQSxxQkFBcUIsUUFBUSxpQkFBaUI7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S0FBS1AsTUFBTSxDQUFDOUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7TUFDekQsT0FBTztRQUFFRyxLQUFLLEVBQUUsWUFBWTtRQUFFWixPQUFPLEVBQUV1RixNQUFNLENBQUNPO01BQWUsQ0FBQztJQUNoRTtJQUNBLElBQ0VQLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUM5RSxDQUFDLENBQUMsMEJBQTBCLENBQUMsSUFDOUQ4RSxNQUFNLENBQUNPLGNBQWMsS0FBS1AsTUFBTSxDQUFDOUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLElBQy9EOEUsTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQzlFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxFQUMvRDtNQUNBLE9BQU93RSx3QkFBd0IsQ0FBQ00sTUFBTSxDQUFDOUUsQ0FBQyxFQUFFO1FBQ3hDeUUsaUJBQWlCLEVBQUVLLE1BQU0sQ0FBQ08sY0FBYyxLQUFLUCxNQUFNLENBQUM5RSxDQUFDLENBQUMsMEJBQTBCLENBQUM7UUFDakYwRSxrQkFBa0IsRUFBRUksTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQzlFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztRQUNuRjJFLGNBQWMsRUFBRUcsTUFBTSxDQUFDTyxjQUFjLEtBQUtQLE1BQU0sQ0FBQzlFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztRQUMvRXFELGdCQUFnQixFQUFFeUIsTUFBTSxDQUFDekI7TUFDM0IsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPO01BQUVsRCxLQUFLLEVBQUUsUUFBUTtNQUFFWixPQUFPLEVBQUV1RixNQUFNLENBQUNPO0lBQWUsQ0FBQztFQUM1RDtFQUVBLElBQUlQLE1BQU0sQ0FBQ1EsZUFBZSxFQUFFO0lBQzFCLE9BQU9kLHdCQUF3QixDQUFDTSxNQUFNLENBQUM5RSxDQUFDLEVBQUU7TUFDeEN5RSxpQkFBaUIsRUFBRUssTUFBTSxDQUFDTCxpQkFBaUI7TUFDM0NDLGtCQUFrQixFQUFFSSxNQUFNLENBQUNKLGtCQUFrQjtNQUM3Q0MsY0FBYyxFQUFFRyxNQUFNLENBQUNILGNBQWM7TUFDckN0QixnQkFBZ0IsRUFBRXlCLE1BQU0sQ0FBQ3pCO0lBQzNCLENBQUMsQ0FBQztFQUNKO0VBRUEsT0FBTyxJQUFJO0FBQ2IsQ0FBQztBQUVELE9BQU8sSUFBTWtDLCtCQUErQixHQUFHLFNBQWxDQSwrQkFBK0JBLENBQUlDLFNBQTZCO0VBQUEsT0FDM0UsT0FBT0EsU0FBUyxLQUFLLFFBQVEsSUFBSUEsU0FBUyxDQUFDN0UsUUFBUSxDQUFDLFlBQVksQ0FBQztBQUFBIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.78-0",
3
+ "version": "2.11.78-10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {
@@ -1,17 +0,0 @@
1
- import { SCSessionGeneratingDot } from './SessionGeneratingDot.styles';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- /** Indicador compacto de sesión generando respuesta (sidebar). */
4
- export var SessionGeneratingDot = function SessionGeneratingDot(_ref) {
5
- var ariaLabel = _ref.ariaLabel,
6
- _ref$isWriting = _ref.isWriting,
7
- isWriting = _ref$isWriting === void 0 ? false : _ref$isWriting,
8
- className = _ref.className;
9
- return /*#__PURE__*/_jsx(SCSessionGeneratingDot, {
10
- $writing: isWriting,
11
- className: className,
12
- role: "status",
13
- "aria-live": "polite",
14
- "aria-label": ariaLabel
15
- });
16
- };
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ1Nlc3Npb25HZW5lcmF0aW5nRG90IiwianN4IiwiX2pzeCIsIlNlc3Npb25HZW5lcmF0aW5nRG90IiwiX3JlZiIsImFyaWFMYWJlbCIsIl9yZWYkaXNXcml0aW5nIiwiaXNXcml0aW5nIiwiY2xhc3NOYW1lIiwiJHdyaXRpbmciLCJyb2xlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvU2Vzc2lvbkdlbmVyYXRpbmdEb3QvU2Vzc2lvbkdlbmVyYXRpbmdEb3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNDU2Vzc2lvbkdlbmVyYXRpbmdEb3QgfSBmcm9tICcuL1Nlc3Npb25HZW5lcmF0aW5nRG90LnN0eWxlcydcblxuZXhwb3J0IHR5cGUgU2Vzc2lvbkdlbmVyYXRpbmdEb3RQcm9wcyA9IHtcbiAgLyoqIEV0aXF1ZXRhIGFjY2VzaWJsZSAoaTE4bikuICovXG4gIGFyaWFMYWJlbDogc3RyaW5nXG4gIC8qKiBSaXRtbyBtw6FzIHLDoXBpZG8gY3VhbmRvIHlhIGhheSB0b2tlbnMgZW4gdnVlbG8uICovXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbi8qKiBJbmRpY2Fkb3IgY29tcGFjdG8gZGUgc2VzacOzbiBnZW5lcmFuZG8gcmVzcHVlc3RhIChzaWRlYmFyKS4gKi9cbmV4cG9ydCBjb25zdCBTZXNzaW9uR2VuZXJhdGluZ0RvdCA9ICh7IGFyaWFMYWJlbCwgaXNXcml0aW5nID0gZmFsc2UsIGNsYXNzTmFtZSB9OiBTZXNzaW9uR2VuZXJhdGluZ0RvdFByb3BzKSA9PiAoXG4gIDxTQ1Nlc3Npb25HZW5lcmF0aW5nRG90XG4gICAgJHdyaXRpbmc9e2lzV3JpdGluZ31cbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICByb2xlPVwic3RhdHVzXCJcbiAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgLz5cbilcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0Esc0JBQXNCLFFBQVEsK0JBQStCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXRFO0FBQ0EsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBQyxJQUFBO0VBQUEsSUFBTUMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7SUFBQUMsY0FBQSxHQUFBRixJQUFBLENBQUVHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQUVFLFNBQVMsR0FBQUosSUFBQSxDQUFUSSxTQUFTO0VBQUEsb0JBQzVFTixJQUFBLENBQUNGLHNCQUFzQjtJQUNyQlMsUUFBUSxFQUFFRixTQUFVO0lBQ3BCQyxTQUFTLEVBQUVBLFNBQVU7SUFDckJFLElBQUksRUFBQyxRQUFRO0lBQ2IsYUFBVSxRQUFRO0lBQ2xCLGNBQVlMO0VBQVUsQ0FDdkIsQ0FBQztBQUFBLENBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,15 +0,0 @@
1
- import styled, { css, keyframes } from 'styled-components';
2
- var dotPulse = keyframes(["0%,100%{opacity:0.35;transform:scale(0.82);}50%{opacity:1;transform:scale(1);}"]);
3
-
4
- /** Punto animado para sesiones que están generando respuesta en el sidebar. */
5
- export var SCSessionGeneratingDot = styled.span.withConfig({
6
- displayName: "SessionGeneratingDotstyles__SCSessionGeneratingDot",
7
- componentId: "sc-nwmemt-0"
8
- })(["flex-shrink:0;width:6px;height:6px;border-radius:50%;background-color:rgba(13,13,13,0.72);animation:", " ", " ease-in-out infinite;", ""], dotPulse, function (_ref) {
9
- var $writing = _ref.$writing;
10
- return $writing ? '0.85s' : '1.25s';
11
- }, function (_ref2) {
12
- var $writing = _ref2.$writing;
13
- return $writing && css(["background-color:rgba(13,13,13,0.88);"]);
14
- });
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJkb3RQdWxzZSIsIlNDU2Vzc2lvbkdlbmVyYXRpbmdEb3QiLCJzcGFuIiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJHdyaXRpbmciLCJfcmVmMiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1Nlc3Npb25HZW5lcmF0aW5nRG90L1Nlc3Npb25HZW5lcmF0aW5nRG90LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmNvbnN0IGRvdFB1bHNlID0ga2V5ZnJhbWVzYFxuICAwJSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbi8qKiBQdW50byBhbmltYWRvIHBhcmEgc2VzaW9uZXMgcXVlIGVzdMOhbiBnZW5lcmFuZG8gcmVzcHVlc3RhIGVuIGVsIHNpZGViYXIuICovXG5leHBvcnQgY29uc3QgU0NTZXNzaW9uR2VuZXJhdGluZ0RvdCA9IHN0eWxlZC5zcGFuPHsgJHdyaXRpbmc/OiBib29sZWFuIH0+YFxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjcyKTtcbiAgYW5pbWF0aW9uOiAke2RvdFB1bHNlfSAkeyh7ICR3cml0aW5nIH0pID0+ICgkd3JpdGluZyA/ICcwLjg1cycgOiAnMS4yNXMnKX0gZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgJHsoeyAkd3JpdGluZyB9KSA9PlxuICAgICR3cml0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjg4KTtcbiAgICBgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUUxRCxJQUFNQyxRQUFRLEdBQUdELFNBQVMsb0ZBVXpCOztBQUVEO0FBQ0EsT0FBTyxJQUFNRSxzQkFBc0IsR0FBR0osTUFBTSxDQUFDSyxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0pBTWxDTCxRQUFRLEVBQUksVUFBQU0sSUFBQTtFQUFBLElBQUdDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0VBQUEsT0FBUUEsUUFBUSxHQUFHLE9BQU8sR0FBRyxPQUFPO0FBQUEsQ0FBQyxFQUV2RSxVQUFBQyxLQUFBO0VBQUEsSUFBR0QsUUFBUSxHQUFBQyxLQUFBLENBQVJELFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JULEdBQUcsMkNBRUY7QUFBQSxFQUNKIiwiaWdub3JlTGlzdCI6W119
@@ -1,2 +0,0 @@
1
- export { SessionGeneratingDot } from './SessionGeneratingDot';
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXNzaW9uR2VuZXJhdGluZ0RvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1Nlc3Npb25HZW5lcmF0aW5nRG90L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNlc3Npb25HZW5lcmF0aW5nRG90IH0gZnJvbSAnLi9TZXNzaW9uR2VuZXJhdGluZ0RvdCdcbmV4cG9ydCB0eXBlIHsgU2Vzc2lvbkdlbmVyYXRpbmdEb3RQcm9wcyB9IGZyb20gJy4vU2Vzc2lvbkdlbmVyYXRpbmdEb3QnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixRQUFRLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,12 +0,0 @@
1
- import { SCSessionUnreadDot } from './SessionUnreadDot.styles';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- export var SessionUnreadDot = function SessionUnreadDot(_ref) {
4
- var ariaLabel = _ref.ariaLabel,
5
- className = _ref.className;
6
- return /*#__PURE__*/_jsx(SCSessionUnreadDot, {
7
- className: className,
8
- role: "status",
9
- "aria-label": ariaLabel
10
- });
11
- };
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ1Nlc3Npb25VbnJlYWREb3QiLCJqc3giLCJfanN4IiwiU2Vzc2lvblVucmVhZERvdCIsIl9yZWYiLCJhcmlhTGFiZWwiLCJjbGFzc05hbWUiLCJyb2xlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvU2Vzc2lvblVucmVhZERvdC9TZXNzaW9uVW5yZWFkRG90LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTQ1Nlc3Npb25VbnJlYWREb3QgfSBmcm9tICcuL1Nlc3Npb25VbnJlYWREb3Quc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uVW5yZWFkRG90UHJvcHMgPSB7XG4gIGFyaWFMYWJlbDogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgU2Vzc2lvblVucmVhZERvdCA9ICh7IGFyaWFMYWJlbCwgY2xhc3NOYW1lIH06IFNlc3Npb25VbnJlYWREb3RQcm9wcykgPT4gKFxuICA8U0NTZXNzaW9uVW5yZWFkRG90IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSByb2xlPVwic3RhdHVzXCIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfSAvPlxuKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxrQkFBa0IsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFPOUQsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBQyxJQUFBO0VBQUEsSUFBTUMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7SUFBRUMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7RUFBQSxvQkFDckRKLElBQUEsQ0FBQ0Ysa0JBQWtCO0lBQUNNLFNBQVMsRUFBRUEsU0FBVTtJQUFDQyxJQUFJLEVBQUMsUUFBUTtJQUFDLGNBQVlGO0VBQVUsQ0FBRSxDQUFDO0FBQUEsQ0FDbEYiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,8 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- /** Punto estático para conversaciones con respuesta lista sin leer (sidebar). */
4
- export var SCSessionUnreadDot = styled.span.withConfig({
5
- displayName: "SessionUnreadDotstyles__SCSessionUnreadDot",
6
- componentId: "sc-1r13syh-0"
7
- })(["flex-shrink:0;width:6px;height:6px;border-radius:50%;background-color:rgba(13,13,13,0.52);"]);
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ1Nlc3Npb25VbnJlYWREb3QiLCJzcGFuIiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9TZXNzaW9uVW5yZWFkRG90L1Nlc3Npb25VbnJlYWREb3Quc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbi8qKiBQdW50byBlc3TDoXRpY28gcGFyYSBjb252ZXJzYWNpb25lcyBjb24gcmVzcHVlc3RhIGxpc3RhIHNpbiBsZWVyIChzaWRlYmFyKS4gKi9cbmV4cG9ydCBjb25zdCBTQ1Nlc3Npb25VbnJlYWREb3QgPSBzdHlsZWQuc3BhbmBcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEzLCAxMywgMC41Mik7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7O0FBRXRDO0FBQ0EsT0FBTyxJQUFNQyxrQkFBa0IsR0FBR0QsTUFBTSxDQUFDRSxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0dBTTVDIiwiaWdub3JlTGlzdCI6W119
@@ -1,2 +0,0 @@
1
- export { SessionUnreadDot } from './SessionUnreadDot';
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXNzaW9uVW5yZWFkRG90Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvU2Vzc2lvblVucmVhZERvdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTZXNzaW9uVW5yZWFkRG90IH0gZnJvbSAnLi9TZXNzaW9uVW5yZWFkRG90J1xuZXhwb3J0IHR5cGUgeyBTZXNzaW9uVW5yZWFkRG90UHJvcHMgfSBmcm9tICcuL1Nlc3Npb25VbnJlYWREb3QnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,22 +0,0 @@
1
- /**
2
- * Sesión actualmente visible en la UI (module-level).
3
- *
4
- * El motor de streaming vive en `sessionStreamManager` y sobrevive al
5
- * desmontaje del componente. Por eso los callbacks de un stream NO pueden
6
- * decidir "¿es la sesión activa?" leyendo un ref de la instancia que lo arrancó
7
- * (puede estar desmontada). Este tracker global da la respuesta correcta sin
8
- * importar qué closure ejecute el callback.
9
- */
10
- var activeViewSessionId = null;
11
- export var activeView = {
12
- set: function set(sessionId) {
13
- activeViewSessionId = sessionId;
14
- },
15
- get: function get() {
16
- return activeViewSessionId;
17
- },
18
- is: function is(sessionId) {
19
- return sessionId != null && sessionId === activeViewSessionId;
20
- }
21
- };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3RpdmVWaWV3U2Vzc2lvbklkIiwiYWN0aXZlVmlldyIsInNldCIsInNlc3Npb25JZCIsImdldCIsImlzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL3Nlc3Npb25zL2FjdGl2ZVZpZXcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXNpw7NuIGFjdHVhbG1lbnRlIHZpc2libGUgZW4gbGEgVUkgKG1vZHVsZS1sZXZlbCkuXG4gKlxuICogRWwgbW90b3IgZGUgc3RyZWFtaW5nIHZpdmUgZW4gYHNlc3Npb25TdHJlYW1NYW5hZ2VyYCB5IHNvYnJldml2ZSBhbFxuICogZGVzbW9udGFqZSBkZWwgY29tcG9uZW50ZS4gUG9yIGVzbyBsb3MgY2FsbGJhY2tzIGRlIHVuIHN0cmVhbSBOTyBwdWVkZW5cbiAqIGRlY2lkaXIgXCLCv2VzIGxhIHNlc2nDs24gYWN0aXZhP1wiIGxleWVuZG8gdW4gcmVmIGRlIGxhIGluc3RhbmNpYSBxdWUgbG8gYXJyYW5jw7NcbiAqIChwdWVkZSBlc3RhciBkZXNtb250YWRhKS4gRXN0ZSB0cmFja2VyIGdsb2JhbCBkYSBsYSByZXNwdWVzdGEgY29ycmVjdGEgc2luXG4gKiBpbXBvcnRhciBxdcOpIGNsb3N1cmUgZWplY3V0ZSBlbCBjYWxsYmFjay5cbiAqL1xubGV0IGFjdGl2ZVZpZXdTZXNzaW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbmV4cG9ydCBjb25zdCBhY3RpdmVWaWV3ID0ge1xuICBzZXQoc2Vzc2lvbklkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgYWN0aXZlVmlld1Nlc3Npb25JZCA9IHNlc3Npb25JZFxuICB9LFxuICBnZXQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIGFjdGl2ZVZpZXdTZXNzaW9uSWRcbiAgfSxcbiAgaXMoc2Vzc2lvbklkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlc3Npb25JZCAhPSBudWxsICYmIHNlc3Npb25JZCA9PT0gYWN0aXZlVmlld1Nlc3Npb25JZFxuICB9LFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxtQkFBa0MsR0FBRyxJQUFJO0FBRTdDLE9BQU8sSUFBTUMsVUFBVSxHQUFHO0VBQ3hCQyxHQUFHLFdBQUhBLEdBQUdBLENBQUNDLFNBQXdCLEVBQVE7SUFDbENILG1CQUFtQixHQUFHRyxTQUFTO0VBQ2pDLENBQUM7RUFDREMsR0FBRyxXQUFIQSxHQUFHQSxDQUFBLEVBQWtCO0lBQ25CLE9BQU9KLG1CQUFtQjtFQUM1QixDQUFDO0VBQ0RLLEVBQUUsV0FBRkEsRUFBRUEsQ0FBQ0YsU0FBb0MsRUFBVztJQUNoRCxPQUFPQSxTQUFTLElBQUksSUFBSSxJQUFJQSxTQUFTLEtBQUtILG1CQUFtQjtFQUMvRDtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,10 +0,0 @@
1
- export { useSessionsStore } from './useSessionsStore';
2
- export { sessionStreamingText } from './sessionStreamingText';
3
- export { useSessionStreamingText } from './useSessionStreamingText';
4
- export { useSessionMeta, useSessionStreamState, useActiveSessionIds, useIsSessionGenerating } from './useSessionMeta';
5
- export { sessionStreamManager, MAX_CONCURRENT_STREAMS } from './sessionStreamManager';
6
- export { activeView } from './activeView';
7
- export { initSessionUnreadPersistence, isPersistedSessionUnread, removePersistedSessionUnread, setPersistedSessionUnread } from './sessionUnreadPersistence';
8
- export { ensureSessionNotificationsInitialized, notifySessionFinishedInBackground } from './sessionNotifications';
9
- export { isActiveSessionStatus, ACTIVE_SESSION_STATUSES } from './sessions.types';
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTZXNzaW9uc1N0b3JlIiwic2Vzc2lvblN0cmVhbWluZ1RleHQiLCJ1c2VTZXNzaW9uU3RyZWFtaW5nVGV4dCIsInVzZVNlc3Npb25NZXRhIiwidXNlU2Vzc2lvblN0cmVhbVN0YXRlIiwidXNlQWN0aXZlU2Vzc2lvbklkcyIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsIk1BWF9DT05DVVJSRU5UX1NUUkVBTVMiLCJhY3RpdmVWaWV3IiwiaW5pdFNlc3Npb25VbnJlYWRQZXJzaXN0ZW5jZSIsImlzUGVyc2lzdGVkU2Vzc2lvblVucmVhZCIsInJlbW92ZVBlcnNpc3RlZFNlc3Npb25VbnJlYWQiLCJzZXRQZXJzaXN0ZWRTZXNzaW9uVW5yZWFkIiwiZW5zdXJlU2Vzc2lvbk5vdGlmaWNhdGlvbnNJbml0aWFsaXplZCIsIm5vdGlmeVNlc3Npb25GaW5pc2hlZEluQmFja2dyb3VuZCIsImlzQWN0aXZlU2Vzc2lvblN0YXR1cyIsIkFDVElWRV9TRVNTSU9OX1NUQVRVU0VTIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL3Nlc3Npb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHVzZVNlc3Npb25zU3RvcmUgfSBmcm9tICcuL3VzZVNlc3Npb25zU3RvcmUnXG5leHBvcnQgeyBzZXNzaW9uU3RyZWFtaW5nVGV4dCB9IGZyb20gJy4vc2Vzc2lvblN0cmVhbWluZ1RleHQnXG5leHBvcnQgeyB1c2VTZXNzaW9uU3RyZWFtaW5nVGV4dCB9IGZyb20gJy4vdXNlU2Vzc2lvblN0cmVhbWluZ1RleHQnXG5leHBvcnQgeyB1c2VTZXNzaW9uTWV0YSwgdXNlU2Vzc2lvblN0cmVhbVN0YXRlLCB1c2VBY3RpdmVTZXNzaW9uSWRzLCB1c2VJc1Nlc3Npb25HZW5lcmF0aW5nIH0gZnJvbSAnLi91c2VTZXNzaW9uTWV0YSdcbmV4cG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyLCBNQVhfQ09OQ1VSUkVOVF9TVFJFQU1TIH0gZnJvbSAnLi9zZXNzaW9uU3RyZWFtTWFuYWdlcidcbmV4cG9ydCB7IGFjdGl2ZVZpZXcgfSBmcm9tICcuL2FjdGl2ZVZpZXcnXG5leHBvcnQge1xuICBpbml0U2Vzc2lvblVucmVhZFBlcnNpc3RlbmNlLFxuICBpc1BlcnNpc3RlZFNlc3Npb25VbnJlYWQsXG4gIHJlbW92ZVBlcnNpc3RlZFNlc3Npb25VbnJlYWQsXG4gIHNldFBlcnNpc3RlZFNlc3Npb25VbnJlYWQsXG59IGZyb20gJy4vc2Vzc2lvblVucmVhZFBlcnNpc3RlbmNlJ1xuZXhwb3J0IHsgZW5zdXJlU2Vzc2lvbk5vdGlmaWNhdGlvbnNJbml0aWFsaXplZCwgbm90aWZ5U2Vzc2lvbkZpbmlzaGVkSW5CYWNrZ3JvdW5kIH0gZnJvbSAnLi9zZXNzaW9uTm90aWZpY2F0aW9ucydcbmV4cG9ydCB0eXBlIHsgTWFpYVNlc3Npb25GaW5pc2hlZERldGFpbCwgU2Vzc2lvbkZpbmlzaGVkS2luZCB9IGZyb20gJy4vc2Vzc2lvbk5vdGlmaWNhdGlvbnMudHlwZXMnXG5leHBvcnQgeyBpc0FjdGl2ZVNlc3Npb25TdGF0dXMsIEFDVElWRV9TRVNTSU9OX1NUQVRVU0VTIH0gZnJvbSAnLi9zZXNzaW9ucy50eXBlcydcbmV4cG9ydCB0eXBlIHtcbiAgU2Vzc2lvblN0YXR1cyxcbiAgU2Vzc2lvbkVycm9yLFxuICBTZXNzaW9uUnVudGltZU1ldGEsXG4gIFNlc3Npb25TdHJlYW1pbmdTbmFwc2hvdCxcbiAgU2Vzc2lvbkZpbmlzaFBheWxvYWQsXG4gIFNlc3Npb25TdHJlYW1DYWxsYmFja3MsXG4gIFN0YXJ0U3RyZWFtUmVzdWx0LFxuICBTZXNzaW9uTWVzc2FnZXNNYXAsXG59IGZyb20gJy4vc2Vzc2lvbnMudHlwZXMnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUFTQyxvQkFBb0IsUUFBUSx3QkFBd0I7QUFDN0QsU0FBU0MsdUJBQXVCLFFBQVEsMkJBQTJCO0FBQ25FLFNBQVNDLGNBQWMsRUFBRUMscUJBQXFCLEVBQUVDLG1CQUFtQixFQUFFQyxzQkFBc0IsUUFBUSxrQkFBa0I7QUFDckgsU0FBU0Msb0JBQW9CLEVBQUVDLHNCQUFzQixRQUFRLHdCQUF3QjtBQUNyRixTQUFTQyxVQUFVLFFBQVEsY0FBYztBQUN6QyxTQUNFQyw0QkFBNEIsRUFDNUJDLHdCQUF3QixFQUN4QkMsNEJBQTRCLEVBQzVCQyx5QkFBeUIsUUFDcEIsNEJBQTRCO0FBQ25DLFNBQVNDLHFDQUFxQyxFQUFFQyxpQ0FBaUMsUUFBUSx3QkFBd0I7QUFFakgsU0FBU0MscUJBQXFCLEVBQUVDLHVCQUF1QixRQUFRLGtCQUFrQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,15 +0,0 @@
1
- /** Contexto HITL por sesión (sobrevive al cambio de vista dentro del motor). */
2
- var contexts = new Map();
3
- export var sessionHitlContext = {
4
- set: function set(sessionId, context) {
5
- contexts.set(sessionId, context);
6
- },
7
- get: function get(sessionId) {
8
- var _contexts$get;
9
- return (_contexts$get = contexts.get(sessionId)) !== null && _contexts$get !== void 0 ? _contexts$get : null;
10
- },
11
- clear: function clear(sessionId) {
12
- contexts["delete"](sessionId);
13
- }
14
- };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb250ZXh0cyIsIk1hcCIsInNlc3Npb25IaXRsQ29udGV4dCIsInNldCIsInNlc3Npb25JZCIsImNvbnRleHQiLCJnZXQiLCJfY29udGV4dHMkZ2V0IiwiY2xlYXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvbkhpdGxDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGl0bEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJ1xuXG4vKiogQ29udGV4dG8gSElUTCBwb3Igc2VzacOzbiAoc29icmV2aXZlIGFsIGNhbWJpbyBkZSB2aXN0YSBkZW50cm8gZGVsIG1vdG9yKS4gKi9cbmNvbnN0IGNvbnRleHRzID0gbmV3IE1hcDxzdHJpbmcsIEhpdGxFeGVjdXRpb25Db250ZXh0PigpXG5cbmV4cG9ydCBjb25zdCBzZXNzaW9uSGl0bENvbnRleHQgPSB7XG4gIHNldChzZXNzaW9uSWQ6IHN0cmluZywgY29udGV4dDogSGl0bEV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkIHtcbiAgICBjb250ZXh0cy5zZXQoc2Vzc2lvbklkLCBjb250ZXh0KVxuICB9LFxuICBnZXQoc2Vzc2lvbklkOiBzdHJpbmcpOiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwge1xuICAgIHJldHVybiBjb250ZXh0cy5nZXQoc2Vzc2lvbklkKSA/PyBudWxsXG4gIH0sXG4gIGNsZWFyKHNlc3Npb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29udGV4dHMuZGVsZXRlKHNlc3Npb25JZClcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUE7QUFDQSxJQUFNQSxRQUFRLEdBQUcsSUFBSUMsR0FBRyxDQUErQixDQUFDO0FBRXhELE9BQU8sSUFBTUMsa0JBQWtCLEdBQUc7RUFDaENDLEdBQUcsV0FBSEEsR0FBR0EsQ0FBQ0MsU0FBaUIsRUFBRUMsT0FBNkIsRUFBUTtJQUMxREwsUUFBUSxDQUFDRyxHQUFHLENBQUNDLFNBQVMsRUFBRUMsT0FBTyxDQUFDO0VBQ2xDLENBQUM7RUFDREMsR0FBRyxXQUFIQSxHQUFHQSxDQUFDRixTQUFpQixFQUErQjtJQUFBLElBQUFHLGFBQUE7SUFDbEQsUUFBQUEsYUFBQSxHQUFPUCxRQUFRLENBQUNNLEdBQUcsQ0FBQ0YsU0FBUyxDQUFDLGNBQUFHLGFBQUEsY0FBQUEsYUFBQSxHQUFJLElBQUk7RUFDeEMsQ0FBQztFQUNEQyxLQUFLLFdBQUxBLEtBQUtBLENBQUNKLFNBQWlCLEVBQVE7SUFDN0JKLFFBQVEsVUFBTyxDQUFDSSxTQUFTLENBQUM7RUFDNUI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,57 +0,0 @@
1
- var audioContext = null;
2
- var getAudioContext = function getAudioContext() {
3
- if (typeof window === 'undefined') return null;
4
- if (!audioContext) {
5
- audioContext = new AudioContext();
6
- }
7
- return audioContext;
8
- };
9
- /**
10
- * Dos notas ascendentes, envelope suave — aproximación al ding de Cursor al
11
- * terminar una tarea (corto, limpio, no estridente).
12
- */
13
- var CURSOR_LIKE_CHIME = [{
14
- frequency: 830,
15
- startOffset: 0,
16
- duration: 0.075,
17
- peakGain: 0.055
18
- }, {
19
- frequency: 1046,
20
- startOffset: 0.085,
21
- duration: 0.095,
22
- peakGain: 0.075
23
- }];
24
- var playChimeNote = function playChimeNote(ctx, note, baseTime) {
25
- var start = baseTime + note.startOffset;
26
- var oscillator = ctx.createOscillator();
27
- var gain = ctx.createGain();
28
- oscillator.type = 'sine';
29
- oscillator.frequency.setValueAtTime(note.frequency, start);
30
- gain.gain.setValueAtTime(0.0001, start);
31
- gain.gain.exponentialRampToValueAtTime(note.peakGain, start + 0.01);
32
- gain.gain.exponentialRampToValueAtTime(0.0001, start + note.duration);
33
- oscillator.connect(gain);
34
- gain.connect(ctx.destination);
35
- oscillator.start(start);
36
- oscillator.stop(start + note.duration + 0.025);
37
- };
38
-
39
- /** Sonido corto al terminar una sesión en background (sin asset externo). */
40
- export var playSessionFinishedSound = function playSessionFinishedSound() {
41
- try {
42
- var ctx = getAudioContext();
43
- if (!ctx) return;
44
- if (ctx.state === 'suspended') {
45
- ctx.resume()["catch"](function () {
46
- // ignore
47
- });
48
- }
49
- var baseTime = ctx.currentTime;
50
- CURSOR_LIKE_CHIME.forEach(function (note) {
51
- return playChimeNote(ctx, note, baseTime);
52
- });
53
- } catch (_unused) {
54
- // Autoplay policy o AudioContext no disponible — ignorar.
55
- }
56
- };
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhdWRpb0NvbnRleHQiLCJnZXRBdWRpb0NvbnRleHQiLCJ3aW5kb3ciLCJBdWRpb0NvbnRleHQiLCJDVVJTT1JfTElLRV9DSElNRSIsImZyZXF1ZW5jeSIsInN0YXJ0T2Zmc2V0IiwiZHVyYXRpb24iLCJwZWFrR2FpbiIsInBsYXlDaGltZU5vdGUiLCJjdHgiLCJub3RlIiwiYmFzZVRpbWUiLCJzdGFydCIsIm9zY2lsbGF0b3IiLCJjcmVhdGVPc2NpbGxhdG9yIiwiZ2FpbiIsImNyZWF0ZUdhaW4iLCJ0eXBlIiwic2V0VmFsdWVBdFRpbWUiLCJleHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lIiwiY29ubmVjdCIsImRlc3RpbmF0aW9uIiwic3RvcCIsInBsYXlTZXNzaW9uRmluaXNoZWRTb3VuZCIsInN0YXRlIiwicmVzdW1lIiwiY3VycmVudFRpbWUiLCJmb3JFYWNoIiwiX3VudXNlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yZS9zZXNzaW9ucy9zZXNzaW9uTm90aWZpY2F0aW9uU291bmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IGF1ZGlvQ29udGV4dDogQXVkaW9Db250ZXh0IHwgbnVsbCA9IG51bGxcblxuY29uc3QgZ2V0QXVkaW9Db250ZXh0ID0gKCk6IEF1ZGlvQ29udGV4dCB8IG51bGwgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsXG4gIGlmICghYXVkaW9Db250ZXh0KSB7XG4gICAgYXVkaW9Db250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpXG4gIH1cbiAgcmV0dXJuIGF1ZGlvQ29udGV4dFxufVxuXG50eXBlIENoaW1lTm90ZSA9IHtcbiAgZnJlcXVlbmN5OiBudW1iZXJcbiAgc3RhcnRPZmZzZXQ6IG51bWJlclxuICBkdXJhdGlvbjogbnVtYmVyXG4gIHBlYWtHYWluOiBudW1iZXJcbn1cblxuLyoqXG4gKiBEb3Mgbm90YXMgYXNjZW5kZW50ZXMsIGVudmVsb3BlIHN1YXZlIOKAlCBhcHJveGltYWNpw7NuIGFsIGRpbmcgZGUgQ3Vyc29yIGFsXG4gKiB0ZXJtaW5hciB1bmEgdGFyZWEgKGNvcnRvLCBsaW1waW8sIG5vIGVzdHJpZGVudGUpLlxuICovXG5jb25zdCBDVVJTT1JfTElLRV9DSElNRTogQ2hpbWVOb3RlW10gPSBbXG4gIHsgZnJlcXVlbmN5OiA4MzAsIHN0YXJ0T2Zmc2V0OiAwLCBkdXJhdGlvbjogMC4wNzUsIHBlYWtHYWluOiAwLjA1NSB9LFxuICB7IGZyZXF1ZW5jeTogMTA0Niwgc3RhcnRPZmZzZXQ6IDAuMDg1LCBkdXJhdGlvbjogMC4wOTUsIHBlYWtHYWluOiAwLjA3NSB9LFxuXVxuXG5jb25zdCBwbGF5Q2hpbWVOb3RlID0gKGN0eDogQXVkaW9Db250ZXh0LCBub3RlOiBDaGltZU5vdGUsIGJhc2VUaW1lOiBudW1iZXIpOiB2b2lkID0+IHtcbiAgY29uc3Qgc3RhcnQgPSBiYXNlVGltZSArIG5vdGUuc3RhcnRPZmZzZXRcbiAgY29uc3Qgb3NjaWxsYXRvciA9IGN0eC5jcmVhdGVPc2NpbGxhdG9yKClcbiAgY29uc3QgZ2FpbiA9IGN0eC5jcmVhdGVHYWluKClcblxuICBvc2NpbGxhdG9yLnR5cGUgPSAnc2luZSdcbiAgb3NjaWxsYXRvci5mcmVxdWVuY3kuc2V0VmFsdWVBdFRpbWUobm90ZS5mcmVxdWVuY3ksIHN0YXJ0KVxuXG4gIGdhaW4uZ2Fpbi5zZXRWYWx1ZUF0VGltZSgwLjAwMDEsIHN0YXJ0KVxuICBnYWluLmdhaW4uZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZShub3RlLnBlYWtHYWluLCBzdGFydCArIDAuMDEpXG4gIGdhaW4uZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKDAuMDAwMSwgc3RhcnQgKyBub3RlLmR1cmF0aW9uKVxuXG4gIG9zY2lsbGF0b3IuY29ubmVjdChnYWluKVxuICBnYWluLmNvbm5lY3QoY3R4LmRlc3RpbmF0aW9uKVxuICBvc2NpbGxhdG9yLnN0YXJ0KHN0YXJ0KVxuICBvc2NpbGxhdG9yLnN0b3Aoc3RhcnQgKyBub3RlLmR1cmF0aW9uICsgMC4wMjUpXG59XG5cbi8qKiBTb25pZG8gY29ydG8gYWwgdGVybWluYXIgdW5hIHNlc2nDs24gZW4gYmFja2dyb3VuZCAoc2luIGFzc2V0IGV4dGVybm8pLiAqL1xuZXhwb3J0IGNvbnN0IHBsYXlTZXNzaW9uRmluaXNoZWRTb3VuZCA9ICgpOiB2b2lkID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBjdHggPSBnZXRBdWRpb0NvbnRleHQoKVxuICAgIGlmICghY3R4KSByZXR1cm5cblxuICAgIGlmIChjdHguc3RhdGUgPT09ICdzdXNwZW5kZWQnKSB7XG4gICAgICBjdHgucmVzdW1lKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBpZ25vcmVcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVRpbWUgPSBjdHguY3VycmVudFRpbWVcbiAgICBDVVJTT1JfTElLRV9DSElNRS5mb3JFYWNoKG5vdGUgPT4gcGxheUNoaW1lTm90ZShjdHgsIG5vdGUsIGJhc2VUaW1lKSlcbiAgfSBjYXRjaCB7XG4gICAgLy8gQXV0b3BsYXkgcG9saWN5IG8gQXVkaW9Db250ZXh0IG5vIGRpc3BvbmlibGUg4oCUIGlnbm9yYXIuXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsWUFBaUMsR0FBRyxJQUFJO0FBRTVDLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUE4QjtFQUNqRCxJQUFJLE9BQU9DLE1BQU0sS0FBSyxXQUFXLEVBQUUsT0FBTyxJQUFJO0VBQzlDLElBQUksQ0FBQ0YsWUFBWSxFQUFFO0lBQ2pCQSxZQUFZLEdBQUcsSUFBSUcsWUFBWSxDQUFDLENBQUM7RUFDbkM7RUFDQSxPQUFPSCxZQUFZO0FBQ3JCLENBQUM7QUFTRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1JLGlCQUE4QixHQUFHLENBQ3JDO0VBQUVDLFNBQVMsRUFBRSxHQUFHO0VBQUVDLFdBQVcsRUFBRSxDQUFDO0VBQUVDLFFBQVEsRUFBRSxLQUFLO0VBQUVDLFFBQVEsRUFBRTtBQUFNLENBQUMsRUFDcEU7RUFBRUgsU0FBUyxFQUFFLElBQUk7RUFBRUMsV0FBVyxFQUFFLEtBQUs7RUFBRUMsUUFBUSxFQUFFLEtBQUs7RUFBRUMsUUFBUSxFQUFFO0FBQU0sQ0FBQyxDQUMxRTtBQUVELElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUMsR0FBaUIsRUFBRUMsSUFBZSxFQUFFQyxRQUFnQixFQUFXO0VBQ3BGLElBQU1DLEtBQUssR0FBR0QsUUFBUSxHQUFHRCxJQUFJLENBQUNMLFdBQVc7RUFDekMsSUFBTVEsVUFBVSxHQUFHSixHQUFHLENBQUNLLGdCQUFnQixDQUFDLENBQUM7RUFDekMsSUFBTUMsSUFBSSxHQUFHTixHQUFHLENBQUNPLFVBQVUsQ0FBQyxDQUFDO0VBRTdCSCxVQUFVLENBQUNJLElBQUksR0FBRyxNQUFNO0VBQ3hCSixVQUFVLENBQUNULFNBQVMsQ0FBQ2MsY0FBYyxDQUFDUixJQUFJLENBQUNOLFNBQVMsRUFBRVEsS0FBSyxDQUFDO0VBRTFERyxJQUFJLENBQUNBLElBQUksQ0FBQ0csY0FBYyxDQUFDLE1BQU0sRUFBRU4sS0FBSyxDQUFDO0VBQ3ZDRyxJQUFJLENBQUNBLElBQUksQ0FBQ0ksNEJBQTRCLENBQUNULElBQUksQ0FBQ0gsUUFBUSxFQUFFSyxLQUFLLEdBQUcsSUFBSSxDQUFDO0VBQ25FRyxJQUFJLENBQUNBLElBQUksQ0FBQ0ksNEJBQTRCLENBQUMsTUFBTSxFQUFFUCxLQUFLLEdBQUdGLElBQUksQ0FBQ0osUUFBUSxDQUFDO0VBRXJFTyxVQUFVLENBQUNPLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDO0VBQ3hCQSxJQUFJLENBQUNLLE9BQU8sQ0FBQ1gsR0FBRyxDQUFDWSxXQUFXLENBQUM7RUFDN0JSLFVBQVUsQ0FBQ0QsS0FBSyxDQUFDQSxLQUFLLENBQUM7RUFDdkJDLFVBQVUsQ0FBQ1MsSUFBSSxDQUFDVixLQUFLLEdBQUdGLElBQUksQ0FBQ0osUUFBUSxHQUFHLEtBQUssQ0FBQztBQUNoRCxDQUFDOztBQUVEO0FBQ0EsT0FBTyxJQUFNaUIsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBQSxFQUFlO0VBQ2xELElBQUk7SUFDRixJQUFNZCxHQUFHLEdBQUdULGVBQWUsQ0FBQyxDQUFDO0lBQzdCLElBQUksQ0FBQ1MsR0FBRyxFQUFFO0lBRVYsSUFBSUEsR0FBRyxDQUFDZSxLQUFLLEtBQUssV0FBVyxFQUFFO01BQzdCZixHQUFHLENBQUNnQixNQUFNLENBQUMsQ0FBQyxTQUFNLENBQUMsWUFBTTtRQUN2QjtNQUFBLENBQ0QsQ0FBQztJQUNKO0lBRUEsSUFBTWQsUUFBUSxHQUFHRixHQUFHLENBQUNpQixXQUFXO0lBQ2hDdkIsaUJBQWlCLENBQUN3QixPQUFPLENBQUMsVUFBQWpCLElBQUk7TUFBQSxPQUFJRixhQUFhLENBQUNDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLENBQUM7SUFBQSxFQUFDO0VBQ3ZFLENBQUMsQ0FBQyxPQUFBaUIsT0FBQSxFQUFNO0lBQ047RUFBQTtBQUVKLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,111 +0,0 @@
1
- import i18n from '../../lang';
2
- import { SECTIONS } from '../../constants/config';
3
- import { formatChatListTitleMentions } from '../../utils/renderContextMentions';
4
- import { ChatHistoryRole } from '../../types/Chat';
5
- import { useChatsStore } from '../useChatsStore';
6
- import { useSessionsStore } from './useSessionsStore';
7
- import { activeView } from './activeView';
8
- import { playSessionFinishedSound } from './sessionNotificationSound';
9
- var initialized = false;
10
- var resolveSessionNotificationTitle = function resolveSessionNotificationTitle(sessionId) {
11
- var _chat$title, _meta$title, _userMessage$message;
12
- var chat = useChatsStore.getState().chats.find(function (item) {
13
- return item.sessionExternalId === sessionId;
14
- });
15
- if (chat !== null && chat !== void 0 && (_chat$title = chat.title) !== null && _chat$title !== void 0 && _chat$title.trim()) {
16
- return formatChatListTitleMentions(chat.title);
17
- }
18
- var meta = useSessionsStore.getState().getMeta(sessionId);
19
- if (meta !== null && meta !== void 0 && (_meta$title = meta.title) !== null && _meta$title !== void 0 && _meta$title.trim()) {
20
- return meta.title.trim();
21
- }
22
- var messages = useSessionsStore.getState().getMessages(sessionId);
23
- var userMessage = messages.find(function (msg) {
24
- var _msg$user;
25
- return msg.role === ChatHistoryRole.USER || ((_msg$user = msg.user) === null || _msg$user === void 0 ? void 0 : _msg$user.id) && msg.user.id !== 'assistant';
26
- });
27
- var raw = userMessage === null || userMessage === void 0 || (_userMessage$message = userMessage.message) === null || _userMessage$message === void 0 ? void 0 : _userMessage$message.trim();
28
- if (raw) {
29
- return raw.length > 60 ? "".concat(raw.slice(0, 60), "\u2026") : raw;
30
- }
31
- return i18n.t('conversations.emptyLabel', {
32
- ns: SECTIONS.chatAI,
33
- defaultValue: 'Conversation'
34
- });
35
- };
36
- var buildNotificationMessage = function buildNotificationMessage(kind, title) {
37
- var truncatedTitle = title.length > 48 ? "".concat(title.slice(0, 48), "\u2026") : title;
38
- if (kind === 'approval_required') {
39
- return i18n.t('conversations.sessionFinishedApproval', {
40
- ns: SECTIONS.chatAI,
41
- title: truncatedTitle,
42
- defaultValue: '{{title}} requires your approval'
43
- });
44
- }
45
- if (kind === 'error') {
46
- return i18n.t('conversations.sessionFinishedError', {
47
- ns: SECTIONS.chatAI,
48
- title: truncatedTitle,
49
- defaultValue: '{{title}} encountered an error'
50
- });
51
- }
52
- return i18n.t('conversations.sessionFinished', {
53
- ns: SECTIONS.chatAI,
54
- title: truncatedTitle,
55
- defaultValue: '{{title}} finished responding'
56
- });
57
- };
58
- var showBrowserNotificationIfAllowed = function showBrowserNotificationIfAllowed(message) {
59
- if (typeof window === 'undefined' || !('Notification' in window)) return;
60
- if (Notification.permission !== 'granted') return;
61
- if (!document.hidden) return;
62
- try {
63
- // eslint-disable-next-line no-new
64
- new Notification('MAIA', {
65
- body: message,
66
- tag: 'maia-session-finished'
67
- });
68
- } catch (_unused) {
69
- // ignore
70
- }
71
- };
72
- var handleSessionFinishedEvent = function handleSessionFinishedEvent(event) {
73
- var _ref = event,
74
- detail = _ref.detail;
75
- if (!(detail !== null && detail !== void 0 && detail.sessionId)) return;
76
- playSessionFinishedSound();
77
- var message = buildNotificationMessage(detail.kind, resolveSessionNotificationTitle(detail.sessionId));
78
- document.dispatchEvent(new CustomEvent('snackbar-event', {
79
- detail: {
80
- show: true,
81
- severity: detail.kind === 'error' ? 'error' : 'info',
82
- message: message,
83
- autoHideDuration: 5000
84
- }
85
- }));
86
- showBrowserNotificationIfAllowed(message);
87
- };
88
-
89
- /** Registra el listener global (idempotente). Sobrevive al desmontaje del chat visible. */
90
- export var ensureSessionNotificationsInitialized = function ensureSessionNotificationsInitialized() {
91
- if (initialized || typeof document === 'undefined') return;
92
- initialized = true;
93
- document.addEventListener('maia-session-finished', handleSessionFinishedEvent);
94
- };
95
-
96
- /**
97
- * Marca unread y emite evento solo si la sesión NO es la que el usuario está mirando.
98
- * Toast + sonido los consume `ensureSessionNotificationsInitialized`.
99
- */
100
- export var notifySessionFinishedInBackground = function notifySessionFinishedInBackground(sessionId, kind) {
101
- ensureSessionNotificationsInitialized();
102
- if (activeView.is(sessionId)) return;
103
- useSessionsStore.getState().markUnread(sessionId, true);
104
- document.dispatchEvent(new CustomEvent('maia-session-finished', {
105
- detail: {
106
- sessionId: sessionId,
107
- kind: kind
108
- }
109
- }));
110
- };
111
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpMThuIiwiU0VDVElPTlMiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJDaGF0SGlzdG9yeVJvbGUiLCJ1c2VDaGF0c1N0b3JlIiwidXNlU2Vzc2lvbnNTdG9yZSIsImFjdGl2ZVZpZXciLCJwbGF5U2Vzc2lvbkZpbmlzaGVkU291bmQiLCJpbml0aWFsaXplZCIsInJlc29sdmVTZXNzaW9uTm90aWZpY2F0aW9uVGl0bGUiLCJzZXNzaW9uSWQiLCJfY2hhdCR0aXRsZSIsIl9tZXRhJHRpdGxlIiwiX3VzZXJNZXNzYWdlJG1lc3NhZ2UiLCJjaGF0IiwiZ2V0U3RhdGUiLCJjaGF0cyIsImZpbmQiLCJpdGVtIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJ0aXRsZSIsInRyaW0iLCJtZXRhIiwiZ2V0TWV0YSIsIm1lc3NhZ2VzIiwiZ2V0TWVzc2FnZXMiLCJ1c2VyTWVzc2FnZSIsIm1zZyIsIl9tc2ckdXNlciIsInJvbGUiLCJVU0VSIiwidXNlciIsImlkIiwicmF3IiwibWVzc2FnZSIsImxlbmd0aCIsImNvbmNhdCIsInNsaWNlIiwidCIsIm5zIiwiY2hhdEFJIiwiZGVmYXVsdFZhbHVlIiwiYnVpbGROb3RpZmljYXRpb25NZXNzYWdlIiwia2luZCIsInRydW5jYXRlZFRpdGxlIiwic2hvd0Jyb3dzZXJOb3RpZmljYXRpb25JZkFsbG93ZWQiLCJ3aW5kb3ciLCJOb3RpZmljYXRpb24iLCJwZXJtaXNzaW9uIiwiZG9jdW1lbnQiLCJoaWRkZW4iLCJib2R5IiwidGFnIiwiX3VudXNlZCIsImhhbmRsZVNlc3Npb25GaW5pc2hlZEV2ZW50IiwiZXZlbnQiLCJfcmVmIiwiZGV0YWlsIiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50Iiwic2hvdyIsInNldmVyaXR5IiwiYXV0b0hpZGVEdXJhdGlvbiIsImVuc3VyZVNlc3Npb25Ob3RpZmljYXRpb25zSW5pdGlhbGl6ZWQiLCJhZGRFdmVudExpc3RlbmVyIiwibm90aWZ5U2Vzc2lvbkZpbmlzaGVkSW5CYWNrZ3JvdW5kIiwiaXMiLCJtYXJrVW5yZWFkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25Ob3RpZmljYXRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuIGZyb20gJy4uLy4uL2xhbmcnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeVJvbGUgfSBmcm9tICcuLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgdXNlQ2hhdHNTdG9yZSB9IGZyb20gJy4uL3VzZUNoYXRzU3RvcmUnXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi91c2VTZXNzaW9uc1N0b3JlJ1xuaW1wb3J0IHsgYWN0aXZlVmlldyB9IGZyb20gJy4vYWN0aXZlVmlldydcbmltcG9ydCB7IHBsYXlTZXNzaW9uRmluaXNoZWRTb3VuZCB9IGZyb20gJy4vc2Vzc2lvbk5vdGlmaWNhdGlvblNvdW5kJ1xuaW1wb3J0IHR5cGUgeyBNYWlhU2Vzc2lvbkZpbmlzaGVkRGV0YWlsLCBTZXNzaW9uRmluaXNoZWRLaW5kIH0gZnJvbSAnLi9zZXNzaW9uTm90aWZpY2F0aW9ucy50eXBlcydcblxubGV0IGluaXRpYWxpemVkID0gZmFsc2VcblxuY29uc3QgcmVzb2x2ZVNlc3Npb25Ob3RpZmljYXRpb25UaXRsZSA9IChzZXNzaW9uSWQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGNoYXQgPSB1c2VDaGF0c1N0b3JlLmdldFN0YXRlKCkuY2hhdHMuZmluZChpdGVtID0+IGl0ZW0uc2Vzc2lvbkV4dGVybmFsSWQgPT09IHNlc3Npb25JZClcbiAgaWYgKGNoYXQ/LnRpdGxlPy50cmltKCkpIHtcbiAgICByZXR1cm4gZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zKGNoYXQudGl0bGUpXG4gIH1cblxuICBjb25zdCBtZXRhID0gdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLmdldE1ldGEoc2Vzc2lvbklkKVxuICBpZiAobWV0YT8udGl0bGU/LnRyaW0oKSkge1xuICAgIHJldHVybiBtZXRhLnRpdGxlLnRyaW0oKVxuICB9XG5cbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuZ2V0TWVzc2FnZXMoc2Vzc2lvbklkKVxuICBjb25zdCB1c2VyTWVzc2FnZSA9IG1lc3NhZ2VzLmZpbmQoXG4gICAgbXNnID0+IG1zZy5yb2xlID09PSBDaGF0SGlzdG9yeVJvbGUuVVNFUiB8fCAobXNnLnVzZXI/LmlkICYmIG1zZy51c2VyLmlkICE9PSAnYXNzaXN0YW50JylcbiAgKVxuICBjb25zdCByYXcgPSB1c2VyTWVzc2FnZT8ubWVzc2FnZT8udHJpbSgpXG4gIGlmIChyYXcpIHtcbiAgICByZXR1cm4gcmF3Lmxlbmd0aCA+IDYwID8gYCR7cmF3LnNsaWNlKDAsIDYwKX3igKZgIDogcmF3XG4gIH1cblxuICByZXR1cm4gaTE4bi50KCdjb252ZXJzYXRpb25zLmVtcHR5TGFiZWwnLCB7XG4gICAgbnM6IFNFQ1RJT05TLmNoYXRBSSxcbiAgICBkZWZhdWx0VmFsdWU6ICdDb252ZXJzYXRpb24nLFxuICB9KVxufVxuXG5jb25zdCBidWlsZE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSAoa2luZDogU2Vzc2lvbkZpbmlzaGVkS2luZCwgdGl0bGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHRydW5jYXRlZFRpdGxlID0gdGl0bGUubGVuZ3RoID4gNDggPyBgJHt0aXRsZS5zbGljZSgwLCA0OCl94oCmYCA6IHRpdGxlXG5cbiAgaWYgKGtpbmQgPT09ICdhcHByb3ZhbF9yZXF1aXJlZCcpIHtcbiAgICByZXR1cm4gaTE4bi50KCdjb252ZXJzYXRpb25zLnNlc3Npb25GaW5pc2hlZEFwcHJvdmFsJywge1xuICAgICAgbnM6IFNFQ1RJT05TLmNoYXRBSSxcbiAgICAgIHRpdGxlOiB0cnVuY2F0ZWRUaXRsZSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7dGl0bGV9fSByZXF1aXJlcyB5b3VyIGFwcHJvdmFsJyxcbiAgICB9KVxuICB9XG5cbiAgaWYgKGtpbmQgPT09ICdlcnJvcicpIHtcbiAgICByZXR1cm4gaTE4bi50KCdjb252ZXJzYXRpb25zLnNlc3Npb25GaW5pc2hlZEVycm9yJywge1xuICAgICAgbnM6IFNFQ1RJT05TLmNoYXRBSSxcbiAgICAgIHRpdGxlOiB0cnVuY2F0ZWRUaXRsZSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogJ3t7dGl0bGV9fSBlbmNvdW50ZXJlZCBhbiBlcnJvcicsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBpMThuLnQoJ2NvbnZlcnNhdGlvbnMuc2Vzc2lvbkZpbmlzaGVkJywge1xuICAgIG5zOiBTRUNUSU9OUy5jaGF0QUksXG4gICAgdGl0bGU6IHRydW5jYXRlZFRpdGxlLFxuICAgIGRlZmF1bHRWYWx1ZTogJ3t7dGl0bGV9fSBmaW5pc2hlZCByZXNwb25kaW5nJyxcbiAgfSlcbn1cblxuY29uc3Qgc2hvd0Jyb3dzZXJOb3RpZmljYXRpb25JZkFsbG93ZWQgPSAobWVzc2FnZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCAhKCdOb3RpZmljYXRpb24nIGluIHdpbmRvdykpIHJldHVyblxuICBpZiAoTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gIT09ICdncmFudGVkJykgcmV0dXJuXG4gIGlmICghZG9jdW1lbnQuaGlkZGVuKSByZXR1cm5cblxuICB0cnkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXdcbiAgICBuZXcgTm90aWZpY2F0aW9uKCdNQUlBJywgeyBib2R5OiBtZXNzYWdlLCB0YWc6ICdtYWlhLXNlc3Npb24tZmluaXNoZWQnIH0pXG4gIH0gY2F0Y2gge1xuICAgIC8vIGlnbm9yZVxuICB9XG59XG5cbmNvbnN0IGhhbmRsZVNlc3Npb25GaW5pc2hlZEV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICBjb25zdCB7IGRldGFpbCB9ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8TWFpYVNlc3Npb25GaW5pc2hlZERldGFpbD5cbiAgaWYgKCFkZXRhaWw/LnNlc3Npb25JZCkgcmV0dXJuXG5cbiAgcGxheVNlc3Npb25GaW5pc2hlZFNvdW5kKClcblxuICBjb25zdCBtZXNzYWdlID0gYnVpbGROb3RpZmljYXRpb25NZXNzYWdlKGRldGFpbC5raW5kLCByZXNvbHZlU2Vzc2lvbk5vdGlmaWNhdGlvblRpdGxlKGRldGFpbC5zZXNzaW9uSWQpKVxuXG4gIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgbmV3IEN1c3RvbUV2ZW50KCdzbmFja2Jhci1ldmVudCcsIHtcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICBzZXZlcml0eTogZGV0YWlsLmtpbmQgPT09ICdlcnJvcicgPyAnZXJyb3InIDogJ2luZm8nLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBhdXRvSGlkZUR1cmF0aW9uOiA1MDAwLFxuICAgICAgfSxcbiAgICB9KVxuICApXG5cbiAgc2hvd0Jyb3dzZXJOb3RpZmljYXRpb25JZkFsbG93ZWQobWVzc2FnZSlcbn1cblxuLyoqIFJlZ2lzdHJhIGVsIGxpc3RlbmVyIGdsb2JhbCAoaWRlbXBvdGVudGUpLiBTb2JyZXZpdmUgYWwgZGVzbW9udGFqZSBkZWwgY2hhdCB2aXNpYmxlLiAqL1xuZXhwb3J0IGNvbnN0IGVuc3VyZVNlc3Npb25Ob3RpZmljYXRpb25zSW5pdGlhbGl6ZWQgPSAoKTogdm9pZCA9PiB7XG4gIGlmIChpbml0aWFsaXplZCB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm5cbiAgaW5pdGlhbGl6ZWQgPSB0cnVlXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21haWEtc2Vzc2lvbi1maW5pc2hlZCcsIGhhbmRsZVNlc3Npb25GaW5pc2hlZEV2ZW50KVxufVxuXG4vKipcbiAqIE1hcmNhIHVucmVhZCB5IGVtaXRlIGV2ZW50byBzb2xvIHNpIGxhIHNlc2nDs24gTk8gZXMgbGEgcXVlIGVsIHVzdWFyaW8gZXN0w6EgbWlyYW5kby5cbiAqIFRvYXN0ICsgc29uaWRvIGxvcyBjb25zdW1lIGBlbnN1cmVTZXNzaW9uTm90aWZpY2F0aW9uc0luaXRpYWxpemVkYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vdGlmeVNlc3Npb25GaW5pc2hlZEluQmFja2dyb3VuZCA9IChzZXNzaW9uSWQ6IHN0cmluZywga2luZDogU2Vzc2lvbkZpbmlzaGVkS2luZCk6IHZvaWQgPT4ge1xuICBlbnN1cmVTZXNzaW9uTm90aWZpY2F0aW9uc0luaXRpYWxpemVkKClcblxuICBpZiAoYWN0aXZlVmlldy5pcyhzZXNzaW9uSWQpKSByZXR1cm5cblxuICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkubWFya1VucmVhZChzZXNzaW9uSWQsIHRydWUpXG4gIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgbmV3IEN1c3RvbUV2ZW50KCdtYWlhLXNlc3Npb24tZmluaXNoZWQnLCB7XG4gICAgICBkZXRhaWw6IHsgc2Vzc2lvbklkLCBraW5kIH0gc2F0aXNmaWVzIE1haWFTZXNzaW9uRmluaXNoZWREZXRhaWwsXG4gICAgfSlcbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxJQUFJLE1BQU0sWUFBWTtBQUM3QixTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBQ2pELFNBQVNDLDJCQUEyQixRQUFRLG1DQUFtQztBQUMvRSxTQUFTQyxlQUFlLFFBQVEsa0JBQWtCO0FBQ2xELFNBQVNDLGFBQWEsUUFBUSxrQkFBa0I7QUFDaEQsU0FBU0MsZ0JBQWdCLFFBQVEsb0JBQW9CO0FBQ3JELFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLHdCQUF3QixRQUFRLDRCQUE0QjtBQUdyRSxJQUFJQyxXQUFXLEdBQUcs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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25Ob3RpZmljYXRpb25zLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNlc3Npb25GaW5pc2hlZEtpbmQgPSAnY29tcGxldGUnIHwgJ2FwcHJvdmFsX3JlcXVpcmVkJyB8ICdlcnJvcidcblxuZXhwb3J0IHR5cGUgTWFpYVNlc3Npb25GaW5pc2hlZERldGFpbCA9IHtcbiAgc2Vzc2lvbklkOiBzdHJpbmdcbiAga2luZDogU2Vzc2lvbkZpbmlzaGVkS2luZFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119