@projectcor/maia-components 2.28.0 → 2.30.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.
- package/lib/App.js +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +182 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +50 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +13 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +463 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1239 -0
- package/lib/hooks/useEvent.js +93 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +136 -0
- package/lib/hooks/useMentionPopover.js +366 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +761 -0
- package/lib/lang/en/index.js +761 -0
- package/lib/lang/es/index.js +762 -0
- package/lib/lang/fr/index.js +582 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +54 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +70 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +399 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import { MenuDots } from '@projectcor/icons/lib/components/MenuDots';
|
|
6
|
+
import { useTranslation } from 'react-i18next';
|
|
7
|
+
import { useUser } from '../../../context/cor-user';
|
|
8
|
+
import { deleteSkill } from '../../../services/maia/Skills/deleteSkill';
|
|
9
|
+
import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
|
|
10
|
+
import { DeleteQuestionModal } from '../../organisms/DeleteQuestionModal/DeleteQuestionModal';
|
|
11
|
+
import { SKILL_GENERATE_OPEN_EVENT } from '../../organisms/AbmSkillGenerateModal/AbmSkillGenerateModal';
|
|
12
|
+
import { SECTIONS } from '../../../constants/config';
|
|
13
|
+
import { Loader } from '../../atoms/Loader';
|
|
14
|
+
import { SCMSBody, SCMSCardBody, SCMSCardButton, SCMSCardContentText, SCMSCardFooter, SCMSCardFooterDate, SCMSCardHeader, SCMSCardMenu, SCMSCardMenuItem, SCMSCardMenuItems, SCMSCardTitleName, SCMSCardTopRow, SCMSCardsOuter, SCMSCardsRow, SCMSContainer, SCMSCreateButton, SCMSCreateButtonText, SCMSCreateMenu, SCMSCreateMenuItem, SCMSCreateMenuWrap, SCMSEmptyStateButton, SCMSEmptyStateColumn, SCMSEmptyStateRoot, SCMSEmptyStateSubtitle, SCMSEmptyStateTitle, SCMSEmptyStateTitleBlock, SCMSKebabButton, SCMSLoadWrapper, SCMSTitle, SCMSSubtitle, SCMSActionsRow, SCMSTitleInner, SCMSTitleWrap } from './ChatAIMySkills.styles';
|
|
15
|
+
import { MAIAIsologo } from '../../atoms/icons';
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
var openSkillModal = function openSkillModal(values) {
|
|
18
|
+
document.dispatchEvent(new CustomEvent('abm-skill-modal-set-values', {
|
|
19
|
+
detail: {
|
|
20
|
+
skillValues: {
|
|
21
|
+
values: values,
|
|
22
|
+
isOpen: true
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
var IconChat = function IconChat() {
|
|
28
|
+
return /*#__PURE__*/_jsx("svg", {
|
|
29
|
+
width: "16",
|
|
30
|
+
height: "16",
|
|
31
|
+
viewBox: "0 0 16 16",
|
|
32
|
+
fill: "none",
|
|
33
|
+
"aria-hidden": "true",
|
|
34
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
35
|
+
d: "M14 7.5a5.5 5.5 0 0 1-7.9 4.96L2.5 13.5l1.04-3.1A5.5 5.5 0 1 1 14 7.5Z",
|
|
36
|
+
stroke: "#666",
|
|
37
|
+
strokeWidth: "1.3",
|
|
38
|
+
strokeLinejoin: "round"
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
var IconClipboard = function IconClipboard() {
|
|
43
|
+
return /*#__PURE__*/_jsxs("svg", {
|
|
44
|
+
width: "16",
|
|
45
|
+
height: "16",
|
|
46
|
+
viewBox: "0 0 16 16",
|
|
47
|
+
fill: "none",
|
|
48
|
+
"aria-hidden": "true",
|
|
49
|
+
children: [/*#__PURE__*/_jsx("rect", {
|
|
50
|
+
x: "3.5",
|
|
51
|
+
y: "3",
|
|
52
|
+
width: "9",
|
|
53
|
+
height: "11",
|
|
54
|
+
rx: "1.5",
|
|
55
|
+
stroke: "#666",
|
|
56
|
+
strokeWidth: "1.3"
|
|
57
|
+
}), /*#__PURE__*/_jsx("rect", {
|
|
58
|
+
x: "5.75",
|
|
59
|
+
y: "1.75",
|
|
60
|
+
width: "4.5",
|
|
61
|
+
height: "2.5",
|
|
62
|
+
rx: "0.75",
|
|
63
|
+
stroke: "#666",
|
|
64
|
+
strokeWidth: "1.3"
|
|
65
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
66
|
+
d: "M6 7.5h4M6 10h3",
|
|
67
|
+
stroke: "#666",
|
|
68
|
+
strokeWidth: "1.3",
|
|
69
|
+
strokeLinecap: "round"
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
var IconUpload = function IconUpload() {
|
|
74
|
+
return /*#__PURE__*/_jsxs("svg", {
|
|
75
|
+
width: "16",
|
|
76
|
+
height: "16",
|
|
77
|
+
viewBox: "0 0 16 16",
|
|
78
|
+
fill: "none",
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
81
|
+
d: "M8 10.5V3M8 3 5.5 5.5M8 3l2.5 2.5",
|
|
82
|
+
stroke: "#666",
|
|
83
|
+
strokeWidth: "1.3",
|
|
84
|
+
strokeLinecap: "round",
|
|
85
|
+
strokeLinejoin: "round"
|
|
86
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
87
|
+
d: "M3 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2",
|
|
88
|
+
stroke: "#666",
|
|
89
|
+
strokeWidth: "1.3",
|
|
90
|
+
strokeLinecap: "round"
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
export var ChatAIMySkills = function ChatAIMySkills(_ref) {
|
|
95
|
+
var _user$permissions;
|
|
96
|
+
var skills = _ref.skills,
|
|
97
|
+
_ref$loading = _ref.loading,
|
|
98
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
99
|
+
onDeleteSkill = _ref.onDeleteSkill;
|
|
100
|
+
var _useTranslation = useTranslation([SECTIONS.chatAI]),
|
|
101
|
+
t = _useTranslation.t;
|
|
102
|
+
var user = useUser();
|
|
103
|
+
var _useSnackBarManager = useSnackBarManager(),
|
|
104
|
+
handleSnackbarSuccess = _useSnackBarManager.handleSnackbarSuccess,
|
|
105
|
+
handleSnackbarError = _useSnackBarManager.handleSnackbarError;
|
|
106
|
+
var _useState = useState(null),
|
|
107
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
108
|
+
menuOpenForSkillId = _useState2[0],
|
|
109
|
+
setMenuOpenForSkillId = _useState2[1];
|
|
110
|
+
var _useState3 = useState(false),
|
|
111
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
112
|
+
createMenuOpen = _useState4[0],
|
|
113
|
+
setCreateMenuOpen = _useState4[1];
|
|
114
|
+
var _useState5 = useState(null),
|
|
115
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
116
|
+
skillToDelete = _useState6[0],
|
|
117
|
+
setSkillToDelete = _useState6[1];
|
|
118
|
+
var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
|
|
119
|
+
var canCreate = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
120
|
+
var canEdit = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.edit) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
121
|
+
var canDelete = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions["delete"]) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
122
|
+
var canShowMenu = canEdit || canDelete;
|
|
123
|
+
var openCreateSkillModal = useCallback(function () {
|
|
124
|
+
openSkillModal({
|
|
125
|
+
isEditing: false
|
|
126
|
+
});
|
|
127
|
+
}, []);
|
|
128
|
+
var handleCreateOption = useCallback(function (intent) {
|
|
129
|
+
setCreateMenuOpen(false);
|
|
130
|
+
if (intent === 'generate') {
|
|
131
|
+
// "Crear con Maia" abre el modal simple de descripción (no el editor).
|
|
132
|
+
document.dispatchEvent(new CustomEvent(SKILL_GENERATE_OPEN_EVENT));
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
openSkillModal({
|
|
136
|
+
isEditing: false,
|
|
137
|
+
intent: intent
|
|
138
|
+
});
|
|
139
|
+
}, []);
|
|
140
|
+
var handleOpenEditSkill = useCallback(function (skill) {
|
|
141
|
+
openSkillModal({
|
|
142
|
+
isEditing: true,
|
|
143
|
+
general: {
|
|
144
|
+
id: skill.id,
|
|
145
|
+
name: skill.name,
|
|
146
|
+
content: skill.content
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
setMenuOpenForSkillId(null);
|
|
150
|
+
}, []);
|
|
151
|
+
var getCreatedAtLabel = function getCreatedAtLabel(skill) {
|
|
152
|
+
var createdAt = skill.created_at;
|
|
153
|
+
if (!createdAt) return '';
|
|
154
|
+
var createdAtDate = new Date(createdAt);
|
|
155
|
+
if (Number.isNaN(createdAtDate.getTime())) return '';
|
|
156
|
+
var diffMs = Date.now() - createdAtDate.getTime();
|
|
157
|
+
var dayMs = 1000 * 60 * 60 * 24;
|
|
158
|
+
var days = Math.max(0, Math.floor(diffMs / dayMs));
|
|
159
|
+
if (days === 0) return t('marketplace.myAgentsToday');
|
|
160
|
+
if (days === 1) return t('marketplace.myAgentsOneDayAgo');
|
|
161
|
+
return t('marketplace.myAgentsDaysAgo', {
|
|
162
|
+
days: days
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
var deleteModalChat = useMemo(function () {
|
|
166
|
+
return skillToDelete ? {
|
|
167
|
+
title: skillToDelete.name,
|
|
168
|
+
id: skillToDelete.id
|
|
169
|
+
} : null;
|
|
170
|
+
}, [skillToDelete]);
|
|
171
|
+
var handleConfirmDelete = /*#__PURE__*/function () {
|
|
172
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(chat) {
|
|
173
|
+
var _t;
|
|
174
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
175
|
+
while (1) switch (_context.prev = _context.next) {
|
|
176
|
+
case 0:
|
|
177
|
+
_context.prev = 0;
|
|
178
|
+
_context.next = 1;
|
|
179
|
+
return deleteSkill(chat.id);
|
|
180
|
+
case 1:
|
|
181
|
+
handleSnackbarSuccess(t('mySkills.deleteSuccess'));
|
|
182
|
+
onDeleteSkill === null || onDeleteSkill === void 0 || onDeleteSkill(chat.id);
|
|
183
|
+
setSkillToDelete(null);
|
|
184
|
+
setMenuOpenForSkillId(null);
|
|
185
|
+
_context.next = 3;
|
|
186
|
+
break;
|
|
187
|
+
case 2:
|
|
188
|
+
_context.prev = 2;
|
|
189
|
+
_t = _context["catch"](0);
|
|
190
|
+
handleSnackbarError(t('mySkills.deleteError'));
|
|
191
|
+
case 3:
|
|
192
|
+
case "end":
|
|
193
|
+
return _context.stop();
|
|
194
|
+
}
|
|
195
|
+
}, _callee, null, [[0, 2]]);
|
|
196
|
+
}));
|
|
197
|
+
return function handleConfirmDelete(_x) {
|
|
198
|
+
return _ref2.apply(this, arguments);
|
|
199
|
+
};
|
|
200
|
+
}();
|
|
201
|
+
useEffect(function () {
|
|
202
|
+
var handleClickOutside = function handleClickOutside() {
|
|
203
|
+
if (menuOpenForSkillId) {
|
|
204
|
+
setMenuOpenForSkillId(null);
|
|
205
|
+
}
|
|
206
|
+
if (createMenuOpen) {
|
|
207
|
+
setCreateMenuOpen(false);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
document.addEventListener('click', handleClickOutside);
|
|
211
|
+
return function () {
|
|
212
|
+
document.removeEventListener('click', handleClickOutside);
|
|
213
|
+
};
|
|
214
|
+
}, [menuOpenForSkillId, createMenuOpen]);
|
|
215
|
+
return /*#__PURE__*/_jsxs(SCMSContainer, {
|
|
216
|
+
$hasSkills: !!skills.length,
|
|
217
|
+
children: [/*#__PURE__*/_jsx(MAIAIsologo, {}), /*#__PURE__*/_jsxs(SCMSBody, {
|
|
218
|
+
$canCreate: canCreate,
|
|
219
|
+
children: [skills.length ? /*#__PURE__*/_jsxs(SCMSTitleWrap, {
|
|
220
|
+
children: [/*#__PURE__*/_jsxs(SCMSTitleInner, {
|
|
221
|
+
children: [/*#__PURE__*/_jsx(SCMSTitle, {
|
|
222
|
+
children: t('mySkills.title')
|
|
223
|
+
}), /*#__PURE__*/_jsx(SCMSSubtitle, {
|
|
224
|
+
children: t('mySkills.subtitle')
|
|
225
|
+
})]
|
|
226
|
+
}), canCreate ? /*#__PURE__*/_jsx(SCMSActionsRow, {
|
|
227
|
+
children: /*#__PURE__*/_jsxs(SCMSCreateMenuWrap, {
|
|
228
|
+
children: [/*#__PURE__*/_jsx(SCMSCreateButton, {
|
|
229
|
+
type: "button",
|
|
230
|
+
onClick: function onClick(event) {
|
|
231
|
+
event.stopPropagation();
|
|
232
|
+
setCreateMenuOpen(function (prev) {
|
|
233
|
+
return !prev;
|
|
234
|
+
});
|
|
235
|
+
},
|
|
236
|
+
children: /*#__PURE__*/_jsx(SCMSCreateButtonText, {
|
|
237
|
+
children: t('mySkills.createSkill')
|
|
238
|
+
})
|
|
239
|
+
}), createMenuOpen ? /*#__PURE__*/_jsxs(SCMSCreateMenu, {
|
|
240
|
+
onClick: function onClick(event) {
|
|
241
|
+
return event.stopPropagation();
|
|
242
|
+
},
|
|
243
|
+
children: [/*#__PURE__*/_jsxs(SCMSCreateMenuItem, {
|
|
244
|
+
type: "button",
|
|
245
|
+
onClick: function onClick() {
|
|
246
|
+
return handleCreateOption('generate');
|
|
247
|
+
},
|
|
248
|
+
children: [/*#__PURE__*/_jsx(IconChat, {}), t('mySkills.createWithMaia')]
|
|
249
|
+
}), /*#__PURE__*/_jsxs(SCMSCreateMenuItem, {
|
|
250
|
+
type: "button",
|
|
251
|
+
onClick: function onClick() {
|
|
252
|
+
return handleCreateOption('write');
|
|
253
|
+
},
|
|
254
|
+
children: [/*#__PURE__*/_jsx(IconClipboard, {}), t('mySkills.writeInstructions')]
|
|
255
|
+
}), /*#__PURE__*/_jsxs(SCMSCreateMenuItem, {
|
|
256
|
+
type: "button",
|
|
257
|
+
onClick: function onClick() {
|
|
258
|
+
return handleCreateOption('upload');
|
|
259
|
+
},
|
|
260
|
+
children: [/*#__PURE__*/_jsx(IconUpload, {}), t('mySkills.uploadSkill')]
|
|
261
|
+
})]
|
|
262
|
+
}) : null]
|
|
263
|
+
})
|
|
264
|
+
}) : null]
|
|
265
|
+
}) : null, loading ? /*#__PURE__*/_jsx(SCMSLoadWrapper, {
|
|
266
|
+
children: /*#__PURE__*/_jsx(Loader, {
|
|
267
|
+
size: "small"
|
|
268
|
+
})
|
|
269
|
+
}) : null, !loading && skills.length ? /*#__PURE__*/_jsx(SCMSCardsOuter, {
|
|
270
|
+
children: /*#__PURE__*/_jsx(SCMSCardsRow, {
|
|
271
|
+
children: skills.map(function (skill) {
|
|
272
|
+
return /*#__PURE__*/_jsxs(SCMSCardButton, {
|
|
273
|
+
type: "button",
|
|
274
|
+
onClick: function onClick() {
|
|
275
|
+
return canEdit && handleOpenEditSkill(skill);
|
|
276
|
+
},
|
|
277
|
+
children: [/*#__PURE__*/_jsx(SCMSCardHeader, {
|
|
278
|
+
children: /*#__PURE__*/_jsxs(SCMSCardTopRow, {
|
|
279
|
+
children: [/*#__PURE__*/_jsx(SCMSCardTitleName, {
|
|
280
|
+
children: skill.name
|
|
281
|
+
}), canShowMenu ? /*#__PURE__*/_jsx(SCMSKebabButton, {
|
|
282
|
+
type: "button",
|
|
283
|
+
"aria-label": t('mySkills.cardMenuAriaLabel'),
|
|
284
|
+
onClick: function onClick(event) {
|
|
285
|
+
event.preventDefault();
|
|
286
|
+
event.stopPropagation();
|
|
287
|
+
setMenuOpenForSkillId(function (prev) {
|
|
288
|
+
return prev === skill.id ? null : skill.id;
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
children: /*#__PURE__*/_jsx(MenuDots, {
|
|
292
|
+
color: "#999",
|
|
293
|
+
width: 15,
|
|
294
|
+
height: 15
|
|
295
|
+
})
|
|
296
|
+
}) : null]
|
|
297
|
+
})
|
|
298
|
+
}), /*#__PURE__*/_jsxs(SCMSCardBody, {
|
|
299
|
+
children: [/*#__PURE__*/_jsx(SCMSCardContentText, {
|
|
300
|
+
children: skill.content
|
|
301
|
+
}), /*#__PURE__*/_jsx(SCMSCardFooter, {
|
|
302
|
+
children: /*#__PURE__*/_jsx(SCMSCardFooterDate, {
|
|
303
|
+
children: getCreatedAtLabel(skill) || t('marketplace.myAgentsFallbackDate')
|
|
304
|
+
})
|
|
305
|
+
})]
|
|
306
|
+
}), menuOpenForSkillId === skill.id && canShowMenu ? /*#__PURE__*/_jsx(SCMSCardMenu, {
|
|
307
|
+
onClick: function onClick(event) {
|
|
308
|
+
event.preventDefault();
|
|
309
|
+
event.stopPropagation();
|
|
310
|
+
},
|
|
311
|
+
children: /*#__PURE__*/_jsxs(SCMSCardMenuItems, {
|
|
312
|
+
children: [canEdit ? /*#__PURE__*/_jsx(SCMSCardMenuItem, {
|
|
313
|
+
type: "button",
|
|
314
|
+
onClick: function onClick() {
|
|
315
|
+
return handleOpenEditSkill(skill);
|
|
316
|
+
},
|
|
317
|
+
children: t('mySkills.edit')
|
|
318
|
+
}) : null, canDelete ? /*#__PURE__*/_jsx(SCMSCardMenuItem, {
|
|
319
|
+
type: "button",
|
|
320
|
+
onClick: function onClick() {
|
|
321
|
+
return setSkillToDelete(skill);
|
|
322
|
+
},
|
|
323
|
+
children: t('mySkills.delete')
|
|
324
|
+
}) : null]
|
|
325
|
+
})
|
|
326
|
+
}) : null]
|
|
327
|
+
}, skill.id);
|
|
328
|
+
})
|
|
329
|
+
})
|
|
330
|
+
}) : null, !loading && !skills.length ? /*#__PURE__*/_jsxs(SCMSEmptyStateRoot, {
|
|
331
|
+
children: [/*#__PURE__*/_jsx(SCMSEmptyStateColumn, {
|
|
332
|
+
children: /*#__PURE__*/_jsxs(SCMSEmptyStateTitleBlock, {
|
|
333
|
+
children: [/*#__PURE__*/_jsx(SCMSEmptyStateTitle, {
|
|
334
|
+
children: t('mySkills.emptyStateTitle')
|
|
335
|
+
}), /*#__PURE__*/_jsx(SCMSEmptyStateSubtitle, {
|
|
336
|
+
children: canCreate ? t('mySkills.emptyStateDescription') : t('mySkills.emptyStateDescriptionNoPerm')
|
|
337
|
+
})]
|
|
338
|
+
})
|
|
339
|
+
}), canCreate ? /*#__PURE__*/_jsx(SCMSEmptyStateButton, {
|
|
340
|
+
type: "button",
|
|
341
|
+
onClick: openCreateSkillModal,
|
|
342
|
+
children: t('mySkills.emptyStateButton')
|
|
343
|
+
}) : null]
|
|
344
|
+
}) : null]
|
|
345
|
+
}), deleteModalChat ? /*#__PURE__*/_jsx(DeleteQuestionModal, {
|
|
346
|
+
onClose: function onClose() {
|
|
347
|
+
return setSkillToDelete(null);
|
|
348
|
+
},
|
|
349
|
+
handlers: {
|
|
350
|
+
handleConfirmAction: handleConfirmDelete
|
|
351
|
+
},
|
|
352
|
+
chat: deleteModalChat,
|
|
353
|
+
action: "skill"
|
|
354
|
+
}) : null]
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiTWVudURvdHMiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZVVzZXIiLCJkZWxldGVTa2lsbCIsInVzZVNuYWNrQmFyTWFuYWdlciIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5UIiwiU0VDVElPTlMiLCJMb2FkZXIiLCJTQ01TQm9keSIsIlNDTVNDYXJkQm9keSIsIlNDTVNDYXJkQnV0dG9uIiwiU0NNU0NhcmRDb250ZW50VGV4dCIsIlNDTVNDYXJkRm9vdGVyIiwiU0NNU0NhcmRGb290ZXJEYXRlIiwiU0NNU0NhcmRIZWFkZXIiLCJTQ01TQ2FyZE1lbnUiLCJTQ01TQ2FyZE1lbnVJdGVtIiwiU0NNU0NhcmRNZW51SXRlbXMiLCJTQ01TQ2FyZFRpdGxlTmFtZSIsIlNDTVNDYXJkVG9wUm93IiwiU0NNU0NhcmRzT3V0ZXIiLCJTQ01TQ2FyZHNSb3ciLCJTQ01TQ29udGFpbmVyIiwiU0NNU0NyZWF0ZUJ1dHRvbiIsIlNDTVNDcmVhdGVCdXR0b25UZXh0IiwiU0NNU0NyZWF0ZU1lbnUiLCJTQ01TQ3JlYXRlTWVudUl0ZW0iLCJTQ01TQ3JlYXRlTWVudVdyYXAiLCJTQ01TRW1wdHlTdGF0ZUJ1dHRvbiIsIlNDTVNFbXB0eVN0YXRlQ29sdW1uIiwiU0NNU0VtcHR5U3RhdGVSb290IiwiU0NNU0VtcHR5U3RhdGVTdWJ0aXRsZSIsIlNDTVNFbXB0eVN0YXRlVGl0bGUiLCJTQ01TRW1wdHlTdGF0ZVRpdGxlQmxvY2siLCJTQ01TS2ViYWJCdXR0b24iLCJTQ01TTG9hZFdyYXBwZXIiLCJTQ01TVGl0bGUiLCJTQ01TU3VidGl0bGUiLCJTQ01TQWN0aW9uc1JvdyIsIlNDTVNUaXRsZUlubmVyIiwiU0NNU1RpdGxlV3JhcCIsIk1BSUFJc29sb2dvIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm9wZW5Ta2lsbE1vZGFsIiwidmFsdWVzIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJza2lsbFZhbHVlcyIsImlzT3BlbiIsIkljb25DaGF0Iiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsImNoaWxkcmVuIiwiZCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWpvaW4iLCJJY29uQ2xpcGJvYXJkIiwieCIsInkiLCJyeCIsInN0cm9rZUxpbmVjYXAiLCJJY29uVXBsb2FkIiwiQ2hhdEFJTXlTa2lsbHMiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJza2lsbHMiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwib25EZWxldGVTa2lsbCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJ1c2VyIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyU3VjY2VzcyIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJtZW51T3BlbkZvclNraWxsSWQiLCJzZXRNZW51T3BlbkZvclNraWxsSWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNyZWF0ZU1lbnVPcGVuIiwic2V0Q3JlYXRlTWVudU9wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNraWxsVG9EZWxldGUiLCJzZXRTa2lsbFRvRGVsZXRlIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGUiLCJjcmVhdGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY2FuRWRpdCIsImVkaXQiLCJjYW5EZWxldGUiLCJjYW5TaG93TWVudSIsIm9wZW5DcmVhdGVTa2lsbE1vZGFsIiwiaXNFZGl0aW5nIiwiaGFuZGxlQ3JlYXRlT3B0aW9uIiwiaW50ZW50IiwiaGFuZGxlT3BlbkVkaXRTa2lsbCIsInNraWxsIiwiZ2VuZXJhbCIsImlkIiwibmFtZSIsImNvbnRlbnQiLCJnZXRDcmVhdGVkQXRMYWJlbCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJjcmVhdGVkQXREYXRlIiwiRGF0ZSIsIk51bWJlciIsImlzTmFOIiwiZ2V0VGltZSIsImRpZmZNcyIsIm5vdyIsImRheU1zIiwiZGF5cyIsIk1hdGgiLCJtYXgiLCJmbG9vciIsImRlbGV0ZU1vZGFsQ2hhdCIsInRpdGxlIiwiaGFuZGxlQ29uZmlybURlbGV0ZSIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJjaGF0IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCIkaGFzU2tpbGxzIiwibGVuZ3RoIiwiJGNhbkNyZWF0ZSIsInR5cGUiLCJvbkNsaWNrIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJzaXplIiwibWFwIiwicHJldmVudERlZmF1bHQiLCJjb2xvciIsIm9uQ2xvc2UiLCJoYW5kbGVycyIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJhY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTXlTa2lsbHMvQ2hhdEFJTXlTa2lsbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTWVudURvdHMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9NZW51RG90cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgU2tpbGwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcbmltcG9ydCB7IGRlbGV0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvZGVsZXRlU2tpbGwnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9EZWxldGVRdWVzdGlvbk1vZGFsL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5UIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0FibVNraWxsR2VuZXJhdGVNb2RhbC9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQge1xuICBTQ01TQm9keSxcbiAgU0NNU0NhcmRCb2R5LFxuICBTQ01TQ2FyZEJ1dHRvbixcbiAgU0NNU0NhcmRDb250ZW50VGV4dCxcbiAgU0NNU0NhcmRGb290ZXIsXG4gIFNDTVNDYXJkRm9vdGVyRGF0ZSxcbiAgU0NNU0NhcmRIZWFkZXIsXG4gIFNDTVNDYXJkTWVudSxcbiAgU0NNU0NhcmRNZW51SXRlbSxcbiAgU0NNU0NhcmRNZW51SXRlbXMsXG4gIFNDTVNDYXJkVGl0bGVOYW1lLFxuICBTQ01TQ2FyZFRvcFJvdyxcbiAgU0NNU0NhcmRzT3V0ZXIsXG4gIFNDTVNDYXJkc1JvdyxcbiAgU0NNU0NvbnRhaW5lcixcbiAgU0NNU0NyZWF0ZUJ1dHRvbixcbiAgU0NNU0NyZWF0ZUJ1dHRvblRleHQsXG4gIFNDTVNDcmVhdGVNZW51LFxuICBTQ01TQ3JlYXRlTWVudUl0ZW0sXG4gIFNDTVNDcmVhdGVNZW51V3JhcCxcbiAgU0NNU0VtcHR5U3RhdGVCdXR0b24sXG4gIFNDTVNFbXB0eVN0YXRlQ29sdW1uLFxuICBTQ01TRW1wdHlTdGF0ZVJvb3QsXG4gIFNDTVNFbXB0eVN0YXRlU3VidGl0bGUsXG4gIFNDTVNFbXB0eVN0YXRlVGl0bGUsXG4gIFNDTVNFbXB0eVN0YXRlVGl0bGVCbG9jayxcbiAgU0NNU0tlYmFiQnV0dG9uLFxuICBTQ01TTG9hZFdyYXBwZXIsXG4gIFNDTVNUaXRsZSxcbiAgU0NNU1N1YnRpdGxlLFxuICBTQ01TQWN0aW9uc1JvdyxcbiAgU0NNU1RpdGxlSW5uZXIsXG4gIFNDTVNUaXRsZVdyYXAsXG59IGZyb20gJy4vQ2hhdEFJTXlTa2lsbHMuc3R5bGVzJ1xuaW1wb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcblxudHlwZSBDaGF0QUlNeVNraWxsc1Byb3BzID0ge1xuICBza2lsbHM6IFNraWxsW11cbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgb25EZWxldGVTa2lsbD86IChza2lsbElkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxudHlwZSBTa2lsbE1vZGFsSW50ZW50ID0gJ2dlbmVyYXRlJyB8ICd3cml0ZScgfCAndXBsb2FkJ1xuXG5jb25zdCBvcGVuU2tpbGxNb2RhbCA9ICh2YWx1ZXM6IHtcbiAgaXNFZGl0aW5nOiBib29sZWFuXG4gIGludGVudD86IFNraWxsTW9kYWxJbnRlbnRcbiAgZ2VuZXJhbD86IHsgaWQ/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGNvbnRlbnQ/OiBzdHJpbmcgfVxufSkgPT4ge1xuICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLXNraWxsLW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgc2tpbGxWYWx1ZXM6IHtcbiAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuICApXG59XG5cbmNvbnN0IEljb25DaGF0ID0gKCkgPT4gKFxuICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTE0IDcuNWE1LjUgNS41IDAgMCAxLTcuOSA0Ljk2TDIuNSAxMy41bDEuMDQtMy4xQTUuNSA1LjUgMCAxIDEgMTQgNy41WlwiXG4gICAgICBzdHJva2U9XCIjNjY2XCJcbiAgICAgIHN0cm9rZVdpZHRoPVwiMS4zXCJcbiAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKVxuXG5jb25zdCBJY29uQ2xpcGJvYXJkID0gKCkgPT4gKFxuICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxyZWN0IHg9XCIzLjVcIiB5PVwiM1wiIHdpZHRoPVwiOVwiIGhlaWdodD1cIjExXCIgcng9XCIxLjVcIiBzdHJva2U9XCIjNjY2XCIgc3Ryb2tlV2lkdGg9XCIxLjNcIiAvPlxuICAgIDxyZWN0IHg9XCI1Ljc1XCIgeT1cIjEuNzVcIiB3aWR0aD1cIjQuNVwiIGhlaWdodD1cIjIuNVwiIHJ4PVwiMC43NVwiIHN0cm9rZT1cIiM2NjZcIiBzdHJva2VXaWR0aD1cIjEuM1wiIC8+XG4gICAgPHBhdGggZD1cIk02IDcuNWg0TTYgMTBoM1wiIHN0cm9rZT1cIiM2NjZcIiBzdHJva2VXaWR0aD1cIjEuM1wiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIC8+XG4gIDwvc3ZnPlxuKVxuXG5jb25zdCBJY29uVXBsb2FkID0gKCkgPT4gKFxuICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTggMTAuNVYzTTggMyA1LjUgNS41TTggM2wyLjUgMi41XCJcbiAgICAgIHN0cm9rZT1cIiM2NjZcIlxuICAgICAgc3Ryb2tlV2lkdGg9XCIxLjNcIlxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgIC8+XG4gICAgPHBhdGggZD1cIk0zIDEwdjJhMSAxIDAgMCAwIDEgMWg4YTEgMSAwIDAgMCAxLTF2LTJcIiBzdHJva2U9XCIjNjY2XCIgc3Ryb2tlV2lkdGg9XCIxLjNcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIiAvPlxuICA8L3N2Zz5cbilcblxuZXhwb3J0IGNvbnN0IENoYXRBSU15U2tpbGxzID0gKHsgc2tpbGxzLCBsb2FkaW5nID0gZmFsc2UsIG9uRGVsZXRlU2tpbGwgfTogQ2hhdEFJTXlTa2lsbHNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBbbWVudU9wZW5Gb3JTa2lsbElkLCBzZXRNZW51T3BlbkZvclNraWxsSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2NyZWF0ZU1lbnVPcGVuLCBzZXRDcmVhdGVNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NraWxsVG9EZWxldGUsIHNldFNraWxsVG9EZWxldGVdID0gdXNlU3RhdGU8U2tpbGwgfCBudWxsPihudWxsKVxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZSA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5FZGl0ID0gISF1c2VyUGVybWlzc2lvbnM/LmVkaXQgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5EZWxldGUgPSAhIXVzZXJQZXJtaXNzaW9ucz8uZGVsZXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3QgY2FuU2hvd01lbnUgPSBjYW5FZGl0IHx8IGNhbkRlbGV0ZVxuXG4gIGNvbnN0IG9wZW5DcmVhdGVTa2lsbE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9wZW5Ta2lsbE1vZGFsKHsgaXNFZGl0aW5nOiBmYWxzZSB9KVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVDcmVhdGVPcHRpb24gPSB1c2VDYWxsYmFjaygoaW50ZW50OiBTa2lsbE1vZGFsSW50ZW50KSA9PiB7XG4gICAgc2V0Q3JlYXRlTWVudU9wZW4oZmFsc2UpXG4gICAgaWYgKGludGVudCA9PT0gJ2dlbmVyYXRlJykge1xuICAgICAgLy8gXCJDcmVhciBjb24gTWFpYVwiIGFicmUgZWwgbW9kYWwgc2ltcGxlIGRlIGRlc2NyaXBjacOzbiAobm8gZWwgZWRpdG9yKS5cbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFNLSUxMX0dFTkVSQVRFX09QRU5fRVZFTlQpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIG9wZW5Ta2lsbE1vZGFsKHsgaXNFZGl0aW5nOiBmYWxzZSwgaW50ZW50IH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5FZGl0U2tpbGwgPSB1c2VDYWxsYmFjaygoc2tpbGw6IFNraWxsKSA9PiB7XG4gICAgb3BlblNraWxsTW9kYWwoe1xuICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgZ2VuZXJhbDogeyBpZDogc2tpbGwuaWQsIG5hbWU6IHNraWxsLm5hbWUsIGNvbnRlbnQ6IHNraWxsLmNvbnRlbnQgfSxcbiAgICB9KVxuICAgIHNldE1lbnVPcGVuRm9yU2tpbGxJZChudWxsKVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRDcmVhdGVkQXRMYWJlbCA9IChza2lsbDogU2tpbGwpID0+IHtcbiAgICBjb25zdCB7IGNyZWF0ZWRfYXQ6IGNyZWF0ZWRBdCB9ID0gc2tpbGxcbiAgICBpZiAoIWNyZWF0ZWRBdCkgcmV0dXJuICcnXG5cbiAgICBjb25zdCBjcmVhdGVkQXREYXRlID0gbmV3IERhdGUoY3JlYXRlZEF0KVxuICAgIGlmIChOdW1iZXIuaXNOYU4oY3JlYXRlZEF0RGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gJydcblxuICAgIGNvbnN0IGRpZmZNcyA9IERhdGUubm93KCkgLSBjcmVhdGVkQXREYXRlLmdldFRpbWUoKVxuICAgIGNvbnN0IGRheU1zID0gMTAwMCAqIDYwICogNjAgKiAyNFxuICAgIGNvbnN0IGRheXMgPSBNYXRoLm1heCgwLCBNYXRoLmZsb29yKGRpZmZNcyAvIGRheU1zKSlcblxuICAgIGlmIChkYXlzID09PSAwKSByZXR1cm4gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUb2RheScpXG4gICAgaWYgKGRheXMgPT09IDEpIHJldHVybiB0KCdtYXJrZXRwbGFjZS5teUFnZW50c09uZURheUFnbycpXG4gICAgcmV0dXJuIHQoJ21hcmtldHBsYWNlLm15QWdlbnRzRGF5c0FnbycsIHsgZGF5cyB9KVxuICB9XG5cbiAgY29uc3QgZGVsZXRlTW9kYWxDaGF0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoc2tpbGxUb0RlbGV0ZSA/IHsgdGl0bGU6IHNraWxsVG9EZWxldGUubmFtZSwgaWQ6IHNraWxsVG9EZWxldGUuaWQgfSA6IG51bGwpLFxuICAgIFtza2lsbFRvRGVsZXRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ29uZmlybURlbGV0ZSA9IGFzeW5jIChjaGF0OiB7IGlkOiBzdHJpbmcgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkZWxldGVTa2lsbChjaGF0LmlkKVxuICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ215U2tpbGxzLmRlbGV0ZVN1Y2Nlc3MnKSlcbiAgICAgIG9uRGVsZXRlU2tpbGw/LihjaGF0LmlkKVxuICAgICAgc2V0U2tpbGxUb0RlbGV0ZShudWxsKVxuICAgICAgc2V0TWVudU9wZW5Gb3JTa2lsbElkKG51bGwpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMuZGVsZXRlRXJyb3InKSlcbiAgICB9XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9ICgpID0+IHtcbiAgICAgIGlmIChtZW51T3BlbkZvclNraWxsSWQpIHtcbiAgICAgICAgc2V0TWVudU9wZW5Gb3JTa2lsbElkKG51bGwpXG4gICAgICB9XG4gICAgICBpZiAoY3JlYXRlTWVudU9wZW4pIHtcbiAgICAgICAgc2V0Q3JlYXRlTWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW21lbnVPcGVuRm9yU2tpbGxJZCwgY3JlYXRlTWVudU9wZW5dKVxuXG4gIHJldHVybiAoXG4gICAgPFNDTVNDb250YWluZXIgJGhhc1NraWxscz17ISFza2lsbHMubGVuZ3RofT5cbiAgICAgIDxNQUlBSXNvbG9nbyAvPlxuXG4gICAgICA8U0NNU0JvZHkgJGNhbkNyZWF0ZT17Y2FuQ3JlYXRlfT5cbiAgICAgICAge3NraWxscy5sZW5ndGggPyAoXG4gICAgICAgICAgPFNDTVNUaXRsZVdyYXA+XG4gICAgICAgICAgICA8U0NNU1RpdGxlSW5uZXI+XG4gICAgICAgICAgICAgIDxTQ01TVGl0bGU+e3QoJ215U2tpbGxzLnRpdGxlJyl9PC9TQ01TVGl0bGU+XG4gICAgICAgICAgICAgIDxTQ01TU3VidGl0bGU+e3QoJ215U2tpbGxzLnN1YnRpdGxlJyl9PC9TQ01TU3VidGl0bGU+XG4gICAgICAgICAgICA8L1NDTVNUaXRsZUlubmVyPlxuICAgICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgICAgPFNDTVNBY3Rpb25zUm93PlxuICAgICAgICAgICAgICAgIDxTQ01TQ3JlYXRlTWVudVdyYXA+XG4gICAgICAgICAgICAgICAgICA8U0NNU0NyZWF0ZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgICAgc2V0Q3JlYXRlTWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFNDTVNDcmVhdGVCdXR0b25UZXh0Pnt0KCdteVNraWxscy5jcmVhdGVTa2lsbCcpfTwvU0NNU0NyZWF0ZUJ1dHRvblRleHQ+XG4gICAgICAgICAgICAgICAgICA8L1NDTVNDcmVhdGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICB7Y3JlYXRlTWVudU9wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ01TQ3JlYXRlTWVudSBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX0+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTVNDcmVhdGVNZW51SXRlbSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gaGFuZGxlQ3JlYXRlT3B0aW9uKCdnZW5lcmF0ZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQ2hhdCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLmNyZWF0ZVdpdGhNYWlhJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ01TQ3JlYXRlTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTVNDcmVhdGVNZW51SXRlbSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gaGFuZGxlQ3JlYXRlT3B0aW9uKCd3cml0ZScpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQ2xpcGJvYXJkIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMud3JpdGVJbnN0cnVjdGlvbnMnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDcmVhdGVNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNU0NyZWF0ZU1lbnVJdGVtIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDcmVhdGVPcHRpb24oJ3VwbG9hZCcpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uVXBsb2FkIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMudXBsb2FkU2tpbGwnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDcmVhdGVNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ01TQ3JlYXRlTWVudT5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NNU0NyZWF0ZU1lbnVXcmFwPlxuICAgICAgICAgICAgICA8L1NDTVNBY3Rpb25zUm93PlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9TQ01TVGl0bGVXcmFwPlxuICAgICAgICApIDogbnVsbH1cblxuICAgICAgICB7bG9hZGluZyA/IChcbiAgICAgICAgICA8U0NNU0xvYWRXcmFwcGVyPlxuICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgIDwvU0NNU0xvYWRXcmFwcGVyPlxuICAgICAgICApIDogbnVsbH1cblxuICAgICAgICB7IWxvYWRpbmcgJiYgc2tpbGxzLmxlbmd0aCA/IChcbiAgICAgICAgICA8U0NNU0NhcmRzT3V0ZXI+XG4gICAgICAgICAgICA8U0NNU0NhcmRzUm93PlxuICAgICAgICAgICAgICB7c2tpbGxzLm1hcChza2lsbCA9PiAoXG4gICAgICAgICAgICAgICAgPFNDTVNDYXJkQnV0dG9uIGtleT17c2tpbGwuaWR9IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBjYW5FZGl0ICYmIGhhbmRsZU9wZW5FZGl0U2tpbGwoc2tpbGwpfT5cbiAgICAgICAgICAgICAgICAgIDxTQ01TQ2FyZEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPFNDTVNDYXJkVG9wUm93PlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ01TQ2FyZFRpdGxlTmFtZT57c2tpbGwubmFtZX08L1NDTVNDYXJkVGl0bGVOYW1lPlxuICAgICAgICAgICAgICAgICAgICAgIHtjYW5TaG93TWVudSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01TS2ViYWJCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ215U2tpbGxzLmNhcmRNZW51QXJpYUxhYmVsJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNZW51T3BlbkZvclNraWxsSWQocHJldiA9PiAocHJldiA9PT0gc2tpbGwuaWQgPyBudWxsIDogc2tpbGwuaWQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TWVudURvdHMgY29sb3I9XCIjOTk5XCIgd2lkdGg9ezE1fSBoZWlnaHQ9ezE1fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ01TS2ViYWJCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNU0NhcmRUb3BSb3c+XG4gICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkSGVhZGVyPlxuICAgICAgICAgICAgICAgICAgPFNDTVNDYXJkQm9keT5cbiAgICAgICAgICAgICAgICAgICAgPFNDTVNDYXJkQ29udGVudFRleHQ+e3NraWxsLmNvbnRlbnR9PC9TQ01TQ2FyZENvbnRlbnRUZXh0PlxuICAgICAgICAgICAgICAgICAgICA8U0NNU0NhcmRGb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDTVNDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtnZXRDcmVhdGVkQXRMYWJlbChza2lsbCkgfHwgdCgnbWFya2V0cGxhY2UubXlBZ2VudHNGYWxsYmFja0RhdGUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkRm9vdGVyRGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ01TQ2FyZEZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgIDwvU0NNU0NhcmRCb2R5PlxuICAgICAgICAgICAgICAgICAge21lbnVPcGVuRm9yU2tpbGxJZCA9PT0gc2tpbGwuaWQgJiYgY2FuU2hvd01lbnUgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ01TQ2FyZE1lbnVcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NNU0NhcmRNZW51SXRlbXM+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2FuRWRpdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDTVNDYXJkTWVudUl0ZW0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZU9wZW5FZGl0U2tpbGwoc2tpbGwpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dCgnbXlTa2lsbHMuZWRpdCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5EZWxldGUgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ01TQ2FyZE1lbnVJdGVtIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBzZXRTa2lsbFRvRGVsZXRlKHNraWxsKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLmRlbGV0ZScpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkTWVudUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTVNDYXJkTWVudT5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NNU0NhcmRCdXR0b24+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9TQ01TQ2FyZHNSb3c+XG4gICAgICAgICAgPC9TQ01TQ2FyZHNPdXRlcj5cbiAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgeyFsb2FkaW5nICYmICFza2lsbHMubGVuZ3RoID8gKFxuICAgICAgICAgIDxTQ01TRW1wdHlTdGF0ZVJvb3Q+XG4gICAgICAgICAgICA8U0NNU0VtcHR5U3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgIDxTQ01TRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICAgICAgPFNDTVNFbXB0eVN0YXRlVGl0bGU+e3QoJ215U2tpbGxzLmVtcHR5U3RhdGVUaXRsZScpfTwvU0NNU0VtcHR5U3RhdGVUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NNU0VtcHR5U3RhdGVTdWJ0aXRsZT5cbiAgICAgICAgICAgICAgICAgIHtjYW5DcmVhdGUgPyB0KCdteVNraWxscy5lbXB0eVN0YXRlRGVzY3JpcHRpb24nKSA6IHQoJ215U2tpbGxzLmVtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybScpfVxuICAgICAgICAgICAgICAgIDwvU0NNU0VtcHR5U3RhdGVTdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9TQ01TRW1wdHlTdGF0ZVRpdGxlQmxvY2s+XG4gICAgICAgICAgICA8L1NDTVNFbXB0eVN0YXRlQ29sdW1uPlxuICAgICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgICAgPFNDTVNFbXB0eVN0YXRlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuQ3JlYXRlU2tpbGxNb2RhbH0+XG4gICAgICAgICAgICAgICAge3QoJ215U2tpbGxzLmVtcHR5U3RhdGVCdXR0b24nKX1cbiAgICAgICAgICAgICAgPC9TQ01TRW1wdHlTdGF0ZUJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU0NNU0VtcHR5U3RhdGVSb290PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NNU0JvZHk+XG4gICAgICB7ZGVsZXRlTW9kYWxDaGF0ID8gKFxuICAgICAgICA8RGVsZXRlUXVlc3Rpb25Nb2RhbFxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNraWxsVG9EZWxldGUobnVsbCl9XG4gICAgICAgICAgaGFuZGxlcnM9e3tcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb246IGhhbmRsZUNvbmZpcm1EZWxldGUsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjaGF0PXtkZWxldGVNb2RhbENoYXR9XG4gICAgICAgICAgYWN0aW9uPVwic2tpbGxcIlxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TQ01TQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDeEUsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxPQUFPLFFBQVEsMkJBQTJCO0FBRW5ELFNBQVNDLFdBQVcsUUFBUSwyQ0FBMkM7QUFDdkUsU0FBU0Msa0JBQWtCLFFBQVEsc0RBQXNEO0FBQ3pGLFNBQVNDLG1CQUFtQixRQUFRLHlEQUF5RDtBQUM3RixTQUFTQyx5QkFBeUIsUUFBUSw2REFBNkQ7QUFDdkcsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQ0VDLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMsY0FBYyxFQUNkQyxrQkFBa0IsRUFDbEJDLGNBQWMsRUFDZEMsWUFBWSxFQUNaQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixFQUNqQkMsaUJBQWlCLEVBQ2pCQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMs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
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export var SCMSContainer = styled.div.withConfig({
|
|
3
|
+
displayName: "ChatAIMySkillsstyles__SCMSContainer",
|
|
4
|
+
componentId: "sc-1qxrs1g-0"
|
|
5
|
+
})(["display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;padding:12px 0 24px;height:100%;overflow-y:auto;overscroll-behavior-y:contain;justify-content:", ";"], function (props) {
|
|
6
|
+
return props.$hasSkills ? 'flex-start' : 'center';
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
/** Ancho máximo ≈ 3 cards (216px) + gaps (8px) + padding horizontal del contenedor de cards */
|
|
10
|
+
var MY_SKILLS_GRID_MAX_WIDTH_PX = 696;
|
|
11
|
+
export var SCMSBody = styled.div.withConfig({
|
|
12
|
+
displayName: "ChatAIMySkillsstyles__SCMSBody",
|
|
13
|
+
componentId: "sc-1qxrs1g-1"
|
|
14
|
+
})(["display:flex;flex-direction:column;align-items:center;gap:", "px;width:100%;max-width:min(100%,", "px);min-height:417px;"], function (props) {
|
|
15
|
+
return props.$canCreate ? 8 : 24;
|
|
16
|
+
}, MY_SKILLS_GRID_MAX_WIDTH_PX);
|
|
17
|
+
export var SCMSTitleWrap = styled.div.withConfig({
|
|
18
|
+
displayName: "ChatAIMySkillsstyles__SCMSTitleWrap",
|
|
19
|
+
componentId: "sc-1qxrs1g-2"
|
|
20
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 16px;align-self:stretch;"]);
|
|
21
|
+
export var SCMSActionsRow = styled.div.withConfig({
|
|
22
|
+
displayName: "ChatAIMySkillsstyles__SCMSActionsRow",
|
|
23
|
+
componentId: "sc-1qxrs1g-3"
|
|
24
|
+
})(["display:flex;align-items:center;align-self:flex-end;"]);
|
|
25
|
+
export var SCMSTitleInner = styled.div.withConfig({
|
|
26
|
+
displayName: "ChatAIMySkillsstyles__SCMSTitleInner",
|
|
27
|
+
componentId: "sc-1qxrs1g-4"
|
|
28
|
+
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;align-self:stretch;"]);
|
|
29
|
+
export var SCMSTitle = styled.h2.withConfig({
|
|
30
|
+
displayName: "ChatAIMySkillsstyles__SCMSTitle",
|
|
31
|
+
componentId: "sc-1qxrs1g-5"
|
|
32
|
+
})(["width:100%;max-width:374px;margin:0;color:#20201f;text-align:center;font-family:'Work Sans',sans-serif;font-size:20px;font-weight:500;line-height:122%;letter-spacing:-0.2px;"]);
|
|
33
|
+
export var SCMSSubtitle = styled.p.withConfig({
|
|
34
|
+
displayName: "ChatAIMySkillsstyles__SCMSSubtitle",
|
|
35
|
+
componentId: "sc-1qxrs1g-6"
|
|
36
|
+
})(["width:100%;max-width:460px;margin:0;color:#666;text-align:center;font-family:'Work Sans',sans-serif;font-size:13px;font-weight:400;line-height:140%;"]);
|
|
37
|
+
export var SCMSCreateButton = styled.button.withConfig({
|
|
38
|
+
displayName: "ChatAIMySkillsstyles__SCMSCreateButton",
|
|
39
|
+
componentId: "sc-1qxrs1g-7"
|
|
40
|
+
})(["display:flex;min-width:64px;padding:7px 12px;justify-content:flex-end;align-items:center;align-self:stretch;border-radius:4px;border:none;background:transparent;color:#666;cursor:pointer;&:hover span{background:var(--Gradiente-1,linear-gradient(0deg,#4d3569 0%,#2d77bd 100%));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}"]);
|
|
41
|
+
export var SCMSCreateButtonText = styled.span.withConfig({
|
|
42
|
+
displayName: "ChatAIMySkillsstyles__SCMSCreateButtonText",
|
|
43
|
+
componentId: "sc-1qxrs1g-8"
|
|
44
|
+
})(["text-align:center;font-family:'Work Sans',sans-serif;font-size:12px;font-weight:400;line-height:14px;color:#666;transition:color 160ms ease;"]);
|
|
45
|
+
export var SCMSCreateMenuWrap = styled.div.withConfig({
|
|
46
|
+
displayName: "ChatAIMySkillsstyles__SCMSCreateMenuWrap",
|
|
47
|
+
componentId: "sc-1qxrs1g-9"
|
|
48
|
+
})(["position:relative;display:inline-flex;"]);
|
|
49
|
+
export var SCMSCreateMenu = styled.div.withConfig({
|
|
50
|
+
displayName: "ChatAIMySkillsstyles__SCMSCreateMenu",
|
|
51
|
+
componentId: "sc-1qxrs1g-10"
|
|
52
|
+
})(["position:absolute;right:0;top:calc(100% + 6px);display:flex;flex-direction:column;min-width:220px;padding:6px;border-radius:10px;background:#fff;box-shadow:0 6px 20px 0 rgba(32,32,31,0.16);border:1px solid #ededed;z-index:5;"]);
|
|
53
|
+
export var SCMSCreateMenuItem = styled.button.withConfig({
|
|
54
|
+
displayName: "ChatAIMySkillsstyles__SCMSCreateMenuItem",
|
|
55
|
+
componentId: "sc-1qxrs1g-11"
|
|
56
|
+
})(["display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;color:#20201f;font-family:'Work Sans',sans-serif;font-size:13px;font-weight:400;line-height:130%;svg{flex-shrink:0;}&:hover{background:#f5f5f5;}"]);
|
|
57
|
+
export var SCMSCardsOuter = styled.div.withConfig({
|
|
58
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardsOuter",
|
|
59
|
+
componentId: "sc-1qxrs1g-12"
|
|
60
|
+
})(["display:flex;width:100%;padding:0 9px;align-items:flex-start;gap:10px;align-self:stretch;box-sizing:border-box;"]);
|
|
61
|
+
export var SCMSCardsRow = styled.div.withConfig({
|
|
62
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardsRow",
|
|
63
|
+
componentId: "sc-1qxrs1g-13"
|
|
64
|
+
})(["display:grid;width:100%;grid-template-columns:repeat(auto-fill,216px);gap:8px;padding-bottom:24px;align-items:stretch;justify-content:center;"]);
|
|
65
|
+
export var SCMSCardButton = styled.button.withConfig({
|
|
66
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardButton",
|
|
67
|
+
componentId: "sc-1qxrs1g-14"
|
|
68
|
+
})(["position:relative;display:flex;width:216px;height:100%;box-sizing:border-box;padding:12px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;border-radius:8px;border:1px solid #d9d9d9;background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;:hover{cursor:pointer;box-shadow:0 4px 16px 0 rgba(111,121,136,0.12);}"]);
|
|
69
|
+
export var SCMSCardHeader = styled.div.withConfig({
|
|
70
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardHeader",
|
|
71
|
+
componentId: "sc-1qxrs1g-15"
|
|
72
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px;"]);
|
|
73
|
+
export var SCMSCardTopRow = styled.div.withConfig({
|
|
74
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardTopRow",
|
|
75
|
+
componentId: "sc-1qxrs1g-16"
|
|
76
|
+
})(["display:flex;justify-content:space-between;align-items:flex-start;align-self:stretch;gap:4px;min-height:calc(2 * 1.4em);"]);
|
|
77
|
+
export var SCMSCardTitleName = styled.span.withConfig({
|
|
78
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardTitleName",
|
|
79
|
+
componentId: "sc-1qxrs1g-17"
|
|
80
|
+
})(["flex:1;min-width:0;color:#20201f;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:500;line-height:140%;letter-spacing:-0.21px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-word;"]);
|
|
81
|
+
export var SCMSKebabButton = styled.button.withConfig({
|
|
82
|
+
displayName: "ChatAIMySkillsstyles__SCMSKebabButton",
|
|
83
|
+
componentId: "sc-1qxrs1g-18"
|
|
84
|
+
})(["display:flex;flex-shrink:0;width:24px;height:24px;padding:10px;justify-content:center;align-items:center;gap:10px;aspect-ratio:1 / 1;border-radius:var(--cor-radius-radius-sm,4px);border:none;background:transparent;cursor:pointer;&:hover{background:var(--cor-color-fill-hover,#f9f9f9);}svg{width:15px;height:15px;transform:rotate(-90deg);flex-shrink:0;aspect-ratio:1 / 1;}"]);
|
|
85
|
+
export var SCMSCardMenu = styled.div.withConfig({
|
|
86
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardMenu",
|
|
87
|
+
componentId: "sc-1qxrs1g-19"
|
|
88
|
+
})(["display:flex;padding:8px;flex-direction:column;align-items:flex-start;gap:16px;position:absolute;right:12px;top:36px;border-radius:8px;background:#fff;box-shadow:0 4px 9px 0 rgba(141,141,141,0.25);z-index:2;"]);
|
|
89
|
+
export var SCMSCardMenuItems = styled.div.withConfig({
|
|
90
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardMenuItems",
|
|
91
|
+
componentId: "sc-1qxrs1g-20"
|
|
92
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;"]);
|
|
93
|
+
export var SCMSCardMenuItem = styled.button.withConfig({
|
|
94
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardMenuItem",
|
|
95
|
+
componentId: "sc-1qxrs1g-21"
|
|
96
|
+
})(["display:flex;padding:6px 8px;align-items:center;gap:8px;border-radius:4px;border:none;background:transparent;color:#20201f;font-family:'Work Sans',sans-serif;font-size:12px;font-weight:400;line-height:130%;cursor:pointer;width:100%;&:hover{background:#f0f0f0;}"]);
|
|
97
|
+
export var SCMSCardBody = styled.div.withConfig({
|
|
98
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardBody",
|
|
99
|
+
componentId: "sc-1qxrs1g-22"
|
|
100
|
+
})(["display:flex;flex-direction:column;flex:1;min-height:0;justify-content:flex-start;align-items:flex-start;gap:4px;align-self:stretch;"]);
|
|
101
|
+
export var SCMSCardFooter = styled.div.withConfig({
|
|
102
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardFooter",
|
|
103
|
+
componentId: "sc-1qxrs1g-23"
|
|
104
|
+
})(["display:flex;justify-content:space-between;align-items:center;align-self:stretch;width:100%;"]);
|
|
105
|
+
export var SCMSCardText = styled.span.withConfig({
|
|
106
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardText",
|
|
107
|
+
componentId: "sc-1qxrs1g-24"
|
|
108
|
+
})(["font-family:'Work Sans',sans-serif;font-size:12px;font-weight:400;line-height:130%;"]);
|
|
109
|
+
export var SCMSCardFooterDate = styled(SCMSCardText).withConfig({
|
|
110
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardFooterDate",
|
|
111
|
+
componentId: "sc-1qxrs1g-25"
|
|
112
|
+
})(["color:#999;"]);
|
|
113
|
+
export var SCMSCardContentText = styled(SCMSCardText).withConfig({
|
|
114
|
+
displayName: "ChatAIMySkillsstyles__SCMSCardContentText",
|
|
115
|
+
componentId: "sc-1qxrs1g-26"
|
|
116
|
+
})(["color:#666;align-self:stretch;text-align:left;min-height:calc(2 * 1.3em);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;"]);
|
|
117
|
+
export var SCMSEmptyStateRoot = styled.div.withConfig({
|
|
118
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateRoot",
|
|
119
|
+
componentId: "sc-1qxrs1g-27"
|
|
120
|
+
})(["display:flex;height:417px;flex-direction:column;align-items:center;gap:24px;align-self:stretch;"]);
|
|
121
|
+
export var SCMSEmptyStateColumn = styled.div.withConfig({
|
|
122
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateColumn",
|
|
123
|
+
componentId: "sc-1qxrs1g-28"
|
|
124
|
+
})(["display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch;"]);
|
|
125
|
+
export var SCMSEmptyStateTitleBlock = styled.div.withConfig({
|
|
126
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateTitleBlock",
|
|
127
|
+
componentId: "sc-1qxrs1g-29"
|
|
128
|
+
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;align-self:stretch;"]);
|
|
129
|
+
export var SCMSEmptyStateTitle = styled.h2.withConfig({
|
|
130
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateTitle",
|
|
131
|
+
componentId: "sc-1qxrs1g-30"
|
|
132
|
+
})(["width:100%;max-width:374px;margin:0;color:#20201f;text-align:center;font-family:'Work Sans',sans-serif;font-size:20px;font-weight:500;line-height:122%;letter-spacing:-0.2px;"]);
|
|
133
|
+
export var SCMSEmptyStateSubtitle = styled.p.withConfig({
|
|
134
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateSubtitle",
|
|
135
|
+
componentId: "sc-1qxrs1g-31"
|
|
136
|
+
})(["align-self:stretch;margin:0;color:#666;text-align:center;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:140%;letter-spacing:-0.21px;"]);
|
|
137
|
+
export var SCMSEmptyStateButton = styled.button.withConfig({
|
|
138
|
+
displayName: "ChatAIMySkillsstyles__SCMSEmptyStateButton",
|
|
139
|
+
componentId: "sc-1qxrs1g-32"
|
|
140
|
+
})(["display:flex;min-width:80px;padding:10px 12px;justify-content:center;align-items:center;gap:8px;border-radius:4px;border:none;cursor:pointer;box-sizing:border-box;background:linear-gradient(0deg,#4d3569 0%,#2d77bd 100%);color:#fff;text-align:center;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:400;line-height:16px;&:hover{opacity:0.92;}"]);
|
|
141
|
+
export var SCMSLoadWrapper = styled.div.withConfig({
|
|
142
|
+
displayName: "ChatAIMySkillsstyles__SCMSLoadWrapper",
|
|
143
|
+
componentId: "sc-1qxrs1g-33"
|
|
144
|
+
})(["display:flex;justify-content:center;align-items:center;width:100%;padding-bottom:24px;"]);
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ01TQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJwcm9wcyIsIiRoYXNTa2lsbHMiLCJNWV9TS0lMTFNfR1JJRF9NQVhfV0lEVEhfUFgiLCJTQ01TQm9keSIsIiRjYW5DcmVhdGUiLCJTQ01TVGl0bGVXcmFwIiwiU0NNU0FjdGlvbnNSb3ciLCJTQ01TVGl0bGVJbm5lciIsIlNDTVNUaXRsZSIsImgyIiwiU0NNU1N1YnRpdGxlIiwicCIsIlNDTVNDcmVhdGVCdXR0b24iLCJidXR0b24iLCJTQ01TQ3JlYXRlQnV0dG9uVGV4dCIsInNwYW4iLCJTQ01TQ3JlYXRlTWVudVdyYXAiLCJTQ01TQ3JlYXRlTWVudSIsIlNDTVNDcmVhdGVNZW51SXRlbSIsIlNDTVNDYXJkc091dGVyIiwiU0NNU0NhcmRzUm93IiwiU0NNU0NhcmRCdXR0b24iLCJTQ01TQ2FyZEhlYWRlciIsIlNDTVNDYXJkVG9wUm93IiwiU0NNU0NhcmRUaXRsZU5hbWUiLCJTQ01TS2ViYWJCdXR0b24iLCJTQ01TQ2FyZE1lbnUiLCJTQ01TQ2FyZE1lbnVJdGVtcyIsIlNDTVNDYXJkTWVudUl0ZW0iLCJTQ01TQ2FyZEJvZHkiLCJTQ01TQ2FyZEZvb3RlciIsIlNDTVNDYXJkVGV4dCIsIlNDTVNDYXJkRm9vdGVyRGF0ZSIsIlNDTVNDYXJkQ29udGVudFRleHQiLCJTQ01TRW1wdHlTdGF0ZVJvb3QiLCJTQ01TRW1wdHlTdGF0ZUNvbHVtbiIsIlNDTVNFbXB0eVN0YXRlVGl0bGVCbG9jayIsIlNDTVNFbXB0eVN0YXRlVGl0bGUiLCJTQ01TRW1wdHlTdGF0ZVN1YnRpdGxlIiwiU0NNU0VtcHR5U3RhdGVCdXR0b24iLCJTQ01TTG9hZFdyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTXlTa2lsbHMvQ2hhdEFJTXlTa2lsbHMuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ01TQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7ICRoYXNTa2lsbHM6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMThweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEycHggMCAyNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IChwcm9wcy4kaGFzU2tpbGxzID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbmBcblxuLyoqIEFuY2hvIG3DoXhpbW8g4omIIDMgY2FyZHMgKDIxNnB4KSArIGdhcHMgKDhweCkgKyBwYWRkaW5nIGhvcml6b250YWwgZGVsIGNvbnRlbmVkb3IgZGUgY2FyZHMgKi9cbmNvbnN0IE1ZX1NLSUxMU19HUklEX01BWF9XSURUSF9QWCA9IDY5NlxuXG5leHBvcnQgY29uc3QgU0NNU0JvZHkgPSBzdHlsZWQuZGl2PHsgJGNhbkNyZWF0ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogJHtwcm9wcyA9PiAocHJvcHMuJGNhbkNyZWF0ZSA/IDggOiAyNCl9cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG1pbigxMDAlLCAke01ZX1NLSUxMU19HUklEX01BWF9XSURUSF9QWH1weCk7XG4gIG1pbi1oZWlnaHQ6IDQxN3B4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU1RpdGxlV3JhcCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0FjdGlvbnNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNUaXRsZUlubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU1RpdGxlID0gc3R5bGVkLmgyYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNzRweDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMiU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TU3VidGl0bGUgPSBzdHlsZWQucGBcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDYwcHg7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0NyZWF0ZUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgcGFkZGluZzogN3B4IDEycHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NjY7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLUdyYWRpZW50ZS0xLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNU0NyZWF0ZUJ1dHRvblRleHQgPSBzdHlsZWQuc3BhbmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGNvbG9yOiAjNjY2O1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNjBtcyBlYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0NyZWF0ZU1lbnVXcmFwID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDcmVhdGVNZW51ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyA2cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDIyMHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggMCByZ2JhKDMyLCAzMiwgMzEsIDAuMTYpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZGVkO1xuICB6LWluZGV4OiA1O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0NyZWF0ZU1lbnVJdGVtID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xuXG4gIHN2ZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZHNPdXRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDlweDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTBweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDIxNnB4KTtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDIxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggMCByZ2JhKDExMSwgMTIxLCAxMzYsIDAuMTIpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBnYXA6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkVG9wUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZ2FwOiA0cHg7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMiAqIDEuNGVtKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkVGl0bGVOYW1lID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNLZWJhYkJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jb3ItcmFkaXVzLXJhZGl1cy1zbSwgNHB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZmlsbC1ob3ZlciwgI2Y5ZjlmOSk7XG4gIH1cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZE1lbnUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEycHg7XG4gIHRvcDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDRweCA5cHggMCByZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMjUpO1xuICB6LWluZGV4OiAyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0NhcmRNZW51SXRlbXMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkTWVudUl0ZW0gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZEJvZHkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNDYXJkVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZEZvb3RlckRhdGUgPSBzdHlsZWQoU0NNU0NhcmRUZXh0KWBcbiAgY29sb3I6ICM5OTk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TQ2FyZENvbnRlbnRUZXh0ID0gc3R5bGVkKFNDTVNDYXJkVGV4dClgXG4gIGNvbG9yOiAjNjY2O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4taGVpZ2h0OiBjYWxjKDIgKiAxLjNlbSk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0VtcHR5U3RhdGVSb290ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA0MTdweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAyNHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNU0VtcHR5U3RhdGVDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TRW1wdHlTdGF0ZVRpdGxlQmxvY2sgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TRW1wdHlTdGF0ZVRpdGxlID0gc3R5bGVkLmgyYFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNzRweDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMiU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TRW1wdHlTdGF0ZVN1YnRpdGxlID0gc3R5bGVkLnBgXG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVNFbXB0eVN0YXRlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiA4MHB4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICM0ZDM1NjkgMCUsICMyZDc3YmQgMTAwJSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjkyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01TTG9hZFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBRXRDLE9BQU8sSUFBTUMsYUFBYSxHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzTEFVbEIsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0MsVUFBVSxHQUFHLFlBQVksR0FBRyxRQUFRO0FBQUEsQ0FBQyxDQUN6RTs7QUFFRDtBQUNBLElBQU1DLDJCQUEyQixHQUFHLEdBQUc7QUFFdkMsT0FBTyxJQUFNQyxRQUFRLEdBQUdULE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlJQUl6QixVQUFBQyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDSSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEVBQUU7QUFBQSxDQUFDLEVBRXBCRiwyQkFBMkIsQ0FFbkQ7QUFFRCxPQUFPLElBQU1HLGFBQWEsR0FBR1gsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNEdBT3RDO0FBRUQsT0FBTyxJQUFNTyxjQUFjLEdBQUdaLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDREQUl2QztBQUVELE9BQU8sSUFBTVEsY0FBYyxHQUFHYixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnSEFPdkM7QUFFRCxPQUFPLElBQU1TLFNBQVMsR0FBR2QsTUFBTSxDQUFDZSxFQUFFLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUxBV2pDO0FBRUQsT0FBTyxJQUFNVyxZQUFZLEdBQUdoQixNQUFNLENBQUNpQixDQUFDLENBQUFkLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNEpBVW5DO0FBRUQsT0FBTyxJQUFNYSxnQkFBZ0IsR0FBR2xCLE1BQU0sQ0FBQ21CLE1BQU0sQ0FBQWhCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbVhBbUI1QztBQUVELE9BQU8sSUFBTWUsb0JBQW9CLEdBQUdwQixNQUFNLENBQUNxQixJQUFJLENBQUFsQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9KQVE5QztBQUVELE9BQU8sSUFBTWlCLGtCQUFrQixHQUFHdEIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsOENBRzNDO0FBRUQsT0FBTyxJQUFNa0IsY0FBYyxHQUFHdkIsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd09BYXZDO0FBRUQsT0FBTyxJQUFNbUIsa0JBQWtCLEdBQUd4QixNQUFNLENBQUNtQixNQUFNLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlUQXdCOUM7QUFFRCxPQUFPLElBQU1vQixjQUFjLEdBQUd6QixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1SEFRdkM7QUFFRCxPQUFPLElBQU1xQixZQUFZLEdBQUcxQixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxSkFRckM7QUFFRCxPQUFPLElBQU1zQixjQUFjLEdBQUczQixNQUFNLENBQUNtQixNQUFNLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZXQXNCMUM7QUFFRCxPQUFPLElBQU11QixjQUFjLEdBQUc1QixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RkFNdkM7QUFFRCxPQUFPLElBQU13QixjQUFjLEdBQUc3QixNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnSUFPdkM7QUFFRCxPQUFPLElBQU15QixpQkFBaUIsR0FBRzlCLE1BQU0sQ0FBQ3FCLElBQUksQ0FBQWxCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNFNBZ0IzQztBQUVELE9BQU8sSUFBTTBCLGVBQWUsR0FBRy9CLE1BQU0sQ0FBQ21CLE1BQU0sQ0FBQWhCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMlhBd0IzQztBQUVELE9BQU8sSUFBTTJCLFlBQVksR0FBR2hDLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVOQWFyQztBQUVELE9BQU8sSUFBTTRCLGlCQUFpQixHQUFHakMsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0VBSTFDO0FBRUQsT0FBTyxJQUFNNkIsZ0JBQWdCLEdBQUdsQyxNQUFNLENBQUNtQixNQUFNLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRRQWtCNUM7QUFFRCxPQUFPLElBQU04QixZQUFZLEdBQUduQyxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0SUFTckM7QUFFRCxPQUFPLElBQU0rQixjQUFjLEdBQUdwQyxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvR0FNdkM7QUFFRCxPQUFPLElBQU1nQyxZQUFZLEdBQUdyQyxNQUFNLENBQUNxQixJQUFJLENBQUFsQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJGQUt0QztBQUVELE9BQU8sSUFBTWlDLGtCQUFrQixHQUFHdEMsTUFBTSxDQUFDcUMsWUFBWSxDQUFDLENBQUFsQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1CQUVyRDtBQUVELE9BQU8sSUFBTWtDLG1CQUFtQixHQUFHdkMsTUFBTSxDQUFDcUMsWUFBWSxDQUFDLENBQUFsQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1OQVd0RDtBQUVELE9BQU8sSUFBTW1DLGtCQUFrQixHQUFHeEMsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdUdBTzNDO0FBRUQsT0FBTyxJQUFNb0Msb0JBQW9CLEdBQUd6QyxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RkFNN0M7QUFFRCxPQUFPLElBQU1xQyx3QkFBd0IsR0FBRzFDLE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdIQU9qRDtBQUVELE9BQU8sSUFBTXNDLG1CQUFtQixHQUFHM0MsTUFBTSxDQUFDZSxFQUFFLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUxBVzNDO0FBRUQsT0FBTyxJQUFNdUMsc0JBQXNCLEdBQUc1QyxNQUFNLENBQUNpQixDQUFDLENBQUFkLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMktBVTdDO0FBRUQsT0FBTyxJQUFNd0Msb0JBQW9CLEdBQUc3QyxNQUFNLENBQUNtQixNQUFNLENBQUFoQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBXQXNCaEQ7QUFFRCxPQUFPLElBQU15QyxlQUFlLEdBQUc5QyxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4RkFNeEMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { ChatAIMySkills } from './ChatAIMySkills';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0QUlNeVNraWxscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNeVNraWxscy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDaGF0QUlNeVNraWxscyB9IGZyb20gJy4vQ2hhdEFJTXlTa2lsbHMnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
|