@projectcor/maia-components 2.30.3-1 → 2.31.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/App.js +4 -2
  3. package/lib/components/atoms/MAIAInput/MAIAInput.js +73 -14
  4. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +121 -0
  5. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +197 -0
  6. package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +157 -0
  7. package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +123 -0
  8. package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +115 -0
  9. package/lib/components/atoms/ReasoningBlock/index.js +3 -0
  10. package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +54 -0
  11. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +391 -120
  12. package/lib/components/molecules/ChatAIMessages/newStyles.js +50 -18
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +42 -21
  14. package/lib/components/molecules/MessageFeedback/styles.js +6 -2
  15. package/lib/context/global-context.js +1 -1
  16. package/lib/dev/DevReasoningTimeline.js +235 -0
  17. package/lib/dev/reasoningTraceMock.js +556 -0
  18. package/lib/hooks/useChatManager/useChatManager.js +97 -59
  19. package/lib/hooks/useChatMessages/useChatMessages.js +28 -27
  20. package/lib/hooks/useEvent.js +2 -1
  21. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  22. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -3
  23. package/lib/hooks/useProjectSummaryConfig.js +36 -17
  24. package/lib/hooks/useReasoningTrace/index.js +3 -0
  25. package/lib/hooks/useReasoningTrace/reasoningStore.js +142 -0
  26. package/lib/hooks/useReasoningTrace/useReasoningTrace.js +14 -0
  27. package/lib/lang/br/index.js +237 -31
  28. package/lib/lang/en/index.js +237 -31
  29. package/lib/lang/es/index.js +237 -31
  30. package/lib/lang/fr/index.js +237 -31
  31. package/lib/services/maia/Orchestrator/orchestrator.js +9 -7
  32. package/lib/services/utils/mapChatMessages.js +21 -18
  33. package/lib/store/sessions/sessionStreamManager.js +98 -51
  34. package/lib/store/sessions/sessions.types.js +1 -1
  35. package/lib/types/Chat.js +1 -1
  36. package/lib/types/reasoning.js +2 -0
  37. package/lib/utils/autoApproveStorage.js +26 -0
  38. package/lib/utils/hitlAnalytics.js +4 -3
  39. package/lib/utils/reasoningMappers.js +62 -0
  40. package/lib/utils/streamActivityMessages.js +106 -41
  41. package/package.json +1 -1
@@ -81,7 +81,8 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
81
81
  agentName: payload.agentName,
82
82
  agentId: payload.agentId,
83
83
  isWebSearchActive: payload.isWebSearchActive,
84
- isDeepSearchActive: payload.isDeepSearchActive
84
+ isDeepSearchActive: payload.isDeepSearchActive,
85
+ isAutoApproveActive: payload.isAutoApproveActive
85
86
  }, payload.projectId ? {
86
87
  projectId: payload.projectId
87
88
  } : {}), payload.attachments ? {
@@ -136,7 +137,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
136
137
  },
137
138
  onFinishStream: function onFinishStream(finishPayload) {
138
139
  var _onFinishStreamRef$cu;
139
- return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext);
140
+ return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext, finishPayload.reasoning);
140
141
  },
141
142
  onError: function onError(errorType, errorMessage) {
142
143
  var _onErrorRef$current;
@@ -266,4 +267,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
266
267
  abortStreamSilently: abortStreamSilently
267
268
  };
268
269
  };
269
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInByb2plY3RJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJjbGllbnROYW1lIiwidGFza0lkIiwidGFza05hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiYWdlbnRFbnRpdHkiLCJhZ2VudFR5cGUiLCJjb250ZXh0TWVzc2FnZSIsImNvbnRleHREYXRhIiwiYWJydXB0Iiwic3RhcnRTdHJlYW0iLCJhY3Rpdml0eU9wdGlvbnMiLCJoYXNBdHRhY2htZW50cyIsIkJvb2xlYW4iLCJsZW5ndGgiLCJhdHRhY2htZW50c0NvdW50IiwiaGl0bEV4ZWN1dGlvbkNvbnRleHQiLCJjYWxsYmFja3MiLCJjb250ZW50IiwiX29uU3RyZWFtVXBkYXRlUmVmJGN1IiwiY2FsbCIsIl9vblN0YXJ0V3JpdGluZ1JlZiRjdSIsImZpbmlzaFBheWxvYWQiLCJfb25GaW5pc2hTdHJlYW1SZWYkY3UiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwic3VnZ2VzdGlvbnMiLCJjb21wbGV0ZWRBZ2VudElkIiwicmVzb2x2ZWRDb250ZXh0IiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiX29uRXJyb3JSZWYkY3VycmVudCIsImFwcHJvdmFsIiwiYWNjdW11bGF0ZWRDb250ZW50IiwiX29uQXBwcm92YWxSZXF1aXJlZFJlIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXRyeUNvbXBsZXRpb24iLCJfcmVmMyIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwic3RhcnRSZXRyeVN0cmVhbSIsInJldHJ5UmVxdWVzdCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdTIiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UyIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1MiIsIl9vbkVycm9yUmVmJGN1cnJlbnQyIiwiX29uQXBwcm92YWxSZXF1aXJlZFJlMiIsIl94MiIsInN0b3BTdHJlYW1pbmciLCJzdG9wU3RyZWFtIiwicGFydGlhbFRleHQiLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydFN0cmVhbVNpbGVudGx5IiwiYWJvcnRTaWxlbnRseSIsInVwZGF0ZVN0cmVhbUFjdGl2aXR5IiwiYWN0aXZpdHkiLCJnZXRTdGF0ZSIsInNldEFjdGl2aXR5IiwicmVzZXQiLCJwYXRjaE1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50RW50aXR5LCBBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcywgU3RyZWFtQ29udGV4dCB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvblN0cmVhbU1hbmFnZXInXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbnNTdG9yZSdcbmltcG9ydCB7IHVzZVNlc3Npb25TdHJlYW1TdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHR5cGUgeyBTdGFydFN0cmVhbVJlc3VsdCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25zLnR5cGVzJ1xuXG50eXBlIFJldHJ5Q29tcGxldGlvblBheWxvYWQgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIG1lbW9yeVNlc3Npb25JZDogc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xuICBhZ2VudElkOiBzdHJpbmdcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRUeXBlPzogQWdlbnRUeXBlXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIHByb2plY3RJZD86IG51bWJlciB8IG51bGxcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgdGFza0lkPzogbnVtYmVyXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxudHlwZSBBc2tNYWlhUGF5bG9hZCA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgcHJvamVjdElkOiBudW1iZXIgfCBudWxsXG4gIGxhbmc6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgY29tcGFueUlkOiBzdHJpbmdcbiAgY2hhdElkOiBzdHJpbmdcbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBmZWVJZD86IG51bWJlclxuICBhZ2VudE5hbWU6IHN0cmluZ1xuICBhZ2VudElkOiBzdHJpbmdcbiAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIHRhc2tJZD86IG51bWJlclxuICB0YXNrTmFtZT86IHN0cmluZ1xuICBmYXFJZD86IHN0cmluZ1xuICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZ1xuICBmdWFJZD86IHN0cmluZ1xuICBzY0lkPzogc3RyaW5nXG4gIGFnZW50RW50aXR5PzogQWdlbnRFbnRpdHlcbiAgYWdlbnRUeXBlPzogQWdlbnRUeXBlXG4gIGFnZW50RW1vamk/OiBzdHJpbmcgfCBudWxsXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2VcbiAgY29udGV4dERhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG4vKipcbiAqIEFkYXB0ZXIgc29icmUgYHNlc3Npb25TdHJlYW1NYW5hZ2VyYC4gTWFudGllbmUgbGEgQVBJIHDDumJsaWNhIGhpc3TDs3JpY2FcbiAqIChgYXNrTWFpYWAsIGBpc0xvYWRpbmdgLCBgaXNXcml0aW5nYCwgYHN0b3BTdHJlYW1pbmdgLCBldGMuKSBwZXJvIGFob3JhIGVsXG4gKiBtb3RvciBkZSBzdHJlYW1pbmcgdml2ZSBlbiBlbCBtYW5hZ2VyIChtb2R1bGUtbGV2ZWwpLCBsbyBxdWUgcGVybWl0ZSB0ZW5lclxuICogdmFyaWFzIHNlc2lvbmVzIGdlbmVyYW5kbyBhIGxhIHZleiB5IHF1ZSBzb2JyZXZpdmFuIGEgY2FtYmlvcyBkZSB2aXN0YS5cbiAqXG4gKiBMb3MgZmxhZ3MgcmVhY3Rpdm9zIChgaXNMb2FkaW5nYC9gaXNXcml0aW5nYC9gc3RyZWFtQWN0aXZpdHlgKSBzZSBsZWVuIGRlbFxuICogc3RvcmUgcGFyYSBsYSBzZXNpw7NuIGFjdHVhbG1lbnRlIGFjdGl2YSAoYGFjdGl2ZVNlc3Npb25JZGApLlxuICovXG5leHBvcnQgY29uc3QgdXNlT3JjaGVzdHJhdG9yU3RyZWFtID0gKHtcbiAgYWN0aXZlU2Vzc2lvbklkLFxuICBvblN0cmVhbVVwZGF0ZSxcbiAgb25GaW5pc2hTdHJlYW0sXG4gIG9uU3RhcnRXcml0aW5nLFxuICBvblN0b3AsXG4gIG9uRXJyb3IsXG4gIG9uQXBwcm92YWxSZXF1aXJlZCxcbiAgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWYsXG59OiBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuXG4gIGNvbnN0IHsgaXNMb2FkaW5nLCBpc1dyaXRpbmcsIGxvYWRpbmdNZXNzYWdlLCBzdHJlYW1BY3Rpdml0eSB9ID0gdXNlU2Vzc2lvblN0cmVhbVN0YXRlKGFjdGl2ZVNlc3Npb25JZClcblxuICBjb25zdCBvblN0cmVhbVVwZGF0ZVJlZiA9IHVzZVJlZihvblN0cmVhbVVwZGF0ZSlcbiAgY29uc3Qgb25GaW5pc2hTdHJlYW1SZWYgPSB1c2VSZWYob25GaW5pc2hTdHJlYW0pXG4gIGNvbnN0IG9uU3RhcnRXcml0aW5nUmVmID0gdXNlUmVmKG9uU3RhcnRXcml0aW5nKVxuICBjb25zdCBvblN0b3BSZWYgPSB1c2VSZWYob25TdG9wKVxuICBjb25zdCBvbkVycm9yUmVmID0gdXNlUmVmKG9uRXJyb3IpXG4gIGNvbnN0IG9uQXBwcm92YWxSZXF1aXJlZFJlZiA9IHVzZVJlZihvbkFwcHJvdmFsUmVxdWlyZWQpXG5cbiAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudCA9IG9uU3RyZWFtVXBkYXRlXG4gIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQgPSBvbkZpbmlzaFN0cmVhbVxuICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50ID0gb25TdGFydFdyaXRpbmdcbiAgb25TdG9wUmVmLmN1cnJlbnQgPSBvblN0b3BcbiAgb25FcnJvclJlZi5jdXJyZW50ID0gb25FcnJvclxuICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudCA9IG9uQXBwcm92YWxSZXF1aXJlZFxuXG4gIGNvbnN0IGFza01haWEgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogQXNrTWFpYVBheWxvYWQpOiBQcm9taXNlPFN0YXJ0U3RyZWFtUmVzdWx0PiA9PiB7XG4gICAgICBjb25zdCB7IGNoYXRJZDogc2Vzc2lvbklkLCBtZXNzYWdlSWQgfSA9IHBheWxvYWRcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVySWQgPSBgYW5zd2VyLSR7bWVzc2FnZUlkfS1zdHJlYW1pbmdgXG4gICAgICBjb25zdCBjdHg6IFN0cmVhbUNvbnRleHQgPSB7IHNlc3Npb25JZCwgbWVzc2FnZUlkLCBwbGFjZWhvbGRlcklkIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgaW5wdXQ6IHBheWxvYWQubWVzc2FnZSxcbiAgICAgICAgaGlzdG9yeTogcGF5bG9hZC5oaXN0b3J5LFxuICAgICAgICBsYW5nOiBwYXlsb2FkLmxhbmcsXG4gICAgICAgIHVzZXJJZDogcGF5bG9hZC51c2VySWQsXG4gICAgICAgIC4uLihwYXlsb2FkLmZpcnN0TmFtZSA/IHsgZmlyc3ROYW1lOiBwYXlsb2FkLmZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5sYXN0TmFtZSA/IHsgbGFzdE5hbWU6IHBheWxvYWQubGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgY29tcGFueUlkOiBwYXlsb2FkLmNvbXBhbnlJZCxcbiAgICAgICAgY2hhdElkOiBwYXlsb2FkLmNoYXRJZCxcbiAgICAgICAgbWVzc2FnZUlkOiBwYXlsb2FkLm1lc3NhZ2VJZCxcbiAgICAgICAgY2xpZW50SWQ6IHBheWxvYWQuY2xpZW50SWQsXG4gICAgICAgIC4uLihwYXlsb2FkLmZlZUlkICE9IG51bGwgPyB7IGZlZUlkOiBwYXlsb2FkLmZlZUlkIH0gOiB7fSksXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hdHRhY2htZW50cyA/IHsgYXR0YWNobWVudHM6IHBheWxvYWQuYXR0YWNobWVudHMgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdE5hbWUgPyB7IHByb2plY3ROYW1lOiBwYXlsb2FkLnByb2plY3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNsaWVudE5hbWUgPyB7IGNsaWVudE5hbWU6IHBheWxvYWQuY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrTmFtZSA/IHsgdGFza05hbWU6IHBheWxvYWQudGFza05hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZmFxSWQgPyB7IGZhcUlkOiBwYXlsb2FkLmZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50U3VnZ2VzdGlvbklkID8geyBhZ2VudFN1Z2dlc3Rpb25JZDogcGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5mdWFJZCA/IHsgZnVhSWQ6IHBheWxvYWQuZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuc2NJZCA/IHsgc2NJZDogcGF5bG9hZC5zY0lkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5OiBwYXlsb2FkLmFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHRNZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogcGF5bG9hZC5jb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0RGF0YSA/IHsgY29udGV4dERhdGE6IHBheWxvYWQuY29udGV4dERhdGEgfSA6IHt9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0YXJ0U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGhhc0F0dGFjaG1lbnRzOiBCb29sZWFuKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCksXG4gICAgICAgICAgYXR0YWNobWVudHNDb3VudDogcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoID8/IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGhpdGxFeGVjdXRpb25Db250ZXh0OiBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZj8uY3VycmVudCA/PyBudWxsLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0LCBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZl1cbiAgKVxuXG4gIGNvbnN0IHJldHJ5Q29tcGxldGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBSZXRyeUNvbXBsZXRpb25QYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFJldHJ5U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXRyeVJlcXVlc3Q6IHtcbiAgICAgICAgICBzZXNzaW9uSWQsXG4gICAgICAgICAgbWVtb3J5U2Vzc2lvbklkOiBwYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgICAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdElkID8geyBwcm9qZWN0SWQ6IHBheWxvYWQucHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQuY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHBheWxvYWQuY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29udGV4dERhdGEgPyB7IGNvbnRleHREYXRhOiBwYXlsb2FkLmNvbnRleHREYXRhIH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHQsXG4gICAgICAgIGFjdGl2aXR5T3B0aW9uczoge1xuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgIH0sXG4gICAgICAgIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgICAgICAgYWdlbnROYW1lOiBwYXlsb2FkLmFnZW50TmFtZSxcbiAgICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgICAgb25TdHJlYW1VcGRhdGU6IGNvbnRlbnQgPT4gb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudD8uKGN0eCwgY29udGVudCksXG4gICAgICAgICAgb25TdGFydFdyaXRpbmc6ICgpID0+IG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQ/LigpLFxuICAgICAgICAgIG9uRmluaXNoU3RyZWFtOiBmaW5pc2hQYXlsb2FkID0+XG4gICAgICAgICAgICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50Py4oXG4gICAgICAgICAgICAgIGN0eCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb250ZW50LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnNvdXJjZXMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQubWVtb3J5U2Vzc2lvbklkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnN1Z2dlc3Rpb25zLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbXBsZXRlZEFnZW50SWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQucmVzb2x2ZWRDb250ZXh0IGFzIGFueVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBvbkVycm9yOiAoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpID0+IG9uRXJyb3JSZWYuY3VycmVudD8uKGN0eCwgZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpLFxuICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZDogKGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpID0+XG4gICAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudD8uKGN0eCwgYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW3RdXG4gIClcblxuICBjb25zdCBzdG9wU3RyZWFtaW5nID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0b3BTdHJlYW0oYWN0aXZlU2Vzc2lvbklkLCB7XG4gICAgICBvblN0b3A6IHBhcnRpYWxUZXh0ID0+IG9uU3RvcFJlZi5jdXJyZW50Py4ocGFydGlhbFRleHQpLFxuICAgIH0pXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIGNvbnN0IGFib3J0U3RyZWFtU2lsZW50bHkgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2Vzc2lvblN0cmVhbU1hbmFnZXIuYWJvcnRTaWxlbnRseShhY3RpdmVTZXNzaW9uSWQpXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIGNvbnN0IHVwZGF0ZVN0cmVhbUFjdGl2aXR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGwpID0+IHtcbiAgICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5zZXRBY3Rpdml0eShhY3RpdmVTZXNzaW9uSWQsIGFjdGl2aXR5KVxuICAgIH0sXG4gICAgW2FjdGl2ZVNlc3Npb25JZF1cbiAgKVxuXG4gIGNvbnN0IHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5wYXRjaE1ldGEoYWN0aXZlU2Vzc2lvbklkLCB7IGlzTG9hZGluZzogZmFsc2UsIGlzV3JpdGluZzogZmFsc2UgfSlcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBudWxsKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICByZXR1cm4ge1xuICAgIGFza01haWEsXG4gICAgcmV0cnlDb21wbGV0aW9uLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1dyaXRpbmcsXG4gICAgbG9hZGluZ01lc3NhZ2UsXG4gICAgc3RyZWFtQWN0aXZpdHksXG4gICAgdXBkYXRlU3RyZWFtQWN0aXZpdHksXG4gICAgcmVzZXQsXG4gICAgc3RvcFN0cmVhbWluZyxcbiAgICBhYm9ydFN0cmVhbVNpbGVudGx5LFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBTTlDLFNBQVNDLFFBQVEsUUFBUSx3QkFBd0I7QUFFakQsU0FBU0Msb0JBQW9CLFFBQVEsMkNBQTJDO0FBQ2hGLFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxxQkFBcUIsUUFBUSxxQ0FBcUM7QUFvRDNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFC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
270
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJwcm9qZWN0SWQiLCJhdHRhY2htZW50cyIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJjb250ZXh0RGF0YSIsImFicnVwdCIsInN0YXJ0U3RyZWFtIiwiYWN0aXZpdHlPcHRpb25zIiwiaGFzQXR0YWNobWVudHMiLCJCb29sZWFuIiwibGVuZ3RoIiwiYXR0YWNobWVudHNDb3VudCIsImhpdGxFeGVjdXRpb25Db250ZXh0IiwiY2FsbGJhY2tzIiwiY29udGVudCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdSIsImNhbGwiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5pc2hQYXlsb2FkIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1Iiwic291cmNlcyIsIm1lbW9yeVNlc3Npb25JZCIsInN1Z2dlc3Rpb25zIiwiY29tcGxldGVkQWdlbnRJZCIsInJlc29sdmVkQ29udGV4dCIsInJlYXNvbmluZyIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJhcHByb3ZhbCIsImFjY3VtdWxhdGVkQ29udGVudCIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmV0cnlDb21wbGV0aW9uIiwiX3JlZjMiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsInN0YXJ0UmV0cnlTdHJlYW0iLCJyZXRyeVJlcXVlc3QiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UyIiwiX29uU3RhcnRXcml0aW5nUmVmJGN1MiIsIl9vbkZpbmlzaFN0cmVhbVJlZiRjdTIiLCJfb25FcnJvclJlZiRjdXJyZW50MiIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZTIiLCJfeDIiLCJzdG9wU3RyZWFtaW5nIiwic3RvcFN0cmVhbSIsInBhcnRpYWxUZXh0IiwiX29uU3RvcFJlZiRjdXJyZW50IiwiYWJvcnRTdHJlYW1TaWxlbnRseSIsImFib3J0U2lsZW50bHkiLCJ1cGRhdGVTdHJlYW1BY3Rpdml0eSIsImFjdGl2aXR5IiwiZ2V0U3RhdGUiLCJzZXRBY3Rpdml0eSIsInJlc2V0IiwicGF0Y2hNZXRhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSwgQWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDb250ZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMsIFN0cmVhbUNvbnRleHQgfSBmcm9tICcuL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgeyBzZXNzaW9uU3RyZWFtTWFuYWdlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25TdHJlYW1NYW5hZ2VyJ1xuaW1wb3J0IHsgdXNlU2Vzc2lvbnNTdG9yZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25zU3RvcmUnXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RyZWFtU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy91c2VTZXNzaW9uTWV0YSdcbmltcG9ydCB0eXBlIHsgU3RhcnRTdHJlYW1SZXN1bHQgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy9zZXNzaW9ucy50eXBlcydcblxudHlwZSBSZXRyeUNvbXBsZXRpb25QYXlsb2FkID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBtZW1vcnlTZXNzaW9uSWQ6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBudWxsXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIHRhc2tJZD86IG51bWJlclxuICBjb250ZXh0RGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbnR5cGUgQXNrTWFpYVBheWxvYWQgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBoaXN0b3J5OiBDaGF0SGlzdG9yeVtdXG4gIHByb2plY3RJZDogbnVtYmVyIHwgbnVsbFxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbiAgZmVlSWQ/OiBudW1iZXJcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzQXV0b0FwcHJvdmVBY3RpdmU/OiBib29sZWFuXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xuICB0YXNrSWQ/OiBudW1iZXJcbiAgdGFza05hbWU/OiBzdHJpbmdcbiAgZmFxSWQ/OiBzdHJpbmdcbiAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgZnVhSWQ/OiBzdHJpbmdcbiAgc2NJZD86IHN0cmluZ1xuICBhZ2VudEVudGl0eT86IEFnZW50RW50aXR5XG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBhZ2VudEVtb2ppPzogc3RyaW5nIHwgbnVsbFxuICBjb250ZXh0TWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLyoqXG4gKiBBZGFwdGVyIHNvYnJlIGBzZXNzaW9uU3RyZWFtTWFuYWdlcmAuIE1hbnRpZW5lIGxhIEFQSSBww7pibGljYSBoaXN0w7NyaWNhXG4gKiAoYGFza01haWFgLCBgaXNMb2FkaW5nYCwgYGlzV3JpdGluZ2AsIGBzdG9wU3RyZWFtaW5nYCwgZXRjLikgcGVybyBhaG9yYSBlbFxuICogbW90b3IgZGUgc3RyZWFtaW5nIHZpdmUgZW4gZWwgbWFuYWdlciAobW9kdWxlLWxldmVsKSwgbG8gcXVlIHBlcm1pdGUgdGVuZXJcbiAqIHZhcmlhcyBzZXNpb25lcyBnZW5lcmFuZG8gYSBsYSB2ZXogeSBxdWUgc29icmV2aXZhbiBhIGNhbWJpb3MgZGUgdmlzdGEuXG4gKlxuICogTG9zIGZsYWdzIHJlYWN0aXZvcyAoYGlzTG9hZGluZ2AvYGlzV3JpdGluZ2AvYHN0cmVhbUFjdGl2aXR5YCkgc2UgbGVlbiBkZWxcbiAqIHN0b3JlIHBhcmEgbGEgc2VzacOzbiBhY3R1YWxtZW50ZSBhY3RpdmEgKGBhY3RpdmVTZXNzaW9uSWRgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU9yY2hlc3RyYXRvclN0cmVhbSA9ICh7XG4gIGFjdGl2ZVNlc3Npb25JZCxcbiAgb25TdHJlYW1VcGRhdGUsXG4gIG9uRmluaXNoU3RyZWFtLFxuICBvblN0YXJ0V3JpdGluZyxcbiAgb25TdG9wLFxuICBvbkVycm9yLFxuICBvbkFwcHJvdmFsUmVxdWlyZWQsXG4gIGhpdGxFeGVjdXRpb25Db250ZXh0UmVmLFxufTogVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcblxuICBjb25zdCB7IGlzTG9hZGluZywgaXNXcml0aW5nLCBsb2FkaW5nTWVzc2FnZSwgc3RyZWFtQWN0aXZpdHkgfSA9IHVzZVNlc3Npb25TdHJlYW1TdGF0ZShhY3RpdmVTZXNzaW9uSWQpXG5cbiAgY29uc3Qgb25TdHJlYW1VcGRhdGVSZWYgPSB1c2VSZWYob25TdHJlYW1VcGRhdGUpXG4gIGNvbnN0IG9uRmluaXNoU3RyZWFtUmVmID0gdXNlUmVmKG9uRmluaXNoU3RyZWFtKVxuICBjb25zdCBvblN0YXJ0V3JpdGluZ1JlZiA9IHVzZVJlZihvblN0YXJ0V3JpdGluZylcbiAgY29uc3Qgb25TdG9wUmVmID0gdXNlUmVmKG9uU3RvcClcbiAgY29uc3Qgb25FcnJvclJlZiA9IHVzZVJlZihvbkVycm9yKVxuICBjb25zdCBvbkFwcHJvdmFsUmVxdWlyZWRSZWYgPSB1c2VSZWYob25BcHByb3ZhbFJlcXVpcmVkKVxuXG4gIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQgPSBvblN0cmVhbVVwZGF0ZVxuICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50ID0gb25GaW5pc2hTdHJlYW1cbiAgb25TdGFydFdyaXRpbmdSZWYuY3VycmVudCA9IG9uU3RhcnRXcml0aW5nXG4gIG9uU3RvcFJlZi5jdXJyZW50ID0gb25TdG9wXG4gIG9uRXJyb3JSZWYuY3VycmVudCA9IG9uRXJyb3JcbiAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQgPSBvbkFwcHJvdmFsUmVxdWlyZWRcblxuICBjb25zdCBhc2tNYWlhID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IEFza01haWFQYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgIGlucHV0OiBwYXlsb2FkLm1lc3NhZ2UsXG4gICAgICAgIGhpc3Rvcnk6IHBheWxvYWQuaGlzdG9yeSxcbiAgICAgICAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICAgICAgICB1c2VySWQ6IHBheWxvYWQudXNlcklkLFxuICAgICAgICAuLi4ocGF5bG9hZC5maXJzdE5hbWUgPyB7IGZpcnN0TmFtZTogcGF5bG9hZC5maXJzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQubGFzdE5hbWUgPyB7IGxhc3ROYW1lOiBwYXlsb2FkLmxhc3ROYW1lIH0gOiB7fSksXG4gICAgICAgIGNvbXBhbnlJZDogcGF5bG9hZC5jb21wYW55SWQsXG4gICAgICAgIGNoYXRJZDogcGF5bG9hZC5jaGF0SWQsXG4gICAgICAgIG1lc3NhZ2VJZDogcGF5bG9hZC5tZXNzYWdlSWQsXG4gICAgICAgIGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkLFxuICAgICAgICAuLi4ocGF5bG9hZC5mZWVJZCAhPSBudWxsID8geyBmZWVJZDogcGF5bG9hZC5mZWVJZCB9IDoge30pLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICBpc0F1dG9BcHByb3ZlQWN0aXZlOiBwYXlsb2FkLmlzQXV0b0FwcHJvdmVBY3RpdmUsXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hdHRhY2htZW50cyA/IHsgYXR0YWNobWVudHM6IHBheWxvYWQuYXR0YWNobWVudHMgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdE5hbWUgPyB7IHByb2plY3ROYW1lOiBwYXlsb2FkLnByb2plY3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNsaWVudE5hbWUgPyB7IGNsaWVudE5hbWU6IHBheWxvYWQuY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrTmFtZSA/IHsgdGFza05hbWU6IHBheWxvYWQudGFza05hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZmFxSWQgPyB7IGZhcUlkOiBwYXlsb2FkLmZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50U3VnZ2VzdGlvbklkID8geyBhZ2VudFN1Z2dlc3Rpb25JZDogcGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5mdWFJZCA/IHsgZnVhSWQ6IHBheWxvYWQuZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuc2NJZCA/IHsgc2NJZDogcGF5bG9hZC5zY0lkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5OiBwYXlsb2FkLmFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHRNZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogcGF5bG9hZC5jb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0RGF0YSA/IHsgY29udGV4dERhdGE6IHBheWxvYWQuY29udGV4dERhdGEgfSA6IHt9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0YXJ0U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGhhc0F0dGFjaG1lbnRzOiBCb29sZWFuKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCksXG4gICAgICAgICAgYXR0YWNobWVudHNDb3VudDogcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoID8/IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGhpdGxFeGVjdXRpb25Db250ZXh0OiBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZj8uY3VycmVudCA/PyBudWxsLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnksXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQucmVhc29uaW5nXG4gICAgICAgICAgICApLFxuICAgICAgICAgIG9uRXJyb3I6IChlcnJvclR5cGUsIGVycm9yTWVzc2FnZSkgPT4gb25FcnJvclJlZi5jdXJyZW50Py4oY3R4LCBlcnJvclR5cGUsIGVycm9yTWVzc2FnZSksXG4gICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkOiAoYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCkgPT5cbiAgICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50Py4oY3R4LCBhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbdCwgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWZdXG4gIClcblxuICBjb25zdCByZXRyeUNvbXBsZXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogUmV0cnlDb21wbGV0aW9uUGF5bG9hZCk6IFByb21pc2U8U3RhcnRTdHJlYW1SZXN1bHQ+ID0+IHtcbiAgICAgIGNvbnN0IHsgY2hhdElkOiBzZXNzaW9uSWQsIG1lc3NhZ2VJZCB9ID0gcGF5bG9hZFxuICAgICAgY29uc3QgcGxhY2Vob2xkZXJJZCA9IGBhbnN3ZXItJHttZXNzYWdlSWR9LXN0cmVhbWluZ2BcbiAgICAgIGNvbnN0IGN0eDogU3RyZWFtQ29udGV4dCA9IHsgc2Vzc2lvbklkLCBtZXNzYWdlSWQsIHBsYWNlaG9sZGVySWQgfVxuXG4gICAgICByZXR1cm4gc2Vzc2lvblN0cmVhbU1hbmFnZXIuc3RhcnRSZXRyeVN0cmVhbSh7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgcGxhY2Vob2xkZXJJZCxcbiAgICAgICAgcmV0cnlSZXF1ZXN0OiB7XG4gICAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICAgIG1lbW9yeVNlc3Npb25JZDogcGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gICAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICAgIGxhbmc6IHBheWxvYWQubGFuZyxcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQudGFza0lkICE9IG51bGwgPyB7IHRhc2tJZDogcGF5bG9hZC50YXNrSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFR5cGUgIT0gbnVsbCA/IHsgYWdlbnRUeXBlOiBwYXlsb2FkLmFnZW50VHlwZSB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHREYXRhID8geyBjb250ZXh0RGF0YTogcGF5bG9hZC5jb250ZXh0RGF0YSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0XVxuICApXG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdG9wU3RyZWFtKGFjdGl2ZVNlc3Npb25JZCwge1xuICAgICAgb25TdG9wOiBwYXJ0aWFsVGV4dCA9PiBvblN0b3BSZWYuY3VycmVudD8uKHBhcnRpYWxUZXh0KSxcbiAgICB9KVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCBhYm9ydFN0cmVhbVNpbGVudGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLmFib3J0U2lsZW50bHkoYWN0aXZlU2Vzc2lvbklkKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCB1cGRhdGVTdHJlYW1BY3Rpdml0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsKSA9PiB7XG4gICAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBhY3Rpdml0eSlcbiAgICB9LFxuICAgIFthY3RpdmVTZXNzaW9uSWRdXG4gIClcblxuICBjb25zdCByZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkucGF0Y2hNZXRhKGFjdGl2ZVNlc3Npb25JZCwgeyBpc0xvYWRpbmc6IGZhbHNlLCBpc1dyaXRpbmc6IGZhbHNlIH0pXG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgbnVsbClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIHJldHJ5Q29tcGxldGlvbixcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHN0cmVhbUFjdGl2aXR5LFxuICAgIHVwZGF0ZVN0cmVhbUFjdGl2aXR5LFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgYWJvcnRTdHJlYW1TaWxlbnRseSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQU05QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVND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
@@ -4,6 +4,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import { useCallback, useRef, useMemo, useState, useEffect } from 'react';
6
6
  import { SECTIONS } from '../constants/config';
7
+ import { readAutoApprove, writeAutoApprove } from '../utils/autoApproveStorage';
7
8
  import { buildConfigureSettingsItems } from '../constants/permissions';
8
9
  import { useUser } from '../context/cor-user';
9
10
  import { useTWithSection } from './useT';
@@ -33,27 +34,33 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
33
34
  _useState6 = _slicedToArray(_useState5, 2),
34
35
  isDeepSearchActive = _useState6[0],
35
36
  setIsDeepSearchActive = _useState6[1];
36
- var _useState7 = useState(entity || {
37
+ var _useState7 = useState(function () {
38
+ return readAutoApprove(user === null || user === void 0 ? void 0 : user.id);
39
+ }),
40
+ _useState8 = _slicedToArray(_useState7, 2),
41
+ isAutoApproveActive = _useState8[0],
42
+ setIsAutoApproveActive = _useState8[1];
43
+ var _useState9 = useState(entity || {
37
44
  projectId: null,
38
45
  clientId: null
39
46
  }),
40
- _useState8 = _slicedToArray(_useState7, 2),
41
- entityValues = _useState8[0],
42
- setEntityValues = _useState8[1];
43
- var _useState9 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
44
47
  _useState0 = _slicedToArray(_useState9, 2),
45
- client = _useState0[0],
46
- setClientState = _useState0[1];
47
- var setClient = setClientProp !== null && setClientProp !== void 0 ? setClientProp : setClientState;
48
- var _useState1 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
48
+ entityValues = _useState0[0],
49
+ setEntityValues = _useState0[1];
50
+ var _useState1 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
49
51
  _useState10 = _slicedToArray(_useState1, 2),
50
- task = _useState10[0],
51
- setTaskState = _useState10[1];
52
+ client = _useState10[0],
53
+ setClientState = _useState10[1];
54
+ var setClient = setClientProp !== null && setClientProp !== void 0 ? setClientProp : setClientState;
55
+ var _useState11 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
56
+ _useState12 = _slicedToArray(_useState11, 2),
57
+ task = _useState12[0],
58
+ setTaskState = _useState12[1];
52
59
  var setTask = useCallback(function (newTask) {
53
60
  return setTaskState(newTask);
54
61
  }, []);
55
62
  var configureSettingsItems = useRef(buildConfigureSettingsItems(user, t));
56
- var _useState11 = useState(function () {
63
+ var _useState13 = useState(function () {
57
64
  if ((section === 'project' || section === 'task') && (project === null || project === void 0 ? void 0 : project.id) != null) {
58
65
  var _project$client$name, _project$client;
59
66
  return {
@@ -64,9 +71,9 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
64
71
  }
65
72
  return null;
66
73
  }),
67
- _useState12 = _slicedToArray(_useState11, 2),
68
- chipsProject = _useState12[0],
69
- setChipsProjectState = _useState12[1];
74
+ _useState14 = _slicedToArray(_useState13, 2),
75
+ chipsProject = _useState14[0],
76
+ setChipsProjectState = _useState14[1];
70
77
 
71
78
  // Sincronizar chipsProject cuando el project prop cambia (ej. navegación entre proyectos o tareas)
72
79
  useEffect(function () {
@@ -131,6 +138,16 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
131
138
  return !prev;
132
139
  });
133
140
  }, []);
141
+ var toggleAutoApprove = useCallback(function () {
142
+ setIsAutoApproveActive(function (prev) {
143
+ var next = !prev;
144
+ writeAutoApprove(user === null || user === void 0 ? void 0 : user.id, next);
145
+ return next;
146
+ });
147
+ }, [user === null || user === void 0 ? void 0 : user.id]);
148
+ useEffect(function () {
149
+ setIsAutoApproveActive(readAutoApprove(user === null || user === void 0 ? void 0 : user.id));
150
+ }, [user === null || user === void 0 ? void 0 : user.id]);
134
151
  var setChipsProject = useCallback(function (newChipsProject) {
135
152
  setChipsProjectState(newChipsProject);
136
153
  }, []);
@@ -195,6 +212,8 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
195
212
  setTask: setTask,
196
213
  isWebSearchActive: isWebSearchActive,
197
214
  toggleWebSearch: toggleWebSearch,
215
+ isAutoApproveActive: isAutoApproveActive,
216
+ toggleAutoApprove: toggleAutoApprove,
198
217
  isDeepSearchActive: isDeepSearchActive,
199
218
  toggleDeepSearch: toggleDeepSearch,
200
219
  hasMultiAgents: hasMultiAgents,
@@ -202,10 +221,10 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
202
221
  setChipsProject: setChipsProject,
203
222
  pinnedContext: pinnedContext
204
223
  };
205
- }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
224
+ }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isAutoApproveActive, toggleAutoApprove, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
206
225
  return {
207
226
  context: context,
208
227
  restoreConfigureSettings: restoreConfigureSettings
209
228
  };
210
229
  };
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTciLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTgiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInNldENsaWVudFN0YXRlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTEiLCJpZCIsIl9wcm9qZWN0JGNsaWVudCRuYW1lIiwiX3Byb2plY3QkY2xpZW50IiwiU3RyaW5nIiwicHJvamVjdE5hbWUiLCJuYW1lIiwiY2xpZW50TmFtZSIsIl91c2VTdGF0ZTEyIiwiY2hpcHNQcm9qZWN0Iiwic2V0Q2hpcHNQcm9qZWN0U3RhdGUiLCJwcmV2IiwiX3Byb2plY3QkY2xpZW50JG5hbWUyIiwiX3Byb2plY3QkY2xpZW50MiIsIl9lbnRpdHkkcHJvamVjdElkIiwiX2VudGl0eSRjbGllbnRJZCIsInJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyIsIl9jb25maWd1cmVTZXR0aW5nc0l0ZSIsImN1cnJlbnQiLCJtYXAiLCJpdGVtIiwiX29iamVjdFNwcmVhZCIsImNoZWNrZWQiLCJoaWRkZW4iLCJzZWxlY3RBZ2VudCIsIm5ld0FnZW50IiwiY2xlYXJBZ2VudCIsInRvZ2dsZVdlYlNlYXJjaCIsInRvZ2dsZURlZXBTZWFyY2giLCJzZXRDaGlwc1Byb2plY3QiLCJuZXdDaGlwc1Byb2plY3QiLCJwaW5uZWRDb250ZXh0IiwidHlwZSIsInBhcmVudHMiLCJjb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVByb2plY3RTdW1tYXJ5Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ2hpcHNQcm9qZWN0LCBQaW5uZWRDb250ZXh0LCB0eXBlIFNlY3Rpb24gfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaycgfCAncGxhbm5lcidcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc1dlYlNlYXJjaEFjdGl2ZSwgc2V0SXNXZWJTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0RlZXBTZWFyY2hBY3RpdmUsIHNldElzRGVlcFNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2VudGl0eVZhbHVlcywgc2V0RW50aXR5VmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9PihlbnRpdHkgfHwgeyBwcm9qZWN0SWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH0pXG4gIGNvbnN0IFtjbGllbnQsIHNldENsaWVudFN0YXRlXSA9IHVzZVN0YXRlPENsaWVudCB8IG51bGw+KGluaXRpYWxDbGllbnQgPz8gbnVsbClcblxuICBjb25zdCBzZXRDbGllbnQgPSBzZXRDbGllbnRQcm9wID8/IHNldENsaWVudFN0YXRlXG5cbiAgY29uc3QgW3Rhc2ssIHNldFRhc2tTdGF0ZV0gPSB1c2VTdGF0ZTxUYXNrIHwgbnVsbD4oaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgY29uc3Qgc2V0VGFzayA9IHVzZUNhbGxiYWNrKChuZXdUYXNrOiBUYXNrIHwgbnVsbCkgPT4gc2V0VGFza1N0YXRlKG5ld1Rhc2spLCBbXSlcblxuICBjb25zdCBjb25maWd1cmVTZXR0aW5nc0l0ZW1zID0gdXNlUmVmKGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyh1c2VyLCB0KSlcbiAgY29uc3QgW2NoaXBzUHJvamVjdCwgc2V0Q2hpcHNQcm9qZWN0U3RhdGVdID0gdXNlU3RhdGU8Q2hpcHNQcm9qZWN0IHwgbnVsbD4oKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9KVxuXG4gIC8vIFNpbmNyb25pemFyIGNoaXBzUHJvamVjdCBjdWFuZG8gZWwgcHJvamVjdCBwcm9wIGNhbWJpYSAoZWouIG5hdmVnYWNpw7NuIGVudHJlIHByb3llY3RvcyBvIHRhcmVhcylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHNldENoaXBzUHJvamVjdFN0YXRlKHByZXYgPT4ge1xuICAgICAgICBpZiAocHJldj8ucHJvamVjdElkID09PSBTdHJpbmcocHJvamVjdC5pZCkpIHJldHVybiBwcmV2XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBwcm9qZWN0Py5pZCwgcHJvamVjdD8ubmFtZSwgcHJvamVjdD8uY2xpZW50Py5uYW1lXSlcblxuICAvLyBTaW5jcm9uaXphciBjbGllbnQgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyIChlai4gc2VjdGlvbiBjbGllbnQsIGRhdG9zIGFzeW5jKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAnY2xpZW50Jykge1xuICAgICAgc2V0Q2xpZW50U3RhdGUoaW5pdGlhbENsaWVudCA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxDbGllbnRdKVxuXG4gIC8vIFNpbmNyb25pemFyIHRhc2sgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICd0YXNrJykge1xuICAgICAgc2V0VGFza1N0YXRlKGluaXRpYWxUYXNrID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbFRhc2tdKVxuXG4gIC8vIFNpbmNyb25pemFyIGVudGl0eVZhbHVlcyBjdWFuZG8gZW50aXR5IGNhbWJpZSAoZWouIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlcilcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50aXR5ICE9IG51bGwpIHtcbiAgICAgIHNldEVudGl0eVZhbHVlcyh7XG4gICAgICAgIHByb2plY3RJZDogZW50aXR5LnByb2plY3RJZCA/PyBudWxsLFxuICAgICAgICBjbGllbnRJZDogZW50aXR5LmNsaWVudElkID8/IG51bGwsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2VudGl0eT8ucHJvamVjdElkLCBlbnRpdHk/LmNsaWVudElkXSlcblxuICBjb25zdCByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50ID0gY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50Py5tYXAoaXRlbSA9PiAoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGNoZWNrZWQ6ICFpdGVtLmhpZGRlbixcbiAgICB9KSlcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjaygobmV3QWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0QWdlbnQobmV3QWdlbnQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNsZWFyQWdlbnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnQobnVsbClcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlV2ViU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzV2ViU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZURlZXBTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNEZWVwU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFHekUsU0FBU0MsUUFBUSxRQUFRLHFCQUFxQjtBQUM5QyxTQUFTQywyQkFBMkIsUUFBUSwwQkFBMEI7QUFDdEUsU0FBU0MsT0FBTyxRQUFRLHFCQUFxQjtBQUc3QyxTQUFTQyxlQUFlLFFBQVEsUUFBUTtBQW1CeEMsT0FBTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFBQyxJQUFBLEVBU0g7RUFBQSxJQUFBQyxnQkFBQTtFQUFBLElBUi9CQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUNQQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxPQUFPLEdBQUFKLElBQUEsQ0FBUEksT0FBTztJQUNQQyxVQUFVLEdBQUFMLElBQUEsQ0FBVkssVUFBVTtJQUFBQyxXQUFBLEdBQUFOLElBQUEsQ0FDVk8sTUFBTTtJQUFFQyxhQUFhLEdBQUFGLFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7SUFDakJHLGFBQWEsR0FBQVQsSUFBQSxDQUF4QlUsU0FBUztJQUFBQyxTQUFBLEdBQUFYLElBQUEsQ0FDVFksSUFBSTtJQUFFQyxXQUFXLEdBQUFGLFNBQUEsY0FBRyxJQUFJLEdBQUFBLFNBQUE7SUFDeEJHLGNBQWMsR0FBQWQsSUFBQSxDQUFkYyxjQUFjO0VBRWQsSUFBTUMsSUFBSSxHQUFHbEIsT0FBTyxDQUFDLENBQUM7RUFDdEIsSUFBTW1CLENBQUMsR0FBR2xCLGVBQWUsQ0FBQ0gsUUFBUSxDQUFDc0IsTUFBTSxDQUFDO0VBQzFDLElBQUFDLFNBQUEsR0FBMEJ6QixRQUFRLENBQWUsSUFBSSxDQUFDO0lBQUEwQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FB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
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwicmVhZEF1dG9BcHByb3ZlIiwid3JpdGVBdXRvQXBwcm92ZSIsImJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyIsInVzZVVzZXIiLCJ1c2VUV2l0aFNlY3Rpb24iLCJ1c2VQcm9qZWN0U3VtbWFyeUNvbmZpZyIsIl9yZWYiLCJfcHJvamVjdCRjbGllbnQzIiwic2VjdGlvbiIsImVudGl0eSIsInByb2plY3QiLCJzZXRQcm9qZWN0IiwiX3JlZiRjbGllbnQiLCJjbGllbnQiLCJpbml0aWFsQ2xpZW50Iiwic2V0Q2xpZW50UHJvcCIsInNldENsaWVudCIsIl9yZWYkdGFzayIsInRhc2siLCJpbml0aWFsVGFzayIsImhhc011bHRpQWdlbnRzIiwidXNlciIsInQiLCJjaGF0QUkiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhZ2VudCIsInNldEFnZW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInNldElzV2ViU2VhcmNoQWN0aXZlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJzZXRJc0RlZXBTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiaWQiLCJfdXNlU3RhdGU4IiwiaXNBdXRvQXBwcm92ZUFjdGl2ZSIsInNldElzQXV0b0FwcHJvdmVBY3RpdmUiLCJfdXNlU3RhdGU5IiwicHJvamVjdElkIiwiY2xpZW50SWQiLCJfdXNlU3RhdGUwIiwiZW50aXR5VmFsdWVzIiwic2V0RW50aXR5VmFsdWVzIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0Q2xpZW50U3RhdGUiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTMiLCJfcHJvamVjdCRjbGllbnQkbmFtZSIsIl9wcm9qZWN0JGNsaWVudCIsIlN0cmluZyIsInByb2plY3ROYW1lIiwibmFtZSIsImNsaWVudE5hbWUiLCJfdXNlU3RhdGUxNCIsImNoaXBzUHJvamVjdCIsInNldENoaXBzUHJvamVjdFN0YXRlIiwicHJldiIsIl9wcm9qZWN0JGNsaWVudCRuYW1lMiIsIl9wcm9qZWN0JGNsaWVudDIiLCJfZW50aXR5JHByb2plY3RJZCIsIl9lbnRpdHkkY2xpZW50SWQiLCJyZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MiLCJfY29uZmlndXJlU2V0dGluZ3NJdGUiLCJjdXJyZW50IiwibWFwIiwiaXRlbSIsIl9vYmplY3RTcHJlYWQiLCJjaGVja2VkIiwiaGlkZGVuIiwic2VsZWN0QWdlbnQiLCJuZXdBZ2VudCIsImNsZWFyQWdlbnQiLCJ0b2dnbGVXZWJTZWFyY2giLCJ0b2dnbGVEZWVwU2VhcmNoIiwidG9nZ2xlQXV0b0FwcHJvdmUiLCJuZXh0Iiwic2V0Q2hpcHNQcm9qZWN0IiwibmV3Q2hpcHNQcm9qZWN0IiwicGlubmVkQ29udGV4dCIsInR5cGUiLCJwYXJlbnRzIiwiY29udGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VQcm9qZWN0U3VtbWFyeUNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IENoaXBzUHJvamVjdCwgUGlubmVkQ29udGV4dCwgdHlwZSBTZWN0aW9uIH0gZnJvbSAnLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHJlYWRBdXRvQXBwcm92ZSwgd3JpdGVBdXRvQXBwcm92ZSB9IGZyb20gJy4uL3V0aWxzL2F1dG9BcHByb3ZlU3RvcmFnZSdcbmltcG9ydCB7IGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyB9IGZyb20gJy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi90eXBlcy9hZ2VudCdcblxuaW1wb3J0IHsgdXNlVFdpdGhTZWN0aW9uIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3R5cGVzL1Byb2plY3QnXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICcuLi90eXBlcy9DbGllbnQnXG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdHlwZXMvVGFzaydcblxudHlwZSBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzID0ge1xuICBzZWN0aW9uOiAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG4gIGVudGl0eT86IHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9IHwgbnVsbFxuICBwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbFxuICBzZXRQcm9qZWN0OiAocHJvamVjdDogUHJvamVjdCB8IG51bGwpID0+IHZvaWRcbiAgY2xpZW50PzogQ2xpZW50IHwgbnVsbFxuICBzZXRDbGllbnQ/OiAoY2xpZW50OiBDbGllbnQgfCBudWxsKSA9PiB2b2lkXG4gIHRhc2s/OiBUYXNrIHwgbnVsbFxuICBoYXNNdWx0aUFnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnID0gKHtcbiAgc2VjdGlvbixcbiAgZW50aXR5LFxuICBwcm9qZWN0LFxuICBzZXRQcm9qZWN0LFxuICBjbGllbnQ6IGluaXRpYWxDbGllbnQgPSBudWxsLFxuICBzZXRDbGllbnQ6IHNldENsaWVudFByb3AsXG4gIHRhc2s6IGluaXRpYWxUYXNrID0gbnVsbCxcbiAgaGFzTXVsdGlBZ2VudHMsXG59OiBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgdCA9IHVzZVRXaXRoU2VjdGlvbihTRUNUSU9OUy5jaGF0QUkpXG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNXZWJTZWFyY2hBY3RpdmUsIHNldElzV2ViU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbaXNEZWVwU2VhcmNoQWN0aXZlLCBzZXRJc0RlZXBTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0F1dG9BcHByb3ZlQWN0aXZlLCBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHJlYWRBdXRvQXBwcm92ZSh1c2VyPy5pZCkpXG4gIGNvbnN0IFtlbnRpdHlWYWx1ZXMsIHNldEVudGl0eVZhbHVlc10gPSB1c2VTdGF0ZTx7XG4gICAgcHJvamVjdElkOiBzdHJpbmcgfCBudWxsXG4gICAgY2xpZW50SWQ6IHN0cmluZyB8IG51bGxcbiAgfT4oZW50aXR5IHx8IHsgcHJvamVjdElkOiBudWxsLCBjbGllbnRJZDogbnVsbCB9KVxuICBjb25zdCBbY2xpZW50LCBzZXRDbGllbnRTdGF0ZV0gPSB1c2VTdGF0ZTxDbGllbnQgfCBudWxsPihpbml0aWFsQ2xpZW50ID8/IG51bGwpXG5cbiAgY29uc3Qgc2V0Q2xpZW50ID0gc2V0Q2xpZW50UHJvcCA/PyBzZXRDbGllbnRTdGF0ZVxuXG4gIGNvbnN0IFt0YXNrLCBzZXRUYXNrU3RhdGVdID0gdXNlU3RhdGU8VGFzayB8IG51bGw+KGluaXRpYWxUYXNrID8/IG51bGwpXG4gIGNvbnN0IHNldFRhc2sgPSB1c2VDYWxsYmFjaygobmV3VGFzazogVGFzayB8IG51bGwpID0+IHNldFRhc2tTdGF0ZShuZXdUYXNrKSwgW10pXG5cbiAgY29uc3QgY29uZmlndXJlU2V0dGluZ3NJdGVtcyA9IHVzZVJlZihidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXModXNlciwgdCkpXG4gIGNvbnN0IFtjaGlwc1Byb2plY3QsIHNldENoaXBzUHJvamVjdFN0YXRlXSA9IHVzZVN0YXRlPENoaXBzUHJvamVjdCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfSlcblxuICAvLyBTaW5jcm9uaXphciBjaGlwc1Byb2plY3QgY3VhbmRvIGVsIHByb2plY3QgcHJvcCBjYW1iaWEgKGVqLiBuYXZlZ2FjacOzbiBlbnRyZSBwcm95ZWN0b3MgbyB0YXJlYXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgaWYgKHByZXY/LnByb2plY3RJZCA9PT0gU3RyaW5nKHByb2plY3QuaWQpKSByZXR1cm4gcHJldlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgcHJvamVjdD8uaWQsIHByb2plY3Q/Lm5hbWUsIHByb2plY3Q/LmNsaWVudD8ubmFtZV0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2xpZW50IGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlciAoZWouIHNlY3Rpb24gY2xpZW50LCBkYXRvcyBhc3luYylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ2NsaWVudCcpIHtcbiAgICAgIHNldENsaWVudFN0YXRlKGluaXRpYWxDbGllbnQgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsQ2xpZW50XSlcblxuICAvLyBTaW5jcm9uaXphciB0YXNrIGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlclxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAndGFzaycpIHtcbiAgICAgIHNldFRhc2tTdGF0ZShpbml0aWFsVGFzayA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxUYXNrXSlcblxuICAvLyBTaW5jcm9uaXphciBlbnRpdHlWYWx1ZXMgY3VhbmRvIGVudGl0eSBjYW1iaWUgKGVqLiBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVudGl0eSAhPSBudWxsKSB7XG4gICAgICBzZXRFbnRpdHlWYWx1ZXMoe1xuICAgICAgICBwcm9qZWN0SWQ6IGVudGl0eS5wcm9qZWN0SWQgPz8gbnVsbCxcbiAgICAgICAgY2xpZW50SWQ6IGVudGl0eS5jbGllbnRJZCA/PyBudWxsLFxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtlbnRpdHk/LnByb2plY3RJZCwgZW50aXR5Py5jbGllbnRJZF0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVBdXRvQXBwcm92ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9ICFwcmV2XG4gICAgICB3cml0ZUF1dG9BcHByb3ZlKHVzZXI/LmlkLCBuZXh0KVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNBdXRvQXBwcm92ZUFjdGl2ZShyZWFkQXV0b0FwcHJvdmUodXNlcj8uaWQpKVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZSxcbiAgICAgIHRvZ2dsZUF1dG9BcHByb3ZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0F1dG9BcHByb3ZlQWN0aXZlLFxuICAgICAgdG9nZ2xlQXV0b0FwcHJvdmUsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFR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VyxFQUFYQSxXQUFXO01BQ1hFLFVBQVUsRUFBVkEsVUFBVTtNQUNWMUIsc0JBQXNCLEVBQXRCQSxzQkFBc0I7TUFDdEJnQix3QkFBd0IsRUFBeEJBLHdCQUF3QjtNQUN4QnpCLGVBQWUsRUFBZkEsZUFBZTtNQUNmckMsT0FBTyxFQUFQQSxPQUFPO01BQ1BDLFVBQVUsRUFBVkEsVUFBVTtNQUNWRSxNQUFNLEVBQU5BLE1BQU07TUFDTkcsU0FBUyxFQUFUQSxTQUFTO01BQ1RFLElBQUksRUFBSkEsSUFBSTtNQUNKb0MsT0FBTyxFQUFQQSxPQUFPO01BQ1B2QixpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQm9ELGVBQWUsRUFBZkEsZUFBZTtNQUNmM0MsbUJBQW1CLEVBQW5CQSxtQkFBbUI7TUFDbkI2QyxpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQmxELGtCQUFrQixFQUFsQkEsa0JBQWtCO01BQ2xCaUQsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7TUFDaEJoRSxjQUFjLEVBQWRBLGNBQWM7TUFDZDZDLFlBQVksRUFBWkEsWUFBWTtNQUNac0IsZUFBZSxFQUFmQSxlQUFlO01BQ2ZFLGFBQWEsRUFBYkE7SUFDRixDQUFDO0VBQUEsQ0FBQyxFQUNGLENBQ0VqRixPQUFPLEVBQ1BzQyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJqQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVm5DLGVBQWUsRUFDZnlCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFNEIsRUFBRSxFQUNYM0IsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXlCLEVBQUUsRUFDVnRCLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVvQixFQUFFLEVBQ1JnQixPQUFPLEVBQ1B2QixpQkFBaUIsRUFDakJvRCxlQUFlLEVBQ2YzQyxtQkFBbUIsRUFDbkI2QyxpQkFBaUIsRUFDakJsRCxrQkFBa0IsRUFDbEJpRCxnQkFBZ0IsRUFDaEJoRSxjQUFjLEVBQ2Q2QyxZQUFZLEVBQ1pzQixlQUFlLEVBQ2ZFLGFBQWEsQ0FFakIsQ0FBQztFQUVELE9BQU87SUFDTEcsT0FBTyxFQUFQQSxPQUFPO0lBQ1BwQix3QkFBd0IsRUFBeEJBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,3 @@
1
+ export { useReasoningTrace } from './useReasoningTrace';
2
+ export { reasoningStore } from './reasoningStore';
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWFzb25pbmdUcmFjZSIsInJlYXNvbmluZ1N0b3JlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHVzZVJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi91c2VSZWFzb25pbmdUcmFjZSdcbmV4cG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcbmV4cG9ydCB0eXBlIHsgUmVhc29uaW5nU25hcHNob3QsIFJlYXNvbmluZ1BoYXNlIH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEscUJBQXFCO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,142 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import { mapReasoningStep, mapReasoningTrace } from '../../utils/reasoningMappers';
6
+ var EMPTY = {
7
+ id: null,
8
+ steps: [],
9
+ summary: null,
10
+ phase: 'idle'
11
+ };
12
+ var snapshot = EMPTY;
13
+ var listeners = new Set();
14
+ var emitChange = function emitChange() {
15
+ listeners.forEach(function (listener) {
16
+ listener();
17
+ });
18
+ };
19
+ var upsertStep = function upsertStep(steps, step) {
20
+ var at = steps.findIndex(function (current) {
21
+ return current.i === step.i;
22
+ });
23
+ if (at === -1) {
24
+ return [].concat(_toConsumableArray(steps), [step]).sort(function (a, b) {
25
+ return a.i - b.i;
26
+ });
27
+ }
28
+ var next = steps.slice();
29
+ next[at] = step;
30
+ return next;
31
+ };
32
+ export var reasoningStore = {
33
+ start: function start(id) {
34
+ snapshot = {
35
+ id: id,
36
+ steps: [],
37
+ summary: null,
38
+ phase: 'streaming'
39
+ };
40
+ emitChange();
41
+ },
42
+ appendThinking: function appendThinking(id, index, delta) {
43
+ var _existing$text;
44
+ if (!delta) return;
45
+ if (snapshot.id !== id) {
46
+ snapshot = {
47
+ id: id,
48
+ steps: [],
49
+ summary: null,
50
+ phase: 'streaming'
51
+ };
52
+ }
53
+ var existing = snapshot.steps.find(function (step) {
54
+ return step.i === index;
55
+ });
56
+ var step = existing && existing.type === 'thinking' ? _objectSpread(_objectSpread({}, existing), {}, {
57
+ text: "".concat((_existing$text = existing.text) !== null && _existing$text !== void 0 ? _existing$text : '').concat(delta)
58
+ }) : {
59
+ i: index,
60
+ type: 'thinking',
61
+ text: delta
62
+ };
63
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
64
+ steps: upsertStep(snapshot.steps, step),
65
+ phase: 'streaming'
66
+ });
67
+ emitChange();
68
+ },
69
+ applyStep: function applyStep(id, payload) {
70
+ var _payload$type;
71
+ if (snapshot.id !== id) {
72
+ snapshot = {
73
+ id: id,
74
+ steps: [],
75
+ summary: null,
76
+ phase: 'streaming'
77
+ };
78
+ }
79
+ var incoming = mapReasoningStep(payload);
80
+ var existing = snapshot.steps.find(function (step) {
81
+ return step.i === incoming.i;
82
+ });
83
+ var step = existing ? _objectSpread(_objectSpread(_objectSpread({}, existing), incoming), {}, {
84
+ type: (_payload$type = payload.type) !== null && _payload$type !== void 0 ? _payload$type : existing.type
85
+ }) : incoming;
86
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
87
+ steps: upsertStep(snapshot.steps, step),
88
+ phase: 'streaming'
89
+ });
90
+ emitChange();
91
+ },
92
+ finish: function finish(id, trace) {
93
+ var authoritative = mapReasoningTrace(trace);
94
+ if (authoritative) {
95
+ snapshot = {
96
+ id: id,
97
+ steps: authoritative.steps,
98
+ summary: authoritative.summary,
99
+ phase: 'done'
100
+ };
101
+ emitChange();
102
+ return;
103
+ }
104
+ if (snapshot.id !== id) return;
105
+ var steps = snapshot.steps.map(function (step) {
106
+ return step.status === 'running' ? _objectSpread(_objectSpread({}, step), {}, {
107
+ status: 'ok'
108
+ }) : step;
109
+ });
110
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
111
+ steps: steps,
112
+ summary: null,
113
+ phase: 'done'
114
+ });
115
+ emitChange();
116
+ },
117
+ clear: function clear() {
118
+ if (snapshot === EMPTY) return;
119
+ snapshot = EMPTY;
120
+ emitChange();
121
+ },
122
+ rename: function rename(fromId, toId) {
123
+ if (snapshot.id !== fromId) return;
124
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
125
+ id: toId
126
+ });
127
+ emitChange();
128
+ },
129
+ subscribe: function subscribe(listener) {
130
+ listeners.add(listener);
131
+ return function () {
132
+ listeners["delete"](listener);
133
+ };
134
+ },
135
+ getSnapshot: function getSnapshot() {
136
+ return snapshot;
137
+ },
138
+ getServerSnapshot: function getServerSnapshot() {
139
+ return EMPTY;
140
+ }
141
+ };
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBSZWFzb25pbmdTdGVwIiwibWFwUmVhc29uaW5nVHJhY2UiLCJFTVBUWSIsImlkIiwic3RlcHMiLCJzdW1tYXJ5IiwicGhhc2UiLCJzbmFwc2hvdCIsImxpc3RlbmVycyIsIlNldCIsImVtaXRDaGFuZ2UiLCJmb3JFYWNoIiwibGlzdGVuZXIiLCJ1cHNlcnRTdGVwIiwic3RlcCIsImF0IiwiZmluZEluZGV4IiwiY3VycmVudCIsImkiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJuZXh0Iiwic2xpY2UiLCJyZWFzb25pbmdTdG9yZSIsInN0YXJ0IiwiYXBwZW5kVGhpbmtpbmciLCJpbmRleCIsImRlbHRhIiwiX2V4aXN0aW5nJHRleHQiLCJleGlzdGluZyIsImZpbmQiLCJ0eXBlIiwiX29iamVjdFNwcmVhZCIsInRleHQiLCJhcHBseVN0ZXAiLCJwYXlsb2FkIiwiX3BheWxvYWQkdHlwZSIsImluY29taW5nIiwiZmluaXNoIiwidHJhY2UiLCJhdXRob3JpdGF0aXZlIiwibWFwIiwic3RhdHVzIiwiY2xlYXIiLCJyZW5hbWUiLCJmcm9tSWQiLCJ0b0lkIiwic3Vic2NyaWJlIiwiYWRkIiwiZ2V0U25hcHNob3QiLCJnZXRTZXJ2ZXJTbmFwc2hvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlYXNvbmluZ1N0ZXAsXG4gIFJlYXNvbmluZ1N0ZXBQYXlsb2FkLFxuICBSZWFzb25pbmdTdW1tYXJ5LFxuICBSZWFzb25pbmdUcmFjZVBheWxvYWQsXG59IGZyb20gJy4uLy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB7IG1hcFJlYXNvbmluZ1N0ZXAsIG1hcFJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVhc29uaW5nTWFwcGVycydcblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nUGhhc2UgPSAnaWRsZScgfCAnc3RyZWFtaW5nJyB8ICdkb25lJ1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdTbmFwc2hvdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bGxcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXVxuICBzdW1tYXJ5OiBSZWFzb25pbmdTdW1tYXJ5IHwgbnVsbFxuICBwaGFzZTogUmVhc29uaW5nUGhhc2Vcbn1cblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxubGV0IHNuYXBzaG90OiBSZWFzb25pbmdTbmFwc2hvdCA9IEVNUFRZXG5jb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0PCgpID0+IHZvaWQ+KClcblxuY29uc3QgZW1pdENoYW5nZSA9ICgpID0+IHtcbiAgbGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xuICAgIGxpc3RlbmVyKClcbiAgfSlcbn1cblxuY29uc3QgdXBzZXJ0U3RlcCA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdLCBzdGVwOiBSZWFzb25pbmdTdGVwKTogUmVhc29uaW5nU3RlcFtdID0+IHtcbiAgY29uc3QgYXQgPSBzdGVwcy5maW5kSW5kZXgoY3VycmVudCA9PiBjdXJyZW50LmkgPT09IHN0ZXAuaSlcbiAgaWYgKGF0ID09PSAtMSkge1xuICAgIHJldHVybiBbLi4uc3RlcHMsIHN0ZXBdLnNvcnQoKGEsIGIpID0+IGEuaSAtIGIuaSlcbiAgfVxuICBjb25zdCBuZXh0ID0gc3RlcHMuc2xpY2UoKVxuICBuZXh0W2F0XSA9IHN0ZXBcbiAgcmV0dXJuIG5leHRcbn1cblxuZXhwb3J0IGNvbnN0IHJlYXNvbmluZ1N0b3JlID0ge1xuICBzdGFydChpZDogc3RyaW5nKSB7XG4gICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwZW5kVGhpbmtpbmcoaWQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZGVsdGE6IHN0cmluZykge1xuICAgIGlmICghZGVsdGEpIHJldHVyblxuICAgIGlmIChzbmFwc2hvdC5pZCAhPT0gaWQpIHtcbiAgICAgIHNuYXBzaG90ID0geyBpZCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ3N0cmVhbWluZycgfVxuICAgIH1cbiAgICBjb25zdCBleGlzdGluZyA9IHNuYXBzaG90LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmkgPT09IGluZGV4KVxuICAgIGNvbnN0IHN0ZXA6IFJlYXNvbmluZ1N0ZXAgPVxuICAgICAgZXhpc3RpbmcgJiYgZXhpc3RpbmcudHlwZSA9PT0gJ3RoaW5raW5nJ1xuICAgICAgICA/IHsgLi4uZXhpc3RpbmcsIHRleHQ6IGAke2V4aXN0aW5nLnRleHQgPz8gJyd9JHtkZWx0YX1gIH1cbiAgICAgICAgOiB7IGk6IGluZGV4LCB0eXBlOiAndGhpbmtpbmcnLCB0ZXh0OiBkZWx0YSB9XG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwbHlTdGVwKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFJlYXNvbmluZ1N0ZXBQYXlsb2FkKSB7XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkge1xuICAgICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgfVxuICAgIGNvbnN0IGluY29taW5nID0gbWFwUmVhc29uaW5nU3RlcChwYXlsb2FkKVxuICAgIGNvbnN0IGV4aXN0aW5nID0gc25hcHNob3Quc3RlcHMuZmluZChzdGVwID0+IHN0ZXAuaSA9PT0gaW5jb21pbmcuaSlcbiAgICBjb25zdCBzdGVwID0gZXhpc3RpbmcgPyB7IC4uLmV4aXN0aW5nLCAuLi5pbmNvbWluZywgdHlwZTogcGF5bG9hZC50eXBlID8/IGV4aXN0aW5nLnR5cGUgfSA6IGluY29taW5nXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgZmluaXNoKGlkOiBzdHJpbmcsIHRyYWNlOiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXV0aG9yaXRhdGl2ZSA9IG1hcFJlYXNvbmluZ1RyYWNlKHRyYWNlKVxuICAgIGlmIChhdXRob3JpdGF0aXZlKSB7XG4gICAgICBzbmFwc2hvdCA9IHsgaWQsIHN0ZXBzOiBhdXRob3JpdGF0aXZlLnN0ZXBzLCBzdW1tYXJ5OiBhdXRob3JpdGF0aXZlLnN1bW1hcnksIHBoYXNlOiAnZG9uZScgfVxuICAgICAgZW1pdENoYW5nZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkgcmV0dXJuXG4gICAgY29uc3Qgc3RlcHMgPSBzbmFwc2hvdC5zdGVwcy5tYXAoc3RlcCA9PiAoc3RlcC5zdGF0dXMgPT09ICdydW5uaW5nJyA/IHsgLi4uc3RlcCwgc3RhdHVzOiAnb2snIGFzIGNvbnN0IH0gOiBzdGVwKSlcbiAgICBzbmFwc2hvdCA9IHsgLi4uc25hcHNob3QsIHN0ZXBzLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2RvbmUnIH1cbiAgICBlbWl0Q2hhbmdlKClcbiAgfSxcblxuICBjbGVhcigpIHtcbiAgICBpZiAoc25hcHNob3QgPT09IEVNUFRZKSByZXR1cm5cbiAgICBzbmFwc2hvdCA9IEVNUFRZXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgcmVuYW1lKGZyb21JZDogc3RyaW5nLCB0b0lkOiBzdHJpbmcpIHtcbiAgICBpZiAoc25hcHNob3QuaWQgIT09IGZyb21JZCkgcmV0dXJuXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBpZDogdG9JZCB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH0sXG5cbiAgZ2V0U25hcHNob3QoKTogUmVhc29uaW5nU25hcHNob3Qge1xuICAgIHJldHVybiBzbmFwc2hvdFxuICB9LFxuXG4gIGdldFNlcnZlclNuYXBzaG90KCk6IFJlYXNvbmluZ1NuYXBzaG90IHtcbiAgICByZXR1cm4gRU1QVFlcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQU1BLFNBQVNBLGdCQUFnQixFQUFFQyxpQkFBaUIsUUFBUSw4QkFBOEI7QUFXbEYsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLElBQUlDLFFBQTJCLEdBQUdMLEtBQUs7QUFDdkMsSUFBTU0sU0FBUyxHQUFHLElBQUlDLEdBQUcsQ0FBYSxDQUFDO0FBRXZDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7RUFDdkJGLFNBQVMsQ0FBQ0csT0FBTyxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUM1QkEsUUFBUSxDQUFDLENBQUM7RUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlULEtBQXNCLEVBQUVVLElBQW1CLEVBQXNCO0VBQ25GLElBQU1DLEVBQUUsR0FBR1gsS0FBSyxDQUFDWSxTQUFTLENBQUMsVUFBQUMsT0FBTztJQUFBLE9BQUlBLE9BQU8sQ0FBQ0MsQ0FB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
@@ -0,0 +1,14 @@
1
+ import { useSyncExternalStore } from 'react';
2
+ import { reasoningStore } from './reasoningStore';
3
+ var EMPTY = {
4
+ id: null,
5
+ steps: [],
6
+ summary: null,
7
+ phase: 'idle'
8
+ };
9
+ export var useReasoningTrace = function useReasoningTrace(messageId) {
10
+ var snapshot = useSyncExternalStore(reasoningStore.subscribe, reasoningStore.getSnapshot, reasoningStore.getServerSnapshot);
11
+ if (!messageId || snapshot.id !== messageId) return EMPTY;
12
+ return snapshot;
13
+ };
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsInJlYXNvbmluZ1N0b3JlIiwiRU1QVFkiLCJpZCIsInN0ZXBzIiwic3VtbWFyeSIsInBoYXNlIiwidXNlUmVhc29uaW5nVHJhY2UiLCJtZXNzYWdlSWQiLCJzbmFwc2hvdCIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiZ2V0U2VydmVyU25hcHNob3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvdXNlUmVhc29uaW5nVHJhY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlLCB0eXBlIFJlYXNvbmluZ1NuYXBzaG90IH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxuZXhwb3J0IGNvbnN0IHVzZVJlYXNvbmluZ1RyYWNlID0gKG1lc3NhZ2VJZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJlYXNvbmluZ1NuYXBzaG90ID0+IHtcbiAgY29uc3Qgc25hcHNob3QgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICByZWFzb25pbmdTdG9yZS5zdWJzY3JpYmUsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U25hcHNob3QsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U2VydmVyU25hcHNob3RcbiAgKVxuICBpZiAoIW1lc3NhZ2VJZCB8fCBzbmFwc2hvdC5pZCAhPT0gbWVzc2FnZUlkKSByZXR1cm4gRU1QVFlcbiAgcmV0dXJuIHNuYXBzaG90XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixRQUFRLE9BQU87QUFDNUMsU0FBU0MsY0FBYyxRQUFnQyxrQkFBa0I7QUFFekUsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsU0FBb0MsRUFBd0I7RUFDNUYsSUFBTUMsUUFBUSxHQUFHVCxvQkFBb0IsQ0FDbkNDLGNBQWMsQ0FBQ1MsU0FBUyxFQUN4QlQsY0FBYyxDQUFDVSxXQUFXLEVBQzFCVixjQUFjLENBQUNXLGlCQUNqQixDQUFDO0VBQ0QsSUFBSSxDQUFDSixTQUFTLElBQUlDLFFBQVEsQ0FBQ04sRUFBRSxLQUFLSyxTQUFTLEVBQUUsT0FBT04sS0FBSztFQUN6RCxPQUFPTyxRQUFRO0FBQ2pCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=