Compare commits

..

116 Commits

Author SHA1 Message Date
suyao
8ddf53d2d2 feat(textarea): remove TextareaContext and update stories to reflect new error handling 2025-12-01 20:28:46 +08:00
suyao
3c89146458 feat(textarea): refactor TextareaInput to simplify props and remove autoSize handling 2025-12-01 20:10:57 +08:00
suyao
4386802746 fix: format 2025-11-14 18:47:33 +08:00
suyao
643aed66ca feat(textarea): add TextareaContext for managing textarea state 2025-11-14 18:45:05 +08:00
suyao
6d1675380f feat(textarea): refactor Textarea stories to use custom label and caption components 2025-11-14 18:40:14 +08:00
suyao
0371daa076 fix ci 2025-11-14 17:17:03 +08:00
suyao
c43633e165 Fine-tuning the style 2025-11-14 17:05:02 +08:00
suyao
70660b1181 feat(textarea): enhance Textarea component with context, improved variants, and Storybook examples 2025-11-14 17:05:01 +08:00
suyao
e0dba6cad1 feat(textarea): add Textarea component with variants and Storybook examples 2025-11-14 17:05:00 +08:00
MyPrototypeWhat
a3062d6e38 Add ICON_IMPLEMENTATION_GUIDE and new SVG icons
- Created ICON_IMPLEMENTATION_GUIDE.md to document icon usage and common issues.
- Added multiple new SVG icons to the `icons/` directory, enhancing the icon library.
- Updated tailwind.css for improved styling consistency across components.
2025-11-14 13:31:17 +08:00
MyPrototypeWhat
43fb232cca Update tailwind.css to use glob pattern for component imports 2025-11-13 17:28:02 +08:00
SuYao
d610943f0f Fix/merge-main (#11262)
* merge branch 'main'

* fix: lint error

* fix yarn lock

* fix: lock

* fix: ci

* fix: yarn lock
2025-11-12 22:49:58 +08:00
fullex
680fcb4b9d Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-11-12 20:41:05 +08:00
SuYao
a6182eaf85 Refactor/inputbar (#10332)
* Refactor inputbar system with configurable scope-based architecture

- **Implement scope-based configuration** for chat, agent sessions, and mini-window with feature toggles
- **Add tool registry system** with dependency injection for modular inputbar tools
- **Create shared state management** via InputbarToolsProvider for consistent state handling
- **Migrate existing tools** to registry-based definitions with proper scope filtering

The changes introduce a flexible inputbar architecture that supports different use cases through scope-based configuration while maintaining feature parity and improving code organization.

* Remove unused import and refactor tool rendering

- Delete obsolete '@renderer/pages/home/Inputbar/tools' import from Inputbar.tsx
- Extract ToolButton component to render tools outside useMemo dependency cycle
- Store tool definitions in config for deferred rendering with current context
- Fix potential stale closure issues in tool rendering by rebuilding context on each render

* Wrap ToolButton in React.memo and optimize quick panel menu updates

- Memoize ToolButton component to prevent unnecessary re-renders when tool key remains unchanged
- Replace direct menu state updates with version-based triggering to batch registry changes
- Add useEffect to consolidate menu updates and reduce redundant flat operations

* chore style

* refactor(InputbarToolsProvider): simplify quick panel menu update logic

* Improve QuickPanel behavior and input handling

- Default select first item when panel symbol changes to enhance user experience
- Add Tab key support for selecting template variables in input field
- Refactor QuickPanel trigger logic with better symbol tracking and boundary checks
- Fix typo in translation key for model selection menu item

* Refactor import statements to use type-only imports

- Convert inline type imports to explicit type imports in Inputbar.tsx and types.ts
- Replace combined type/value imports with separate type imports in InputbarToolsProvider and tools
- Remove unnecessary menu version state and effect in InputbarToolsProvider

* Refactor InputbarTools context to separate state and dispatch concerns

- Split single context into separate state and dispatch contexts to optimize re-renders
- Introduce derived state for `couldMentionNotVisionModel` based on file types
- Encapsulate Quick Panel API in stable object with memoized functions
- Add internal dispatch context for Inputbar-specific state setters

* Refactor Inputbar to use split context hooks and optimize QuickPanel

- Replace monolithic `useInputbarTools` with separate state, dispatch, and internal dispatch hooks
- Move text state from context to local component state in InputbarInner
- Optimize QuickPanel trigger registration to use ref pattern, avoiding frequent re-registrations

* Refactor QuickPanel API to separate concerns between tools and inputbar

- Split QuickPanel API into `toolsRegistry` for tool registration and `triggers` for inputbar triggering
- Remove unused QuickPanel state variables and clean up dependencies
- Update tool context to use new API structure with proper type safety

* Optimize the state management of QuickPanel and Inputbar, add text update functionality, and improve the tool registration logic.

* chore

* Add reusable React hooks and InputbarCore component for chat input

- Create `useInputText`, `useKeyboardHandler`, and `useTextareaResize` hooks for text management, keyboard shortcuts, and auto-resizing
- Implement `InputbarCore` component with modular toolbar sections, drag-drop support, and textarea customization
- Add `useFileDragDrop` and `usePasteHandler` hooks for file uploads and paste handling with type filtering

* Refactor Inputbar to use custom hooks for text and textarea management

- Replace manual text state with useInputText hook for text management and empty state
- Replace textarea resize logic with useTextareaResize hook for automatic height adjustment
- Add comprehensive refactoring documentation with usage examples and guidelines

* Refactor inputbar drag-drop and paste handling into custom hooks

- Extract paste handling logic into usePasteHandler hook
- Extract drag-drop file handling into useFileDragDrop hook
- Remove inline drag-drop state and handlers, use hook interfaces
- Clean up dependencies and callback optimizations

* Refactor Inputbar component to use InputbarCore composition

- Extract complex UI logic into InputbarCore component for better separation of concerns
- Remove intermediate wrapper component and action ref forwarding pattern
- Consolidate focus/blur handlers and simplify component structure

* Refactor Inputbar to expose actions via ref for external control

- Extract action handlers into ProviderActionHandlers interface and expose via ref
- Split component into Inputbar wrapper and InputbarInner implementation
- Update useEffect to sync inner component actions with ref for external access

* feat: inputbar core

* refactor: Update QuickPanel integration across various tools

* refactor: migrate to antd

* chore: format

* fix: clean code

* clean code

* fix i18n

* fix: i18n

* relative path

* model type

* 🤖 Weekly Automated Update: Nov 09, 2025 (#11209)

feat(bot): Weekly automated script run

Co-authored-by: DeJeune <67425183+DeJeune@users.noreply.github.com>
Co-authored-by: SuYao <sy20010504@gmail.com>

* format

* fix

* fix: format

* use ripgrep

* update with input

* add common filters

* fix build issue

* format

* fix error

* smooth change

* adjust

* support listing dir

* keep list files when focus and blur

* support draft save

* Optimize the rendering logic of session messages and input bars, and simplify conditional judgments.

* Upgrade to agentId

* format

* 🐛 fix: force quick triggers for agent sessions

* revert

* fix migrate

* fix: filter

* fix: trigger

* chore packages

* feat: 添加过滤和排序功能,支持自定义函数

* fix cursor bug

* fix format

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: beyondkmp <beyondkmp@gmail.com>
Co-authored-by: kangfenmao <kangfenmao@qq.com>
2025-11-12 20:04:58 +08:00
MyPrototypeWhat
649f9420a4 feat: add @cherrystudio/ai-sdk-provider package and integrate (#10715)
* feat: add @cherrystudio/ai-sdk-provider package and integrate with CherryIN

- Introduced the @cherrystudio/ai-sdk-provider package, providing a CherryIN routing solution for AI SDKs.
- Updated configuration files to include the new provider.
- Enhanced provider initialization to support CherryIN as a new AI provider.
- Added README and documentation for usage instructions.

* chore: remove deprecated @ai-sdk/google dependency and clean up package files

- Removed the @ai-sdk/google dependency from package.json and yarn.lock as it is no longer needed.
- Simplified the createGeminiModel function in index.ts for better readability and maintainability.

* feat: update CherryIN provider integration and dependencies

- Updated @ai-sdk/anthropic and @ai-sdk/google dependencies to their latest versions in package.json and yarn.lock.
- Introduced a new CherryInProvider implementation in cherryin-provider.ts, enhancing support for CherryIN API.
- Refactored provider initialization to include CherryIN as a supported provider in schemas.ts and options.ts.
- Updated web search plugin to utilize the new CherryIN provider capabilities.
- Cleaned up and organized imports across various files for better maintainability.

* chore: clean up tsconfig and remove unnecessary nullish coalescing in CherryIn provider

- Simplified tsconfig.json by consolidating exclude and include arrays.
- Removed nullish coalescing in cherryin-provider.ts for cleaner header handling in model initialization.

* fix: remove console.log from webSearchPlugin to clean up code

- Eliminated unnecessary console.log statement in the webSearchPlugin to enhance code clarity and maintainability.

* fix(i18n): Auto update translations for PR #10715

* chore: update yarn.lock with new package versions and dependencies

- Added new versions for @ai-sdk/anthropic, @ai-sdk/google, @ai-sdk/provider-utils, and eventsource-parser.
- Updated dependencies and peerDependencies for the newly added packages.

* feat: enhance CherryIn provider with chat model support and custom fetch logic

- Introduced CherryInOpenAIChatLanguageModel to handle chat-specific configurations.
- Updated createChatModel to support CherryIn chat models.
- Modified webSearchPlugin to accommodate both 'cherryin' and 'cherryin-chat' provider IDs.
- Added 'cherryin-chat' provider ID to schemas and provider configurations.
- Adjusted provider factory to correctly set provider ID for chat mode.
- Enhanced web search utility to handle CherryIn chat models.

* 🐛 fix: resolve cherryin provider lint errors and web search config

- Add fetch global variable declaration for ai-sdk-provider in oxlintrc
- Fix endpoint_type mapping fallback logic in cherryin provider
- Add error handling comment for better code readability

* chore(dependencies): update AI SDK packages and patches

- Added new versions for @ai-sdk/anthropic, @ai-sdk/google, and @ai-sdk/provider-utils in yarn.lock.
- Updated @ai-sdk/openai dependency to use a patch version in package.json.
- Included @cherrystudio/ai-sdk-provider as a new dependency in the workspace.

* chore(dependencies): update peer dependencies and installation instructions

- Removed specific versions of @ai-sdk/anthropic and @ai-sdk/google from package.json and yarn.lock.
- Updated peer dependencies in package.json to include @ai-sdk/anthropic, @ai-sdk/google, and @ai-sdk/openai.
- Revised installation instructions in README.md to reflect the new dependencies.

---------

Co-authored-by: GitHub Action <action@github.com>
2025-11-12 18:16:27 +08:00
MyPrototypeWhat
d82e004f57 feat(design-reference): restructure color tokens and remove outdated conversion log
- Deleted the outdated CONVERSION_LOG.md file to streamline documentation.
- Introduced new HSLA color files for primitive, semantic, and status colors, enhancing color management.
- Updated theme and token files to utilize Oklch color format for improved color representation.
- Refactored radius and color tokens for consistency and maintainability across the design system.
2025-11-12 18:14:18 +08:00
MyPrototypeWhat
aa13ad4fac feat(checkbox): export CheckedState type and add checkbox/combobox to component index
- Exported CheckedState type from the checkbox component for better type management.
- Added checkbox and combobox components to the main component index for easier access.
- Updated Storybook examples to utilize the CheckedState type for controlled checkbox states.
2025-11-12 15:04:50 +08:00
MyPrototypeWhat
02d79f47b3 feat(checkbox): add Radix UI checkbox component with Storybook examples
- Introduced a new checkbox component utilizing Radix UI, allowing for customizable sizes and states.
- Implemented styles using class-variance-authority for consistent design across different sizes (sm, md, lg).
- Added comprehensive Storybook stories demonstrating various use cases, including default, checked, disabled, and controlled states.
- Updated package.json and yarn.lock to include the new Radix UI checkbox dependency.
2025-11-12 14:58:14 +08:00
MyPrototypeWhat
75c0923636 feat(radioGroup): enhance RadioGroup component with size variants and add Storybook examples
- Introduced size variants for RadioGroupItem using class-variance-authority for better customization.
- Updated RadioGroupItem to accept size prop and adjusted styles accordingly.
- Added comprehensive Storybook stories for various use cases, including default, disabled, and size variations, to demonstrate component functionality and usage.
2025-11-12 14:26:25 +08:00
MyPrototypeWhat
7dd1ecd4a5 feat(storybook): add background options for light and dark themes
- Introduced background parameters in Storybook preview configuration to support light and dark themes.
- Defined specific color values for each theme to enhance visual consistency during component development.
2025-11-12 14:26:09 +08:00
Xiang, Haihao
2552d97ea7 fix: ensure the user can select any image in NewApiPage (#11238)
NewApiPage always show the first image in filteredPaintings. As a
result, the user is unable to select other images. This issue was
introduced in commit 0502ff4.
2025-11-12 13:30:23 +08:00
Phantom
803f4b5a64 fix(migrate): use provider apiHost for new-api (#11244)
fix(migrate): use provider apiHost for new-api case instead of hardcoded value
2025-11-12 10:05:21 +08:00
beyondkmp
31f8fff6e2 chore: update claude code plugins (#11237)
* chore: update claude code plugins

* update version

---------

Co-authored-by: Payne Fu <payne@Paynes-MacBook-Pro.local>
2025-11-11 19:19:30 +08:00
MyPrototypeWhat
a2299fa2ab style(combobox, select): update styles to use Tailwind CSS utility classes
- Refactored the combobox and select components to utilize Tailwind CSS utility classes for consistent styling.
- Added 'text-foreground' class to enhance text visibility in both components.
- Streamlined the default styles for better maintainability and adherence to the new design system.
2025-11-11 17:24:47 +08:00
MyPrototypeWhat
a830d05790 fix(tailwind): dynamically import Tailwind CSS in Vite config
- Updated the Electron Vite configuration to dynamically import Tailwind CSS for improved performance.
- Removed the direct import of Tailwind CSS from the plugins array to streamline the build process.
2025-11-11 17:17:23 +08:00
MyPrototypeWhat
8429e678bc style(tailwind): migrate to Tailwind CSS and update theme handling
- Integrated Tailwind CSS into the project by adding necessary imports and configurations.
- Updated CSS files to reflect the transition to Tailwind, including commenting out old styles and adjusting theme-related attributes.
- Changed theme mode handling in the ThemeProvider and CitationBlock components for consistency with the new class-based approach.
2025-11-11 17:03:14 +08:00
MyPrototypeWhat
91215c899d style(tailwind): add source import for UI components in tailwind.css
- Included a new source import statement for UI components to enhance styling capabilities.
- Maintained existing imports while ensuring compatibility with the updated structure.
2025-11-11 13:56:58 +08:00
fullex
1309b194e9 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-11-11 12:03:35 +08:00
MyPrototypeWhat
1b1f85b35f fix(navbar): remove duplicate placement attribute in Tooltip component
- Simplified Tooltip component in ChatNavbar and Navbar by removing redundant 'placement' attribute.
- Ensured consistent behavior across both components while maintaining functionality.
2025-11-11 11:31:43 +08:00
fullex
4407c0f675 refactor(oauth): update language retrieval in OAuth callback
- Replaced the configManager.getLanguage() method with getAppLanguage() for improved language handling.
- Adjusted imports to reflect the new language utility structure.
2025-11-11 11:19:06 +08:00
MyPrototypeWhat
30947c6bc1 refactor(select): replace Selector component with new Select implementation in SettingsTab
- Updated SettingsTab to utilize the new Select component instead of the deprecated Selector.
- Enhanced Select integration with SelectTrigger, SelectContent, SelectItem, and SelectValue for improved functionality.
- Removed Selector imports and related code to streamline the component structure.
- Adjusted styles and layout for better user experience in the settings interface.
2025-11-11 11:01:48 +08:00
MyPrototypeWhat
0b3cefb125 style(select): update styles for Select component items and content
- Adjusted border radius for SelectContent to 'rounded-2xs' for a more modern look.
- Enhanced SelectItem styles to include a background color for checked state.
- Updated CheckIcon color to 'text-primary' for better visibility in the SelectItem.
2025-11-11 10:46:20 +08:00
SuYao
2663cb19ce Chore/aisdk (#11232)
* chore(dependencies): update AI SDK dependencies to latest versions

* chore(patches): update AI SDK patches for Hugging Face, OpenAI, and Google
2025-11-11 00:09:26 +08:00
Pleasure1234
ce5d46bfc7 fix: remove explicit Content-Type header in file upload (#11231)
The Content-Type header was removed from the fetch request when uploading files. This change may allow the server to infer the correct content type or handle uploads more flexibly.
2025-11-10 23:28:38 +08:00
kangfenmao
c1fa24522d chore(release): update release notes for v1.7.0-beta.5
- Add MCPRouter provider and MCP marketplace features
- Improve UI optimization and MCP OAuth callback
- Fix various bugs including Agent allowed_tools inheritance
2025-11-10 20:19:40 +08:00
亢奋猫
2f66f5b511 refactor(AssistantPresetsPage): added assistants subscribe settings to AssistantPresetsPage (#11184)
refactor(DataSettings, MCPSettings, AssistantPresetsPage): clean up imports and enhance UI components

- Removed unused imports and components from DataSettings for better clarity.
- Updated MCPSettings layout by introducing a new Container styled with Scrollbar for improved scrolling.
- Added AssistantsSubscribeUrlSettings component to manage subscription URLs in AssistantPresetsPage, enhancing user interaction.
- Adjusted button styles and layout in AssistantPresetsPage for a more cohesive design.
2025-11-10 20:10:38 +08:00
MyPrototypeWhat
b382b06c57 feat(select): introduce new Select component and related features
- Added a new Select component based on Radix UI, including SelectTrigger, SelectContent, SelectItem, and SelectValue.
- Implemented support for groups and separators within the Select component.
- Updated package.json to include @radix-ui/react-select as a dependency.
- Removed deprecated Selector and SearchableSelector components to streamline the codebase.
- Added stories for the Select component to showcase various use cases and configurations.
2025-11-10 19:42:33 +08:00
MyPrototypeWhat
8246f46e7d fix(Button): update import path for Button component to reflect new structure 2025-11-10 19:35:46 +08:00
亢奋猫
2d8555c326 fix(agents): inherit allowed_tools from Agent when creating Session (#11201)
When creating a Session under an Agent, the Session should inherit the Agent's allowed_tools configuration. Previously, the allowed_tools parameter was missing from the Session creation API call, causing inconsistency between Agent and Session configurations.

Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-10 18:44:33 +08:00
fullex
f32fa08c41 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-11-10 18:44:02 +08:00
Konjac-XZ
e2c8edab61 fix: incorrect spelling caused Gemini endpoint’s thinking budget to fail (#11217) 2025-11-10 16:42:34 +08:00
kangfenmao
5e0a66fa1f docs(README): update AI Web Service Integration section and remove public beta notice
- Added a hyperlink to Poe in the AI Web Service Integration list for better accessibility.
- Removed the public beta notice for the Enterprise Edition to streamline the documentation.
- Updated the cost section to include a link to the AGPL-3.0 License for clarity.
2025-11-10 15:44:29 +08:00
亢奋猫
bc8b0a8d53 feat(agent): add permission mode display component for empty session state (#11204)
Replace empty state text with a visual permission mode display card that shows:
- Permission mode icon with unique colors for each mode (default, plan, acceptEdits, bypassPermissions)
- Permission mode title and description
- Clickable to navigate directly to tooling settings tab

Replace loading text with Ant Design Spin component for better UX.
2025-11-10 11:26:36 +08:00
fullex
e43562423e refactor: remove unused files and configurations (#11176)
* ♻️ refactor: remove unused resources/js directory and references

Remove legacy resources/js directory (bridge.js and utils.js) that was left over after minapp.html removal in commit 461458e5e. Also update .oxlintrc.json to remove the unused resources/js/** file pattern.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* ♻️ refactor: remove additional unused files

- Remove duplicate ipService.js (superseded by TypeScript version in src/main/utils/)
- Remove unused components.json (shadcn config with non-existent target directory)
- Remove unused context-menu.tsx component (no imports found)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-10 11:14:32 +08:00
亢奋猫
120ac122eb fix(ui): resolve sidebar tooltip overlap with window controls on macOS (#11216)
Fixes #11125

Add placement="right" to sidebar toggle tooltips in ChatNavbar, Navbar,
and Notes HeaderNavbar to prevent tooltips from overlapping with macOS
window control buttons (minimize, maximize, close) in the top-left corner.

This ensures tooltips appear to the right of the toggle buttons rather
than above them, avoiding overlap with native window controls.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 23:24:35 +08:00
Phantom
9013fcba14 fix(useMessageOperations): skip timestamp update for UI-only changes (#10927)
Prevent unnecessary message updates when only UI-related states change by checking the update keys and skipping timestamp updates in those cases
2025-11-09 18:17:34 +08:00
Phantom
c32f4badbd fix(ErrorBlock): reorder field (#11057)
feat(ErrorBlock): add responseBody display above requestBodyValues

Move responseBody display to appear before requestBodyValues for better error flow readability
2025-11-09 17:53:05 +08:00
亢奋猫
66f66fe08e fix: prevent MCP card description text from overflowing dialog width (#11203)
* fix: prevent MCP card description text from overflowing dialog width

Add whitespace-pre-wrap and break-all classes to the MCP server description
text in Agent Settings to ensure long descriptions wrap properly within the
dialog bounds instead of causing layout overflow issues.

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: display MCP server logo in Agent Settings tooling section

Add logo display support for MCP servers in the Agent Settings tooling
section. When a server has a logoUrl defined, it will now be shown next
to the server name as a 20x20px rounded image, matching the design
pattern used in MCPSettings.

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 17:50:41 +08:00
亢奋猫
d5826c2dc7 fix(ui): truncate long Bash command in tag with popover (#11200)
* 🐛 fix(ui): truncate long Bash command in tag with popover

Add automatic truncation for Bash commands exceeding 200 characters in the tag display. When truncated, users can hover over the tag to view the full command in a popover.

- Add MAX_TAG_LENGTH constant (200 chars)
- Implement command truncation logic
- Add Popover component for full command display on hover
- Prevent UI overflow issues with long commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* ♻️ refactor(ui): reduce MAX_TAG_LENGTH to 100 for smaller screens

Reduce the command truncation threshold from 200 to 100 characters to better support smaller screen sizes and improve readability.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: remove emoji requirement from conventional commits

Update commit message guidelines to use standard Conventional Commit format without emoji prefixes for better compatibility and consistency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 12:27:15 +08:00
亢奋猫
85a628f8dd style(ui): center plugin browser tabs (#11205)
💄 style(ui): center plugin browser tabs

Center the tab items in the plugin browser component for better visual alignment and improved user experience.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 12:06:50 +08:00
cheng chao
ed453750fe fix(mcp): resolve OAuth callback page hanging and add i18n support (#11195)
- Fix OAuth callback server not sending HTTP response, causing browser to hang
- Add internationalization support for OAuth callback page (10 languages)
- Simplify callback page design with clean white background
- Improve user experience with localized success messages

Changes:
- src/main/services/mcp/oauth/callback.ts: Add HTTP response to OAuth callback
- src/renderer/src/i18n/: Add callback page translations for all supported languages

Signed-off-by: charles <kidccc@gmail.com>
2025-11-09 01:45:25 +08:00
亢奋猫
57d9a31c0f refactor(migrate): consolidate migrations into version 172 (#11194)
* refactor(migrate): consolidate migrations into version 172

Consolidates migrations 162-166 into a single migration 172 to fix data
inconsistencies between release/v1.6.x and v1.7.0-x versions. This
ensures a single, consistent migration path and corrects data deviations
that occurred during version upgrades.

Changes:
- Remove separate migrations 162-166
- Add consolidated migration 172 that includes:
  - Mini app additions (ling, huggingchat)
  - OCR provider updates (ovocr)
  - Agent to preset migration
  - Sidebar icon updates (agents -> store)
  - LLM provider Anthropic API host configurations
  - Assistant preset settings initialization

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(store): update persist version to 172

Update the redux-persist version number from 171 to 172 to match the
consolidated migration version.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(migrate): add missing break statement in switch case

Add missing break statement after 'grok' case to prevent fall-through
to 'cherryin' case. Also add break statement for 'longcat' case.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 00:31:35 +08:00
亢奋猫
58afbe8a79 refactor(config): optimize oxlint configuration by removing redundant default rules (#11192)
Remove ~60 redundant rule declarations that match oxlint's default behavior.
This reduces the config file by 28% (211 -> 152 lines) while maintaining
identical linting behavior.

Changes:
- Remove default error-level rules (constructor-super, no-debugger, etc.)
- Retain only custom configurations that differ from defaults
- Keep all environment overrides and plugin settings unchanged
- Preserve all modified severity levels (warn) and disabled rules (off)

Benefits:
- Improved readability: clearly shows project-specific lint strategy
- Reduced maintenance: no need to sync with oxlint default updates
- Smaller config: 46% fewer rule declarations (130 -> 70 rules)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 00:31:20 +08:00
亢奋猫
9a10516b52 chore: update bun and uv versions (#11193)
* chore: update bun and uv versions

- Update bun from 1.2.17 to 1.3.1
- Update uv from 0.7.13 to 0.9.5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor: update UV installer to support tar.gz format

- Update UV package mappings from .zip to .tar.gz for macOS and Linux
- Add RISCV64 Linux platform support
- Implement dual extraction logic:
  - tar.gz extraction for macOS/Linux using tar command
  - zip extraction for Windows using StreamZip
- Flatten directory structure during extraction
- Maintain executable permissions on Unix-like systems

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* 🐛 fix: correct error handling in UV installer

Remove ineffective error code 102 return from nested function.
Chmod errors now properly propagate to outer try-catch block.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 00:31:00 +08:00
Phantom
e268e69597 refactor(config): centralize home directory constant to shared config (#11158)
Replace hardcoded '.cherrystudio' directory references with HOME_CHERRY_DIR constant
2025-11-07 22:24:05 +08:00
kangfenmao
56df52d850 Merge branch 'main' into v2
# Conflicts:
#	src/renderer/src/pages/settings/MCPSettings/BuiltinMCPServerList.tsx
#	src/renderer/src/pages/settings/MCPSettings/McpProviderSettings.tsx
#	src/renderer/src/pages/settings/MCPSettings/McpServersList.tsx
#	src/renderer/src/pages/settings/MCPSettings/McpSettingsNavbar.tsx
#	src/renderer/src/pages/settings/MCPSettings/index.tsx
#	src/renderer/src/pages/settings/MCPSettings/providers/config.ts
2025-11-07 19:34:45 +08:00
MyPrototypeWhat
846a7f5ecf refactor(button & combobox): enhance styling and accessibility
- Updated button variants for improved hover effects and accessibility, including aria-loading support.
- Refined combobox trigger styles for better visibility and consistency, including adjustments to error state styling and input placeholder appearance.
- Improved overall class management and organization for both components.
2025-11-07 19:29:06 +08:00
kangfenmao
10e78ac60e refactor(MCPSettings): update styled components and enhance server synchronization
- Changed RightContainer from Scrollbar to a standard div for layout adjustments.
- Updated DetailContainer to use Scrollbar for improved scrolling behavior.
- Modified server synchronization logic across multiple providers to include allServers in the results, enhancing server management capabilities.
- Refactored provider configurations to ensure consistency and support for new server data structure.
2025-11-07 19:22:58 +08:00
kangfenmao
44b2b859da feat(MCPRouter): add MCPRouter provider support and integration
- Introduced MCPRouter provider with token management and server synchronization functionalities.
- Added MCPRouter logo to settings page for visual representation.
- Updated provider configuration to include MCPRouter details and API interactions.
- Implemented functions for saving, retrieving, and clearing MCPRouter tokens, along with server synchronization logic.
2025-11-07 18:41:15 +08:00
kangfenmao
bfef0c5580 feat(MCPSettings): enhance MCP server management and localization support
- Updated auto-translation script to allow configurable max concurrent translations and delay via environment variables.
- Added new translations for "discover", "fetch", "marketplaces", "providers", and "servers" across multiple locales (en-us, zh-cn, zh-tw, de-de, el-gr, es-es, fr-fr, ja-jp, pt-pt, ru-ru).
- Improved MCPSettings UI by adjusting layout and adding a new provider settings component for better server management.
- Refactored MCP server list and market list components for improved usability and styling consistency.
2025-11-07 18:01:55 +08:00
MyPrototypeWhat
f2c2a27622 refactor(combobox & tailwind): update styling and variable management
- Modified default combobox trigger styles for improved visibility and consistency.
- Updated background and text colors in the combobox options for better accessibility.
- Cleaned up unused CSS variables in tailwind.css, retaining only those necessary for theme usage.
- Enhanced comments for clarity in the CSS files.
2025-11-07 17:30:12 +08:00
MyPrototypeWhat
348e0dfc80 fix(theme.css): standardize import syntax for tailwindcss 2025-11-07 17:17:24 +08:00
MyPrototypeWhat
77c848035d feat(tokens): introduce design tokens for colors, spacing, typography, and radius
- Added new CSS files for design tokens including colors, spacing, typography, and border radius.
- Updated theme.css to import the new tokens and ensure proper usage in the UI.
- Enhanced the theme structure to support light and dark modes with semantic color mappings.
- Introduced a build script to generate theme from tokens for easier management.
2025-11-07 17:12:34 +08:00
fullex
1e8055031a Merge branch 'main' of github.com:CherryHQ/cherry-studio 2025-11-07 12:02:35 +08:00
fullex
8e33ff8d90 docs: update test plan documentation to clarify upgrade behavior for RC and Beta channels 2025-11-07 12:02:28 +08:00
MyPrototypeWhat
cd6a38ebeb fix(tailwindCSS): add experimental classRegex for improved class management 2025-11-07 11:26:00 +08:00
MyPrototypeWhat
b57ed07d00 refactor(button & combobox): improve styling and class management
- Adjusted button outline variant for consistency in dark mode styling.
- Removed unnecessary background color from combobox trigger for cleaner appearance.
- Updated comments in the theme CSS file for clarity and consistency.
2025-11-07 11:04:12 +08:00
kangfenmao
a619000340 chore: update v1.7.0-beta.4 release notes
Update electron-builder.yml with release notes covering:
- UI framework upgrade with improved performance and UX
- New features: AWS Bedrock API key support, SophNet provider, auto session rename, TopP parameter, and reasoning effort control
- Improvements to UI components, quick panel, painting models, system shutdown handling, and package size optimization
- Bug fixes for provider support, i18n translations, and API issues
2025-11-06 20:51:03 +08:00
kangfenmao
f7c8fb8d56 refactor: update component imports and styling for consistency
- Removed the 'no-restricted-imports' rule from ESLint configuration.
- Updated `AgentSessionInputbar` to use `icon` prop for `ActionIconButton`.
- Cleaned up imports in `AssistantsTab`, `SessionItem`, and `DataSettings` components.
- Adjusted button styling in `UnifiedAddButton` and `AboutSettings` for improved layout.
- Fixed test assertions in `WebviewSearch.test.tsx` for better accuracy.
2025-11-06 20:23:38 +08:00
kangfenmao
dae10cf673 Merge branch 'v2' of github.com:CherryHQ/cherry-studio into v2 2025-11-06 19:53:20 +08:00
kangfenmao
a50da9fc80 Merge branch 'main' into v2
# Conflicts:
#	CLAUDE.md
#	package.json
#	packages/ui/src/components/primitives/toast.ts
#	src/main/services/AppMenuService.ts
#	src/renderer/src/assets/styles/tailwind.css
#	src/renderer/src/components/Avatar/EmojiAvatarWithPicker.tsx
#	src/renderer/src/components/Buttons/ActionIconButton.tsx
#	src/renderer/src/components/ConfirmDialog.tsx
#	src/renderer/src/components/ErrorBoundary.tsx
#	src/renderer/src/components/Popups/ExportToPhoneLanPopup.tsx
#	src/renderer/src/components/Popups/agent/AgentModal.tsx
#	src/renderer/src/components/Popups/agent/SessionModal.tsx
#	src/renderer/src/components/TopView/index.tsx
#	src/renderer/src/components/UpdateDialog.tsx
#	src/renderer/src/context/HeroUIProvider.tsx
#	src/renderer/src/env.d.ts
#	src/renderer/src/hero.ts
#	src/renderer/src/hooks/useUserTheme.ts
#	src/renderer/src/pages/home/Chat.tsx
#	src/renderer/src/pages/home/Inputbar/AgentSessionInputbar.tsx
#	src/renderer/src/pages/home/Messages/Blocks/ErrorBlock.tsx
#	src/renderer/src/pages/home/Messages/Message.tsx
#	src/renderer/src/pages/home/Messages/Tools/ToolPermissionRequestCard.tsx
#	src/renderer/src/pages/home/Tabs/AssistantsTab.tsx
#	src/renderer/src/pages/home/Tabs/SessionSettingsTab.tsx
#	src/renderer/src/pages/home/Tabs/components/AddButton.tsx
#	src/renderer/src/pages/home/Tabs/components/AgentItem.tsx
#	src/renderer/src/pages/home/Tabs/components/AssistantItem.tsx
#	src/renderer/src/pages/home/Tabs/components/SessionItem.tsx
#	src/renderer/src/pages/home/Tabs/components/Sessions.tsx
#	src/renderer/src/pages/home/Tabs/components/TagGroup.tsx
#	src/renderer/src/pages/home/Tabs/components/Topics.tsx
#	src/renderer/src/pages/home/Tabs/components/UnifiedAddButton.tsx
#	src/renderer/src/pages/home/Tabs/index.tsx
#	src/renderer/src/pages/home/components/ChatNavbarContent.tsx
#	src/renderer/src/pages/home/components/SelectAgentBaseModelButton.tsx
#	src/renderer/src/pages/home/components/UpdateAppButton.tsx
#	src/renderer/src/pages/minapps/components/WebviewSearch.tsx
#	src/renderer/src/pages/notes/HeaderNavbar.tsx
#	src/renderer/src/pages/settings/AboutSettings.tsx
#	src/renderer/src/pages/settings/AgentSettings/AccessibleDirsSetting.tsx
#	src/renderer/src/pages/settings/AgentSettings/components/InstalledPluginsList.tsx
#	src/renderer/src/pages/settings/AgentSettings/components/PluginBrowser.tsx
#	src/renderer/src/pages/settings/AgentSettings/components/PluginCard.tsx
#	src/renderer/src/pages/settings/DataSettings/DataSettings.tsx
#	src/renderer/src/pages/settings/ToolSettings/ApiServerSettings/ApiServerSettings.tsx
#	src/renderer/src/pages/translate/TranslateSettings.tsx
#	src/renderer/src/services/ApiService.ts
#	src/renderer/src/store/runtime.ts
#	src/renderer/src/windows/mini/MiniWindowApp.tsx
#	src/renderer/src/windows/selection/action/entryPoint.tsx
#	yarn.lock
2025-11-06 19:53:09 +08:00
MyPrototypeWhat
7d5d9964d7 refactor(combobox): simplify default styling and enhance class management
- Removed unnecessary background color from default combobox trigger variant for cleaner styling.
- Added a white background to the combobox trigger for improved visibility.
- Updated comments in the CSS file to enhance clarity and consistency in English.
2025-11-06 18:36:12 +08:00
kangfenmao
78278ce96d refactor: remove heroui
commit 7c8bf8b591
Author: defi-failure <159208748+defi-failure@users.noreply.github.com>
Date:   Thu Nov 6 17:59:38 2025 +0800

    fix: add token usage to agent session message

commit ff8e5ddd27
Author: defi-failure <159208748+defi-failure@users.noreply.github.com>
Date:   Thu Nov 6 17:25:54 2025 +0800

    fix: close prompt stream when finish or error chunk received

commit 530e6516fd
Author: defi-failure <159208748+defi-failure@users.noreply.github.com>
Date:   Thu Nov 6 17:19:53 2025 +0800

    chore: code cleanup

commit ab21c0d56c
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 16:13:36 2025 +0800

    feat(SessionItem): implement auto-rename feature for sessions and improve context menu handling

    - Added a new context menu option to automatically rename sessions based on topics.
    - Introduced useDeferredValue for managing target session state.
    - Updated imports to include necessary thunk actions and components.
    - Enhanced API service to handle optional assistant model in message summary fetching.
    - Exported renameAgentSessionIfNeeded function for better accessibility in the store.

commit 21ea8ccf37
Merge: ab7b207d2 816a92c60
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 15:29:09 2025 +0800

    Merge branch 'main' of github.com:CherryHQ/cherry-studio into refactor/heroui-antd

    # Conflicts:
    #	src/renderer/src/pages/home/Tabs/components/AddButton.tsx
    #	src/renderer/src/pages/home/Tabs/components/SessionItem.tsx
    #	src/renderer/src/pages/home/Tabs/components/Sessions.tsx
    #	src/renderer/src/pages/home/Tabs/components/Topics.tsx
    #	src/renderer/src/pages/paintings/NewApiPage.tsx

commit ab7b207d29
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 14:50:05 2025 +0800

    refactor: streamline event listener management in useAppInit and update ToolPermissionRequestCard styling

commit 3834c5d402
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 14:21:25 2025 +0800

    refactor: enhance API server state management and remove unused initialization in useAppInit

commit a64b94a41f
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 13:21:58 2025 +0800

    refactor: update OpenAPI documentation paths to include subdirectories for better route coverage

commit 2e0ff28505
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 12:26:09 2025 +0800

    refactor: center align columns in InstalledPluginsList and set AntTable size to small

commit 84bf94e2ff
Author: defi-failure <159208748+defi-failure@users.noreply.github.com>
Date:   Thu Nov 6 12:06:09 2025 +0800

    refactor: align create agent model selection with edit agent

commit 84f2281506
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 11:29:32 2025 +0800

    refactor: integrate API server functionality into various components and enhance user notifications

commit 4e01210df4
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 10:56:38 2025 +0800

    refactor: replace ContextMenu with Dropdown in AgentItem and SessionItem components for improved context menu handling

commit 9df38c7e83
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 10:27:30 2025 +0800

    refactor: update AddButton styling to use CSS variable for border radius and remove unused settings hook

commit 251c269ab3
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 10:11:21 2025 +0800

    refactor: remove unused error handling alerts from AssistantsTab component

commit 9b9640d8d1
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 10:07:26 2025 +0800

    refactor: adjust margin styling for UnifiedAddButton component

commit edd6b11aa7
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 10:04:01 2025 +0800

    refactor: update AddButton styling based on topic position and clean up CSS for root element

commit 1c0de625d8
Author: kangfenmao <kangfenmao@qq.com>
Date:   Thu Nov 6 09:56:42 2025 +0800

    fix: update assistant addition messages for multiple languages

commit 0ea4dd4e3a
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 21:01:24 2025 +0800

    fix: init message api err

commit f3bbd4ed44
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 20:42:49 2025 +0800

    refactor: remove heroui

commit d01609fc36
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 19:08:41 2025 +0800

    refactor: migrate heroui/toast to antd message

commit f4b14dfc10
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 18:51:29 2025 +0800

    refactor: enhance Sessions component layout with styled Scrollbar and adjust UnifiedAddButton margins

commit 6ae5f69163
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 18:44:13 2025 +0800

    refactor: update PluginSettings and ToolingSettings for improved layout and functionality

commit fcb0020787
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 18:29:52 2025 +0800

    wip

commit 02265f369e
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 17:26:39 2025 +0800

    fix: error block related

commit 5e22d9d36f
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 17:14:25 2025 +0800

    fix: note head nav related

commit 3f52b7766a
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 16:45:49 2025 +0800

    chore: remove dead code

commit 484622f12b
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 16:43:12 2025 +0800

    chore: remove dead code

commit 2bceb302e0
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 15:33:25 2025 +0800

    fix: tool setting related

commit 5c455f25eb
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 13:59:33 2025 +0800

    chore: remove dead code

commit d1d1dbc046
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 13:51:41 2025 +0800

    fix: tool permission card related

commit bf4ec23ef7
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 12:22:53 2025 +0800

    fix: remove button and modal renaming

commit 47db5baeb1
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 12:20:36 2025 +0800

    fix: plugin setting related

commit 81fecce552
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 12:16:42 2025 +0800

    refactor: enhance ChatNavbarContent structure by replacing Breadcrumbs with custom layout and adding separators

commit fc64b6c611
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 12:10:48 2025 +0800

    refactor: simplify MessageAgentTools component structure by removing unnecessary wrapper div

commit e0f383a050
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 12:08:32 2025 +0800

    fix: update button classes in AddAssistantOrAgentPopup for improved cursor behavior

commit 720284262f
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 12:06:58 2025 +0800

    refactor: update AgentModal to use TopView for improved modal management and enhance form structure

commit b334a2c5be
Author: kangfenmao <kangfenmao@qq.com>
Date:   Wed Nov 5 11:40:47 2025 +0800

    refactor: replace UpdateDialog with UpdateDialogPopup for better modal handling

commit 468aebd632
Author: dev <verc20.dev@proton.me>
Date:   Wed Nov 5 10:56:40 2025 +0800

    fix: plugins related wip

commit bd4a979f62
Author: dev <verc20.dev@proton.me>
Date:   Tue Nov 4 17:46:14 2025 +0800

    fix: add button related

commit b3316a4dc8
Author: dev <verc20.dev@proton.me>
Date:   Tue Nov 4 17:18:31 2025 +0800

    fix: agent tool result related components

commit 6ca7597a98
Author: dev <verc20.dev@proton.me>
Date:   Tue Nov 4 11:12:01 2025 +0800

    fix: lint

commit 7d0f0b38a6
Author: kangfenmao <kangfenmao@qq.com>
Date:   Tue Nov 4 09:56:32 2025 +0800

    wip

commit 96a607a410
Author: kangfenmao <kangfenmao@qq.com>
Date:   Mon Nov 3 20:23:25 2025 +0800

    wip

commit 235ad16252
Author: kangfenmao <kangfenmao@qq.com>
Date:   Mon Nov 3 20:08:45 2025 +0800

    wip

commit f23fe1b9e9
Author: kangfenmao <kangfenmao@qq.com>
Date:   Mon Nov 3 19:15:01 2025 +0800

    wip

commit 28fac543fc
Author: kangfenmao <kangfenmao@qq.com>
Date:   Mon Nov 3 18:39:39 2025 +0800

    wip

commit 3cc7ee01e2
Author: kangfenmao <kangfenmao@qq.com>
Date:   Mon Nov 3 17:33:13 2025 +0800

    wip

commit 37bdf9e508
Author: kangfenmao <kangfenmao@qq.com>
Date:   Sat Nov 1 19:16:58 2025 +0800

    wip

commit 1bf5104f97
Author: kangfenmao <kangfenmao@qq.com>
Date:   Sat Nov 1 12:12:01 2025 +0800

    wip
2025-11-06 18:27:43 +08:00
Phantom
76483d828e ci(i18n): change auto i18n workflow to run weekly (#11152)
* ci(i18n): change auto i18n workflow to run weekly

Update the workflow to run on a weekly schedule instead of on pull request events.
Also simplify the workflow by using yarn for dependency management and create a PR
for changes instead of committing directly to the branch.

* ci(github-actions): improve workflow step names with emojis

Use emojis in step names to enhance readability and visual scanning of workflow logs

* ci(workflow): prevent committing package.json and yarn.lock changes in i18n workflow
2025-11-06 18:25:04 +08:00
MyPrototypeWhat
059f821584 refactor(button & combobox): update size properties and improve styling
- Changed button size properties to use min-height for better layout consistency.
- Simplified combobox size properties by removing height specifications.
- Enhanced combobox option rendering with improved class management for better styling.
- Updated comments in ComboboxProps to English for clarity.
2025-11-06 18:20:43 +08:00
MyPrototypeWhat
1c38e31e9e feat(theme): enhance color tokens with brand colors and update primary color references
- Added new brand color tokens for Cherry Studio ranging from 50 to 950.
- Updated primary color references to use brand colors for improved consistency.
- Introduced hover states for primary and destructive colors to enhance UI interactivity.
2025-11-06 17:45:40 +08:00
MyPrototypeWhat
12e3a22726 feat: add Combobox component with search and multi-select functionality
- Introduced a new Combobox component that supports single and multiple selections, search functionality, and customizable rendering of options.
- Implemented variants for different states (default, error, disabled) and sizes (small, default, large).
- Added a demo and Storybook stories to showcase various use cases and states of the Combobox.
2025-11-06 17:24:45 +08:00
MyPrototypeWhat
2b1269af92 chore: update Storybook dependencies to version 10.0.5 and refactor Storybook configuration for absolute paths 2025-11-06 17:24:28 +08:00
MyPrototypeWhat
c4fa975b89 style(tailwind): add cursor pointer for non-disabled buttons 2025-11-06 17:24:12 +08:00
Jake Jia
816a92c609 feat(app-menu): add full i18n support and sync lanuage with app language settings (#11131)
Previously, the macOS menu bar was always displayed in English regardless of
system language or in-app language settings. This change enables the menu bar
to dynamically follow the application's language preference.

Key changes:
- Add language change listener to automatically update menu when user switches language
- Refactor AppMenuService with proper subscription management and cleanup
- Add appMenu translations for en-us, zh-cn, and zh-tw locales
- Implement destroy method to prevent memory leaks from config subscriptions
- Convert all menu items (File, Edit, View, Window, Help) to use localized labels

The menu bar now respects the in-app language setting and updates in real-time
when users change their preferences, providing a consistent multilingual experience.
2025-11-06 14:46:42 +08:00
beyondkmp
83e4d4363f fix: add Perplexity provider support and update API host formatting (#11162)
* feat: add Perplexity provider support and update API host formatting

- Introduced `isPerplexityProvider` function to identify Perplexity providers.
- Updated `formatProviderApiHost` to handle Perplexity provider API host formatting.
- Added unit tests for Perplexity provider configuration to ensure correct API host formatting behavior.

* fix: add 'perplexity' to unsupported API version providers list
2025-11-06 10:43:33 +08:00
fullex
1b67b851b7 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-11-05 16:24:06 +08:00
fullex
811e702568 fix: i18n 2025-11-05 16:14:28 +08:00
Phantom
1103449a4f fix: wrong migration in #10727 (#11151) 2025-11-05 14:33:07 +08:00
beyondkmp
56c7a7f066 🐛 fix: resolve TypeScript type conflicts and React hooks warnings (#11148)
* 🐛 fix: resolve TypeScript type conflicts and React hooks warnings

- Add @smithy/types@4.7.1 to resolutions to unify AWS SDK dependencies
- Wrap updatePaintingState in useCallback to fix exhaustive-deps warning
- Fix AWS Bedrock client type incompatibility issues

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(i18n): Auto update translations for PR #11148

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: GitHub Action <action@github.com>
2025-11-05 14:19:14 +08:00
Phantom
caa59c4c50 refactor(Topics & Sessions): Style and code structure adjustments (#10868)
* refactor(Tabs): extract shared styled components into separate file

Move common styled components (ListItem, ListItemNameContainer, ListItemName, ListItemEditInput) from SessionItem.tsx and Topics.tsx into shared.tsx to improve code reuse and maintainability

* refactor(components): extract ListContainer component for shared tab layouts

Create reusable ListContainer component to standardize layout styling across tabs
Replace manual div containers in Sessions and Topics components with new ListContainer

* refactor(ListItem): convert styled component to Tailwind CSS function component

- Convert ListItem from styled-components to Tailwind CSS function component
- Maintain all original styling and hover/active states
- Use HTMLDivElement props interface for proper TypeScript typing
- Preserve CSS custom properties for theme variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(ListItemNameContainer): convert styled component to Tailwind CSS function component

- Convert ListItemNameContainer from styled-components to Tailwind CSS function component
- Simplify layout styles using Tailwind's utility classes
- Use HTMLDivElement props interface for proper TypeScript typing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(ListItemName): convert styled component to Tailwind CSS function component

- Convert ListItemName from styled-components to Tailwind CSS function component
- Use inline styles for webkit-specific line clamping properties
- Remove complex animations from component definition (can be added via CSS classes)
- Use HTMLDivElement props interface for proper TypeScript typing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(ListItemEditInput): convert styled component to Tailwind CSS function component

- Convert ListItemEditInput from styled-components to Tailwind CSS function component
- Use proper InputHTMLAttributes type for input elements
- Remove styled-components import as no longer needed
- Maintain all original styling using Tailwind utility classes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(components): improve type safety and class ordering in shared components

- Replace HTMLAttributes with more specific ComponentProps types
- Reorder class names for better readability and consistency

* refactor(components): update styling and class handling in list items

- Replace deprecated classNames utility with cn from @heroui/react
- Consolidate style properties into className using cn
- Improve CSS selector syntax for better specificity
- Standardize padding and border radius values

* Revert "refactor(ListItemName): convert styled component to Tailwind CSS function component"

This reverts commit 196136068d.

* style(shared): increase font size and remove redundant padding

The font size was increased from 13px to 14px for better readability. Redundant padding in ListItemEditInput was removed to maintain consistent styling.

* refactor(AddButton): simplify component by removing FC type and inline props

Remove unnecessary FC type declaration and inline the Props interface with ButtonProps. Also clean up prop spreading by moving it to the end of the component.

* style(Topics): remove redundant className and add overflow styles

* refactor(components): extract MenuButton to shared components

Move MenuButton implementation from individual components to shared module to reduce code duplication and improve maintainability

* refactor(PendingIndicator): convert styled component to Tailwind CSS function component

- Convert PendingIndicator from styled-components to Tailwind CSS function component
- Use ComponentPropsWithoutRef<'div'> for consistent TypeScript typing
- Replace styled-components attrs with Tailwind animate-pulse class
- Use CSS custom properties for pulse-size variable
- Remove styled-components import as no longer needed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(components): replace styled indicators with shared StatusIndicator

Consolidate PendingIndicator and FulfilledIndicator into a single StatusIndicator component with variant support

* style(shared.tsx): adjust border styles for singlealone active state

* refactor: use type-only imports for react props

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-05 14:14:40 +08:00
fullex
2546dfbe5d chore: update Node.js version to 22 and Yarn version to 4.9.1 across workflows and documentation 2025-11-05 12:54:30 +08:00
beyondkmp
5fea202a7d fix: add PowerMonitorService for system shutdown handling (#11115)
* feat: add PowerMonitorService for system shutdown handling

- Add PowerMonitorService to monitor system shutdown events
- Use @paymoapp/electron-shutdown-handler for Windows platform
- Use Electron's powerMonitor for macOS and Linux platforms
- Support registering multiple shutdown handlers via dependency injection
- Register shutdown handlers in ipc.ts to disable auto-update and save data

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* format code

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-04 18:56:09 +08:00
fullex
7dce1d776b feat: app's version history log (#11097)
* feat: integrate version tracking in app initialization

- Added versionService to record the current version during app startup.
- This change prepares for upcoming data refactoring in version 2.

* fix: lint from other PRs & format

* feat: enhance version tracking with meaningful change detection

- Updated VersionService to check for changes in version, OS, environment, packaged status, and install mode before recording a new entry.
- Improved logging to reflect whether version information has changed or remained the same.
2025-11-04 14:13:07 +08:00
beyondkmp
346af4d338 fix: add CherryAI provider support and update API host formatting (#11135)
* fix: add CherryAI provider support and update API host formatting

* format code

* add ut

* format code
2025-11-04 12:59:14 +08:00
Zephyr
abd5d3b96f feat: amazon bedrock request use bedrock api key (#10727)
* feat: amazon bedrock request use bedrock api key

* feat: ai-core/provider support bedrock api key

* refactor: extract AWS Bedrock auth type and remove redundant state

* feat: add bedrock reasoning support

Add AWS Bedrock-specific reasoning parameter handling to support Extended Thinking feature for Claude models via Bedrock API.

Changes:
- Add `buildBedrockProviderOptions` function in options.ts to handle Bedrock-specific provider options
- Add `getBedrockReasoningParams` function in reasoning.ts to generate reasoning config with budget tokens
- Register 'bedrock' case in provider options switch to route to Bedrock-specific builder
- Reuse `getAnthropicThinkingBudget` helper for consistent token budget calculation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add migration for Bedrock auth type and API key fields

* refactor: replace any type with BedrockRuntimeClientConfig in AWS Bedrock client

* fix: bug fix

* fix: lint error

* fix: bedrock reasoning

* chore: bump persisted reducer version to 171

* Update src/renderer/src/store/migrate.ts

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: icarus <eurfelux@gmail.com>
2025-11-03 21:05:10 +08:00
Phantom
49bd298d37 feat(InputbarTools): add reasoning effort button to quick panel (#10959)
Add new menu item with lightbulb icon that opens the reasoning effort quick panel when clicked
2025-11-03 20:36:52 +08:00
Phantom
714a28ac29 fix(QuickPanel): Hide the options that should be hidden in the quick panel. (#10931)
* feat(QuickPanel): add hidden property to list items

Add support for hiding QuickPanel items by introducing a hidden property. This allows conditional visibility of items like the knowledge base button based on application state.

* docs(types): clarify settings field comment in Assistant type
2025-11-03 20:34:24 +08:00
MyPrototypeWhat
4ef4297391 refactor: update imports and button event handlers in story files
- Refactored import statements in CodeEditor, ThinkingEffect, ErrorBoundary, and Spinner story files for consistency and clarity.
- Changed button event handlers from `onPress` to `onClick` to align with standard React practices.
- Improved type imports for better organization and maintainability.
2025-11-03 19:17:50 +08:00
MyPrototypeWhat
292f7f7b75 chore: remove unused CSS files and update Storybook configurations
- Deleted the todocss.css file as it was no longer needed.
- Updated Storybook main.ts to include path aliasing for better module resolution.
- Removed deprecated stories and components, streamlining the codebase.
- Added new stories for CodeEditor, Ellipsis, ExpandableText, and other components to enhance documentation and showcase functionality.
2025-11-03 18:31:48 +08:00
beyondkmp
0cf81c04c8 chore: update electron-builder.yml to exclude additional configuration files from build (#11129)
* chore: update electron-builder.yml to exclude additional configuration files from build

* delete all hide files
2025-11-03 17:54:29 +08:00
kangfenmao
4186e9c990 feat: add support for TopP in model capabilities and update parameter builder to utilize it 2025-11-03 16:37:12 +08:00
MyPrototypeWhat
e56edbaa4f feat: enhance Button component with loading state and custom loading icon
- Added loading state support to the Button component, allowing for a spinner to be displayed when the button is in a loading state.
- Introduced props for custom loading icons and adjusted button behavior to disable when loading.
- Updated various components to utilize the new loading feature for better user experience during asynchronous actions.
2025-11-03 16:30:45 +08:00
kangfenmao
d8f68a6056 feat: initialize painting model with first available option and update default provider to 'cherryin' 2025-11-03 15:12:58 +08:00
kangfenmao
11bf50e722 fix(i18n): improve label retrieval for paintings image size options 2025-11-03 14:45:21 +08:00
MyPrototypeWhat
e06142b89a chore: remove deprecation comments from EditableNumber and Sortable components
- Removed deprecation comments from EditableNumber and Sortable components, as they were previously marked for removal due to low usage and dependency conflicts.
2025-11-03 14:24:22 +08:00
MyPrototypeWhat
fb6b326947 chore: mark multiple components and icons as deprecated
- Added deprecation comments to several components and icons due to low usage (≤2 times), indicating plans for removal in future versions.
- Components affected include EditableNumber, MaxContextCount, Sortable, ThinkingEffect, FileIcons, ToolIcon, and others.
- Suggested alternatives or direct usage of other components where applicable.
2025-11-03 13:41:00 +08:00
kangfenmao
32a84311aa feat: add SophNet LLM provider 2025-11-03 13:28:40 +08:00
beyondkmp
6eaa2b2461 refactor: remove main window dependency from PythonService and utilize WindowService for window management (#11116)
* refactor: remove main window dependency from PythonService and utilize WindowService for window management

* format code
2025-11-03 13:09:40 +08:00
MyPrototypeWhat
f9b7ff7d0e refactor: comment out unused CSS imports and styles
- Commented out the import of color.css in index.css.
- Commented out the universal selector in tailwind.css to prevent unintended styling, with a note for future removal after migration.
2025-11-03 11:30:58 +08:00
defi-failure
9f00f00546 chore: update v1.7.0-beta.3 release notes (#11105)
* chore: update v1.7.0-beta.3 release notes

* fix(i18n): Auto update translations for PR #11105

* fix: code lint error

---------

Co-authored-by: GitHub Action <action@github.com>
2025-11-02 22:28:36 +08:00
SuYao
bd94d23343 refactor:Unify the naming of configuration fields in thinking, change to using underscore style. (#11106)
* refactor:Unify the naming of configuration fields in thinking, change to using underscore style.

* fix(i18n): Auto update translations for PR #11106

* chore: lint

* fix: typecheck

---------

Co-authored-by: GitHub Action <action@github.com>
2025-11-02 19:24:23 +08:00
chenxue
5f1c14e2c0 fix(aihubmix): fix default rules missing app code (#11100)
* add imagen

* Update aihubmix.ts

* fix type

---------

Co-authored-by: zhaochenxue <zhaochenxue@bixin.cn>
2025-11-02 17:03:05 +08:00
dependabot[bot]
cdc12d5092 ci(deps): bump actions/stale from 9 to 10 (#11088)
Bumps [actions/stale](https://github.com/actions/stale) from 9 to 10.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v9...v10)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 08:44:53 +08:00
dependabot[bot]
e5967fd874 ci(deps): bump actions/upload-artifact from 4 to 5 (#11089)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 08:44:41 +08:00
dependabot[bot]
e2f1d80697 ci(deps): bump actions/setup-node from 4 to 6 (#11090)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-02 08:44:28 +08:00
fullex
14706ec4d7 fix: typecheck 2025-11-01 19:11:17 +08:00
fullex
09f2fb6538 fix: lint errors 2025-11-01 18:47:20 +08:00
fullex
62aedcaa23 Merge branch 'main' of github.com:CherryHQ/cherry-studio into v2 2025-11-01 18:46:38 +08:00
fullex
62ccb6105d feat: enhance CacheService and DataApiService documentation and structure
- Added detailed file overview comments to CacheService and DataApiService, clarifying their roles as infrastructure components rather than business services.
- Updated README.md to reflect the new structure and naming conventions, emphasizing the distinction between infrastructure and business logic components.
- Introduced a new TestService for API testing scenarios, providing mock data and various test cases.
- Created IBaseService interface to standardize service operations across the codebase.
- Improved organization of API handlers and services for better clarity and maintainability.
2025-11-01 18:36:28 +08:00
SuYao
28bc89ac7c perf: optimize QR code generation and connection info for phone LAN export (#11086)
* Increase QR code margin for better scanning reliability

- Change QRCodeSVG marginSize from 2 to 4 pixels
- Maintains same QR code size (160px) and error correction level (Q)
- Improves readability and scanning success rate on mobile devices

* Optimize QR code generation and connection info for phone LAN export

- Increase QR code size to 180px and reduce error correction to 'L' for better mobile scanning
- Replace hardcoded logo path with AppLogo config and increase logo size to 60px
- Simplify connection info by removing candidates array and using only essential IP/port data

* Optimize QR code data structure for LAN connection

- Compress IP addresses to numeric format to reduce QR code complexity
- Use compact array format instead of verbose JSON object structure
- Remove debug logging to streamline connection flow

* feat: 更新 WebSocket 状态和候选者响应类型,优化连接信息处理

* Increase QR code size and error correction for better scanning

- Increase QR code size from 180px to 300px for improved readability
- Change error correction level from L (low) to H (high) for better reliability
- Reduce logo size from 60px to 40px to accommodate larger QR data
- Increase margin size from 1 to 2 for better border clearance

* 调整二维码大小和图标尺寸以优化扫描体验

* fix(i18n): Auto update translations for PR #11086

* fix(i18n): Auto update translations for PR #11086

* fix(i18n): Auto update translations for PR #11086

---------

Co-authored-by: GitHub Action <action@github.com>
2025-11-01 12:13:11 +08:00
474 changed files with 23206 additions and 14983 deletions

View File

@@ -1,4 +1,4 @@
name: Auto I18N
name: Auto I18N Weekly
env:
TRANSLATION_API_KEY: ${{ secrets.TRANSLATE_API_KEY }}
@@ -7,14 +7,15 @@ env:
TRANSLATION_BASE_LOCALE: ${{ vars.AUTO_I18N_BASE_LOCALE || 'en-us'}}
on:
pull_request:
types: [opened, synchronize, reopened]
schedule:
# Runs at 00:00 UTC every Sunday.
# This corresponds to 08:00 AM UTC+8 (Beijing time) every Sunday.
- cron: "0 0 * * 0"
workflow_dispatch:
jobs:
auto-i18n:
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch' || github.event.pull_request.head.repo.full_name == 'CherryHQ/cherry-studio'
name: Auto I18N
permissions:
contents: write
@@ -24,45 +25,69 @@ jobs:
- name: 🐈‍⬛ Checkout
uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: 📦 Setting Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v6
with:
node-version: 20
package-manager-cache: false
node-version: 22
- name: 📦 Install dependencies in isolated directory
- name: 📦 Install corepack
run: corepack enable && corepack prepare yarn@4.9.1 --activate
- name: 📂 Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: 💾 Cache yarn dependencies
uses: actions/cache@v4
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
node_modules
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: 📦 Install dependencies
run: |
# 在临时目录安装依赖
mkdir -p /tmp/translation-deps
cd /tmp/translation-deps
echo '{"dependencies": {"@cherrystudio/openai": "^6.5.0", "cli-progress": "^3.12.0", "tsx": "^4.20.3", "@biomejs/biome": "2.2.4"}}' > package.json
npm install --no-package-lock
# 设置 NODE_PATH 让项目能找到这些依赖
echo "NODE_PATH=/tmp/translation-deps/node_modules" >> $GITHUB_ENV
yarn install
- name: 🏃‍♀️ Translate
run: npx tsx scripts/sync-i18n.ts && npx tsx scripts/auto-translate-i18n.ts
run: yarn sync:i18n && yarn auto:i18n
- name: 🔍 Format
run: cd /tmp/translation-deps && npx biome format --config-path /home/runner/work/cherry-studio/cherry-studio/biome.jsonc --write /home/runner/work/cherry-studio/cherry-studio/src/renderer/src/i18n/
run: yarn format
- name: 🔄 Commit changes
- name: 🔍 Check for changes
id: git_status
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add .
# Check if there are any uncommitted changes
git reset -- package.json yarn.lock # 不提交 package.json 和 yarn.lock 的更改
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "fix(i18n): Auto update translations for PR #${{ github.event.pull_request.number }}"
fi
git diff --exit-code --quiet || echo "::set-output name=has_changes::true"
git status --porcelain
- name: 🚀 Push changes
uses: ad-m/github-push-action@master
- name: 📅 Set current date for PR title
id: set_date
run: echo "CURRENT_DATE=$(date +'%b %d, %Y')" >> $GITHUB_ENV # e.g., "Jun 06, 2024"
- name: 🚀 Create Pull Request if changes exist
if: steps.git_status.outputs.has_changes == 'true'
uses: peter-evans/create-pull-request@v6
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.event.pull_request.head.ref }}
token: ${{ secrets.GITHUB_TOKEN }} # Use the built-in GITHUB_TOKEN for bot actions
commit-message: "feat(bot): Weekly automated script run"
title: "🤖 Weekly Automated Update: ${{ env.CURRENT_DATE }}"
body: |
This PR includes changes generated by the weekly auto i18n.
Review the changes before merging.
---
_Generated by the automated weekly workflow_
branch: "auto-i18n-weekly-${{ github.run_id }}" # Unique branch name
base: "main" # Or 'develop', set your base branch
delete-branch: true # Delete the branch after merging or closing the PR
- name: 📢 Notify if no changes
if: steps.git_status.outputs.has_changes != 'true'
run: echo "Bot script ran, but no changes were detected. No PR created."

View File

@@ -5,7 +5,7 @@ on:
types: [opened]
schedule:
# Run every day at 8:30 Beijing Time (00:30 UTC)
- cron: '30 0 * * *'
- cron: "30 0 * * *"
workflow_dispatch:
jobs:
@@ -54,9 +54,9 @@ jobs:
- name: Setup Node.js
if: steps.check_time.outputs.should_delay == 'false'
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: 22
- name: Process issue with Claude
if: steps.check_time.outputs.should_delay == 'false'
@@ -121,9 +121,9 @@ jobs:
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: 22
- name: Process pending issues with Claude
uses: anthropics/claude-code-action@main

View File

@@ -21,7 +21,7 @@ jobs:
contents: none
steps:
- name: Close needs-more-info issues
uses: actions/stale@v9
uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: 'needs-more-info'
@@ -42,7 +42,7 @@ jobs:
days-before-pr-close: -1
- name: Close inactive issues
uses: actions/stale@v9
uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: ${{ env.daysBeforeStale }}

View File

@@ -3,7 +3,7 @@ name: Nightly Build
on:
workflow_dispatch:
schedule:
- cron: '0 17 * * *' # 1:00 BJ Time
- cron: "0 17 * * *" # 1:00 BJ Time
permissions:
contents: write
@@ -56,9 +56,9 @@ jobs:
ref: main
- name: Install Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22
- name: macos-latest dependencies fix
if: matrix.os == 'macos-latest'
@@ -66,7 +66,7 @@ jobs:
brew install python-setuptools
- name: Install corepack
run: corepack enable && corepack prepare yarn@4.6.0 --activate
run: corepack enable && corepack prepare yarn@4.9.1 --activate
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -208,7 +208,7 @@ jobs:
echo "总计: $(find renamed-artifacts -type f | wc -l) 个文件"
- name: Upload artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: cherry-studio-nightly-${{ steps.date.outputs.date }}-${{ matrix.os }}
path: renamed-artifacts/*

View File

@@ -24,12 +24,12 @@ jobs:
uses: actions/checkout@v5
- name: Install Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22
- name: Install corepack
run: corepack enable && corepack prepare yarn@4.6.0 --activate
run: corepack enable && corepack prepare yarn@4.9.1 --activate
- name: Get yarn cache directory path
id: yarn-cache-dir-path

View File

@@ -4,9 +4,9 @@ on:
workflow_dispatch:
inputs:
tag:
description: 'Release tag (e.g. v1.0.0)'
description: "Release tag (e.g. v1.0.0)"
required: true
default: 'v1.0.0'
default: "v1.0.0"
push:
tags:
- v*.*.*
@@ -47,9 +47,9 @@ jobs:
npm version "$VERSION" --no-git-tag-version --allow-same-version
- name: Install Node.js
uses: actions/setup-node@v5
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 22
- name: macos-latest dependencies fix
if: matrix.os == 'macos-latest'
@@ -57,7 +57,7 @@ jobs:
brew install python-setuptools
- name: Install corepack
run: corepack enable && corepack prepare yarn@4.6.0 --activate
run: corepack enable && corepack prepare yarn@4.9.1 --activate
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -127,5 +127,5 @@ jobs:
allowUpdates: true
makeLatest: false
tag: ${{ steps.get-tag.outputs.tag }}
artifacts: 'dist/*.exe,dist/*.zip,dist/*.dmg,dist/*.AppImage,dist/*.snap,dist/*.deb,dist/*.rpm,dist/*.tar.gz,dist/latest*.yml,dist/rc*.yml,dist/beta*.yml,dist/*.blockmap'
artifacts: "dist/*.exe,dist/*.zip,dist/*.dmg,dist/*.AppImage,dist/*.snap,dist/*.deb,dist/*.rpm,dist/*.tar.gz,dist/latest*.yml,dist/rc*.yml,dist/beta*.yml,dist/*.blockmap"
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,7 +22,6 @@
"eslint.config.mjs"
],
"overrides": [
// set different env
{
"env": {
"node": true
@@ -37,8 +36,7 @@
"src/renderer/**/*.{ts,tsx}",
"packages/aiCore/**",
"packages/extension-table-plus/**",
"packages/ui/**",
"resources/js/**"
"packages/ui/**"
]
},
{
@@ -54,76 +52,24 @@
"node": true
},
"files": ["src/preload/**"]
},
{
"files": ["packages/ai-sdk-provider/**"],
"globals": {
"fetch": "readonly"
}
}
],
// We don't use the React plugin here because its behavior differs slightly from that of ESLint's React plugin.
"plugins": ["unicorn", "typescript", "oxc", "import"],
"rules": {
"constructor-super": "error",
"for-direction": "error",
"getter-return": "error",
"no-array-constructor": "off",
// "import/no-cycle": "error", // tons of error, bro
"no-async-promise-executor": "error",
"no-caller": "warn",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-dupe-args": "error",
"no-dupe-class-members": "error",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-eval": "warn",
"no-ex-assign": "error",
"no-extra-boolean-cast": "error",
"no-fallthrough": "warn",
"no-func-assign": "error",
"no-global-assign": "error",
"no-import-assign": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-loss-of-precision": "error",
"no-misleading-character-class": "error",
"no-new-native-nonconstructor": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-octal": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-self-assign": "error",
"no-setter-return": "error",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-this-before-super": "error",
"no-unassigned-vars": "warn",
"no-undef": "error",
"no-unexpected-multiline": "error",
"no-unreachable": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": "error",
"no-unused-expressions": "off", // this rule disallow us to use expression to call function, like `condition && fn()`
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-expressions": "off",
"no-unused-vars": ["warn", { "caughtErrors": "none" }],
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
"no-useless-rename": "warn",
"no-with": "error",
"oxc/bad-array-method-on-arguments": "warn",
"oxc/bad-char-at-comparison": "warn",
"oxc/bad-comparison-sequence": "warn",
@@ -135,19 +81,17 @@
"oxc/erasing-op": "warn",
"oxc/missing-throw": "warn",
"oxc/number-arg-out-of-range": "warn",
"oxc/only-used-in-recursion": "off", // manually off bacause of existing warning. may turn it on in the future
"oxc/only-used-in-recursion": "off",
"oxc/uninvoked-array-callback": "warn",
"require-yield": "error",
"typescript/await-thenable": "warn",
// "typescript/ban-ts-comment": "error",
"typescript/no-array-constructor": "error",
"typescript/consistent-type-imports": "error",
"typescript/no-array-constructor": "error",
"typescript/no-array-delete": "warn",
"typescript/no-base-to-string": "warn",
"typescript/no-duplicate-enum-values": "error",
"typescript/no-duplicate-type-constituents": "warn",
"typescript/no-empty-object-type": "off",
"typescript/no-explicit-any": "off", // not safe but too many errors
"typescript/no-explicit-any": "off",
"typescript/no-extra-non-null-assertion": "error",
"typescript/no-floating-promises": "warn",
"typescript/no-for-in-array": "warn",
@@ -156,7 +100,7 @@
"typescript/no-misused-new": "error",
"typescript/no-misused-spread": "warn",
"typescript/no-namespace": "error",
"typescript/no-non-null-asserted-optional-chain": "off", // it's off now. but may turn it on.
"typescript/no-non-null-asserted-optional-chain": "off",
"typescript/no-redundant-type-constituents": "warn",
"typescript/no-require-imports": "off",
"typescript/no-this-alias": "error",
@@ -174,20 +118,18 @@
"typescript/triple-slash-reference": "error",
"typescript/unbound-method": "warn",
"unicorn/no-await-in-promise-methods": "warn",
"unicorn/no-empty-file": "off", // manually off bacause of existing warning. may turn it on in the future
"unicorn/no-empty-file": "off",
"unicorn/no-invalid-fetch-options": "warn",
"unicorn/no-invalid-remove-event-listener": "warn",
"unicorn/no-new-array": "off", // manually off bacause of existing warning. may turn it on in the future
"unicorn/no-new-array": "off",
"unicorn/no-single-promise-in-promise-methods": "warn",
"unicorn/no-thenable": "off", // manually off bacause of existing warning. may turn it on in the future
"unicorn/no-thenable": "off",
"unicorn/no-unnecessary-await": "warn",
"unicorn/no-useless-fallback-in-spread": "warn",
"unicorn/no-useless-length-check": "warn",
"unicorn/no-useless-spread": "off", // manually off bacause of existing warning. may turn it on in the future
"unicorn/no-useless-spread": "off",
"unicorn/prefer-set-size": "warn",
"unicorn/prefer-string-starts-ends-with": "warn",
"use-isnan": "error",
"valid-typeof": "error"
"unicorn/prefer-string-starts-ends-with": "warn"
},
"settings": {
"jsdoc": {

View File

@@ -51,6 +51,9 @@
},
"tailwindCSS.classAttributes": [
"className",
"classNames",
"classNames"
],
"tailwindCSS.experimental.classRegex": [
["cva\\(([^;]*)[\\);]", "[`'\"`]([^'\"`;]*)[`'\"`]"]
]
}

View File

@@ -1,5 +1,5 @@
diff --git a/dist/index.js b/dist/index.js
index 4cc66d83af1cef39f6447dc62e680251e05ddf9f..eb9819cb674c1808845ceb29936196c4bb355172 100644
index ff305b112779b718f21a636a27b1196125a332d9..cf32ff5086d4d9e56f8fe90c98724559083bafc3 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -471,7 +471,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {
@@ -12,7 +12,7 @@ index 4cc66d83af1cef39f6447dc62e680251e05ddf9f..eb9819cb674c1808845ceb29936196c4
// src/google-generative-ai-options.ts
diff --git a/dist/index.mjs b/dist/index.mjs
index a032505ec54e132dc386dde001dc51f710f84c83..5efada51b9a8b56e3f01b35e734908ebe3c37043 100644
index 57659290f1cec74878a385626ad75b2a4d5cd3fc..d04e5927ec3725b6ffdb80868bfa1b5a48849537 100644
--- a/dist/index.mjs
+++ b/dist/index.mjs
@@ -477,7 +477,7 @@ function convertToGoogleGenerativeAIMessages(prompt, options) {

View File

@@ -1,5 +1,5 @@
diff --git a/dist/index.js b/dist/index.js
index cc6652c4e7f32878a64a2614115bf7eeb3b7c890..76e989017549c89b45d633525efb1f318026d9b2 100644
index 992c85ac6656e51c3471af741583533c5a7bf79f..83c05952a07aebb95fc6c62f9ddb8aa96b52ac0d 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -274,6 +274,7 @@ var openaiChatResponseSchema = (0, import_provider_utils3.lazyValidator)(
@@ -18,30 +18,29 @@ index cc6652c4e7f32878a64a2614115bf7eeb3b7c890..76e989017549c89b45d633525efb1f31
tool_calls: import_v42.z.array(
import_v42.z.object({
index: import_v42.z.number(),
@@ -785,6 +787,14 @@ var OpenAIChatLanguageModel = class {
@@ -785,6 +787,13 @@ var OpenAIChatLanguageModel = class {
if (text != null && text.length > 0) {
content.push({ type: "text", text });
}
+ const reasoning =
+ choice.message.reasoning_content;
+ const reasoning = choice.message.reasoning_content;
+ if (reasoning != null && reasoning.length > 0) {
+ content.push({
+ type: 'reasoning',
+ text: reasoning,
+ text: reasoning
+ });
+ }
for (const toolCall of (_a = choice.message.tool_calls) != null ? _a : []) {
content.push({
type: "tool-call",
@@ -866,6 +876,7 @@ var OpenAIChatLanguageModel = class {
@@ -866,6 +875,7 @@ var OpenAIChatLanguageModel = class {
};
let isFirstChunk = true;
let metadataExtracted = false;
let isActiveText = false;
+ let isActiveReasoning = false;
const providerMetadata = { openai: {} };
return {
stream: response.pipeThrough(
@@ -920,6 +931,22 @@ var OpenAIChatLanguageModel = class {
@@ -923,6 +933,21 @@ var OpenAIChatLanguageModel = class {
return;
}
const delta = choice.delta;
@@ -54,7 +53,6 @@ index cc6652c4e7f32878a64a2614115bf7eeb3b7c890..76e989017549c89b45d633525efb1f31
+ });
+ isActiveReasoning = true;
+ }
+
+ controller.enqueue({
+ type: 'reasoning-delta',
+ id: 'reasoning-0',
@@ -64,7 +62,7 @@ index cc6652c4e7f32878a64a2614115bf7eeb3b7c890..76e989017549c89b45d633525efb1f31
if (delta.content != null) {
if (!isActiveText) {
controller.enqueue({ type: "text-start", id: "0" });
@@ -1032,6 +1059,9 @@ var OpenAIChatLanguageModel = class {
@@ -1035,6 +1060,9 @@ var OpenAIChatLanguageModel = class {
}
},
flush(controller) {

View File

@@ -1,5 +1,5 @@
diff --git a/sdk.mjs b/sdk.mjs
index 10162e5b1624f8ce667768943347a6e41089ad2f..32568ae08946590e382270c88d85fba81187568e 100755
index 8cc6aaf0b25bcdf3c579ec95cde12d419fcb2a71..3b3b8beaea5ad2bbac26a15f792058306d0b059f 100755
--- a/sdk.mjs
+++ b/sdk.mjs
@@ -6213,7 +6213,7 @@ function createAbortController(maxListeners = DEFAULT_MAX_LISTENERS) {
@@ -11,7 +11,7 @@ index 10162e5b1624f8ce667768943347a6e41089ad2f..32568ae08946590e382270c88d85fba8
import { createInterface } from "readline";
// ../src/utils/fsOperations.ts
@@ -6487,14 +6487,11 @@ class ProcessTransport {
@@ -6505,14 +6505,11 @@ class ProcessTransport {
const errorMessage = isNativeBinary(pathToClaudeCodeExecutable) ? `Claude Code native binary not found at ${pathToClaudeCodeExecutable}. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.` : `Claude Code executable not found at ${pathToClaudeCodeExecutable}. Is options.pathToClaudeCodeExecutable set?`;
throw new ReferenceError(errorMessage);
}

View File

@@ -11,8 +11,7 @@ This file provides guidance to AI coding assistants when working with code in th
- **Log centrally**: Route all logging through `loggerService` with the right context—no `console.log`.
- **Research via subagent**: Lean on `subagent` for external docs, APIs, news, and references.
- **Always propose before executing**: Before making any changes, clearly explain your planned approach and wait for explicit user approval to ensure alignment and prevent unwanted modifications.
- **Write conventional commits with emoji**: Commit small, focused changes using emoji-prefixed Conventional Commit messages (e.g., `feat:`, `🐛 fix:`, `♻️ refactor:`, `
📝 docs:`).
- **Write conventional commits**: Commit small, focused changes using Conventional Commit messages (e.g., `feat:`, `fix:`, `refactor:`, `docs:`).
## Development Commands

View File

@@ -82,7 +82,7 @@ Cherry Studio is a desktop client that supports multiple LLM providers, availabl
1. **Diverse LLM Provider Support**:
- ☁️ Major LLM Cloud Services: OpenAI, Gemini, Anthropic, and more
- 🔗 AI Web Service Integration: Claude, Perplexity, Poe, and others
- 🔗 AI Web Service Integration: Claude, Perplexity, [Poe](https://poe.com/), and others
- 💻 Local Model Support with Ollama, LM Studio
2. **AI Assistants & Conversations**:
@@ -238,10 +238,6 @@ The Enterprise Edition addresses core challenges in team collaboration by centra
## ✨ Online Demo
> 🚧 **Public Beta Notice**
>
> The Enterprise Edition is currently in its early public beta stage, and we are actively iterating and optimizing its features. We are aware that it may not be perfectly stable yet. If you encounter any issues or have valuable suggestions during your trial, we would be very grateful if you could contact us via email to provide feedback.
**🔗 [Cherry Studio Enterprise](https://www.cherry-ai.com/enterprise)**
## Version Comparison
@@ -249,7 +245,7 @@ The Enterprise Edition addresses core challenges in team collaboration by centra
| Feature | Community Edition | Enterprise Edition |
| :---------------- | :----------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |
| **Open Source** | ✅ Yes | ⭕️ Partially released to customers |
| **Cost** | Free for Personal Use / Commercial License | Buyout / Subscription Fee |
| **Cost** | [AGPL-3.0 License](https://github.com/CherryHQ/cherry-studio?tab=AGPL-3.0-1-ov-file) | Buyout / Subscription Fee |
| **Admin Backend** | — | ● Centralized **Model** Access<br>● **Employee** Management<br>● Shared **Knowledge Base**<br>● **Access** Control<br>● **Data** Backup |
| **Server** | — | ✅ Dedicated Private Deployment |
@@ -262,8 +258,12 @@ We believe the Enterprise Edition will become your team's AI productivity engine
# 🔗 Related Projects
- [new-api](https://github.com/QuantumNous/new-api): The next-generation LLM gateway and AI asset management system supports multiple languages.
- [one-api](https://github.com/songquanpeng/one-api): LLM API management and distribution system supporting mainstream models like OpenAI, Azure, and Anthropic. Features a unified API interface, suitable for key management and secondary distribution.
- [Poe](https://poe.com/): Poe gives you access to the best AI, all in one place. Explore GPT-5, Claude Opus 4.1, DeepSeek-R1, Veo 3, ElevenLabs, and millions of others.
- [ublacklist](https://github.com/iorate/ublacklist): Blocks specific sites from appearing in Google search results
# 🚀 Contributors

View File

@@ -1,21 +0,0 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"aliases": {
"components": "@renderer/ui/third-party",
"hooks": "@renderer/hooks",
"lib": "@renderer/lib",
"ui": "@renderer/ui",
"utils": "@renderer/utils"
},
"iconLibrary": "lucide",
"rsc": false,
"style": "new-york",
"tailwind": {
"baseColor": "zinc",
"config": "",
"css": "src/renderer/src/assets/styles/tailwind.css",
"cssVariables": true,
"prefix": ""
},
"tsx": true
}

View File

@@ -18,13 +18,13 @@ yarn
### Setup Node.js
Download and install [Node.js v20.x.x](https://nodejs.org/en/download)
Download and install [Node.js v22.x.x](https://nodejs.org/en/download)
### Setup Yarn
```bash
corepack enable
corepack prepare yarn@4.6.0 --activate
corepack prepare yarn@4.9.1 --activate
```
### Install Dependencies

View File

@@ -11,6 +11,8 @@ The Test Plan is divided into the RC channel and the Beta channel, with the foll
Users can enable the "Test Plan" and select the version channel in the software's `Settings` > `About`. Please note that the versions in the "Test Plan" cannot guarantee data consistency, so be sure to back up your data before using them.
After enabling the RC channel or Beta channel, if a stable version is released, users will still be upgraded to the stable version.
Users are welcome to submit issues or provide feedback through other channels for any bugs encountered during testing. Your feedback is very important to us.
## Developer Guide

View File

@@ -11,6 +11,8 @@
用户可以在软件的`设置`-`关于`中,开启“测试计划”并选择版本通道。请注意“测试计划”的版本无法保证数据的一致性,请使用前一定要备份数据。
用户选择RC版通道或Beta版通道后若发布了正式版仍旧会升级到正式版。
用户在测试过程中发现的BUG欢迎提交issue或通过其他渠道反馈。用户的反馈对我们非常重要。
## 开发者指南

View File

@@ -21,6 +21,8 @@ files:
- "**/*"
- "!**/{.vscode,.yarn,.yarn-lock,.github,.cursorrules,.prettierrc}"
- "!electron.vite.config.{js,ts,mjs,cjs}}"
- "!.*"
- "!components.json"
- "!**/{.eslintignore,.eslintrc.js,.eslintrc.json,.eslintcache,root.eslint.config.js,eslint.config.js,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,eslint.config.mjs,dev-app-update.yml,CHANGELOG.md,README.md,biome.jsonc}"
- "!**/{.env,.env.*,.npmrc,pnpm-lock.yaml}"
- "!**/{tsconfig.json,tsconfig.tsbuildinfo,tsconfig.node.json,tsconfig.web.json}"
@@ -134,116 +136,50 @@ artifactBuildCompleted: scripts/artifact-build-completed.js
releaseInfo:
releaseNotes: |
<!--LANG:en-->
What's New in v1.7.0-beta.3
What's New in v1.7.0-beta.5
New Features:
- Enhanced Tool Permission System: Real-time tool approval interface with improved UX
- Plugin Management System: Support for Claude Agent plugins (agents, commands, skills)
- Skill Tool: Add skill execution capabilities for agents
- Mobile App Data Restore: Support restoring data to mobile applications
- OpenMinerU Preprocessor: Knowledge base now supports open-source MinerU for document processing
- HuggingFace Provider: Added HuggingFace as AI provider
- Claude Haiku 4.5: Support for the latest Claude Haiku 4.5 model
- Ling Series Models: Added support for Ling-1T and related models
- Intel OVMS Painting: New painting provider using Intel OpenVINO Model Server
- Automatic Update Checks: Implement periodic update checking with configurable intervals
- HuggingChat Mini App: New mini app for HuggingChat integration
- MCPRouter Provider: Added MCPRouter provider integration with token management and server synchronization
- MCP Marketplace: Enhanced MCP server discovery and management with multi-provider marketplace support
- Agent Permission Mode Display: Visual permission mode cards in empty session states
- Assistant Subscription Settings: Added subscription URL management in assistant presets
Improvements:
- Agent Creation: New agents are now automatically activated upon creation
- Lazy Loading: Optimize page load performance with route lazy loading
- UI Enhancements: Improved agent item styling and layout consistency
- Navigation: Better navbar layout for fullscreen mode on macOS
- Settings Tab: Enhanced context slider consistency
- Backup Manager: Unified footer layout for local and S3 backup managers
- Menu System: Enhanced application menu with improved help section
- Proxy Rules: Comprehensive proxy bypass rule matching
- German Language: Added German language support
- MCP Confirmation: Added confirmation modal when activating protocol-installed MCP servers
- Translation: Enhanced translation script with concurrency and validation
- Electron & Vite: Updated to Electron 38 and Vite 4.0.1
Claude Code Tool Improvements:
- GlobTool: Now counts lines instead of files in output for better clarity
- ReadTool: Automatically removes system reminder tags from output
- TodoWriteTool: Improved rendering behavior
- Environment Variables: Updated model-related environment variable names
- UI Optimization: Sidebar tooltip placement improved on macOS to avoid overlapping window controls
- MCP Server Logos: Display server logos in Agent settings tooling section
- Long Command Handling: Bash command tags now auto-truncate (hover to view full command for commands over 100 chars)
- MCP OAuth Callback: Fixed callback page hanging and added multilingual support (10 languages)
- Error Display: Improved error block display order for better readability
- Plugin Browser: Centered tab alignment for better visual consistency
Bug Fixes:
- Fixed session model not being used when sending messages
- Fixed tool approval UI and shared workspace plugin inconsistencies
- Fixed API server readiness notification to renderer
- Fixed grouped items not respecting saved tag order
- Fixed assistant/agent activation when creating new ones
- Fixed Dashscope Anthropic API host and migrated old configs
- Fixed Qwen3 thinking mode control for Ollama
- Fixed disappeared MCP button
- Fixed create assistant causing blank screen
- Fixed up-down button visibility in some cases
- Fixed hooks preventing save on composing enter key
- Fixed Azure GPT-image-1 and OpenRouter Gemini-image
- Fixed Silicon reasoning issues
- Fixed topic branch incomplete copy with two-pass ID mapping
- Fixed deep research model search context restrictions
- Fixed model capability checking logic
- Fixed reranker API error response capture
- Fixed right-click paste file content into inputbar
- Fixed minimax-m2 support in aiCore
- Fixed Agent sessions not inheriting allowed_tools configuration
- Fixed Gemini endpoint thinking budget spelling error
- Fixed MCP card description text overflow
- Fixed unnecessary message timestamp updates on UI-only state changes
- Updated dependencies: Bun to 1.3.1, uv to 0.9.5
<!--LANG:zh-CN-->
v1.7.0-beta.3 新特性
v1.7.0-beta.5 新特性
新功能:
- 增强工具权限系统:实时工具审批界面,改进用户体验
- 插件管理系统:支持 Claude Agent 插件agents、commands、skills
- 技能工具:为 Agent 添加技能执行能力
- 移动应用数据恢复:支持将数据恢复到移动应用程序
- OpenMinerU 预处理器:知识库现支持使用开源 MinerU 处理文档
- HuggingFace 提供商:添加 HuggingFace 作为 AI 提供商
- Claude Haiku 4.5:支持最新的 Claude Haiku 4.5 模型
- Ling 系列模型:添加 Ling-1T 及相关模型支持
- Intel OVMS 绘图:使用 Intel OpenVINO 模型服务器的新绘图提供商
- 自动更新检查:实现可配置间隔的定期更新检查
- HuggingChat 小程序:新增 HuggingChat 集成小程序
- MCPRouter 提供商:新增 MCPRouter 提供商集成,支持 token 管理和服务器同步
- MCP 市场:增强 MCP 服务器发现和管理功能,支持多提供商市场
- Agent 权限模式展示:空会话状态显示可视化权限模式卡片
- 助手订阅设置:在助手预设中添加订阅 URL 管理功能
改进:
- Agent 创建:新创建的 Agent 现在会自动激活
- 懒加载:通过路由懒加载优化页面加载性能
- UI 增强:改进 Agent 项目样式和布局一致性
- 导航:改进 macOS 全屏模式下的导航栏布局
- 设置选项卡:增强上下文滑块一致
- 备份管理器:统一本地和 S3 备份管理器的页脚布局
- 菜单系统:增强应用菜单,改进帮助部分
- 代理规则:全面的代理绕过规则匹配
- 德语支持:添加德语语言支持
- MCP 确认:添加激活协议安装的 MCP 服务器时的确认模态框
- 翻译:增强翻译脚本的并发和验证功能
- Electron & Vite更新至 Electron 38 和 Vite 4.0.1
Claude Code 工具改进:
- GlobTool现在计算行数而不是文件数提供更清晰的输出
- ReadTool自动从输出中移除系统提醒标签
- TodoWriteTool改进渲染行为
- 环境变量:更新模型相关的环境变量名称
- UI 优化macOS 上侧边栏工具提示位置优化,避免与窗口控制按钮重叠
- MCP 服务器标志:在 Agent 设置工具部分显示服务器 logo
- 长命令处理Bash 命令标签自动截断(超过 100 字符时悬停查看完整内容)
- MCP OAuth 回调修复回调页面挂起问题并添加多语言支持10 种语言)
- 错误信息展示:改进错误块显示顺序,提高可读
- 插件浏览器:标签页居中对齐,视觉效果更统一
问题修复:
- 修复发送消息时未使用会话模型
- 修复工具审批 UI 和共享工作区插件不一致
- 修复 API 服务器就绪通知到渲染器
- 修复分组项目不遵守已保存标签顺序
- 修复创建新的助手/Agent 时的激活问题
- 修复 Dashscope Anthropic API 主机并迁移旧配置
- 修复 Ollama 的 Qwen3 思考模式控制
- 修复 MCP 按钮消失
- 修复创建助手导致空白屏幕
- 修复某些情况下上下按钮可见性
- 修复钩子在输入法输入时阻止保存
- 修复 Azure GPT-image-1 和 OpenRouter Gemini-image
- 修复 Silicon 推理问题
- 修复主题分支不完整复制,采用两阶段 ID 映射
- 修复深度研究模型搜索上下文限制
- 修复模型能力检查逻辑
- 修复 reranker API 错误响应捕获
- 修复右键粘贴文件内容到输入栏
- 修复 aiCore 中的 minimax-m2 支持
- 修复 Agent 会话未继承 allowed_tools 配置
- 修复 Gemini 端点 thinking budget 拼写错误
- 修复 MCP 卡片描述文本溢出问题
- 修复仅 UI 状态变化时消息时间戳不必要的更新
- 依赖更新Bun 升级到 1.3.1uv 升级到 0.9.5
<!--LANG:END-->

View File

@@ -111,6 +111,7 @@ export default defineConfig({
'@cherrystudio/ai-core/built-in/plugins': resolve('packages/aiCore/src/core/plugins/built-in'),
'@cherrystudio/ai-core': resolve('packages/aiCore/src'),
'@cherrystudio/extension-table-plus': resolve('packages/extension-table-plus/src'),
'@cherrystudio/ai-sdk-provider': resolve('packages/ai-sdk-provider/src'),
'@cherrystudio/ui': resolve('packages/ui/src')
}
},

View File

@@ -142,24 +142,19 @@ export default defineConfig([
files: ['**/*.{ts,tsx,js,jsx}'],
ignores: ['src/renderer/src/windows/dataRefactorTest/**/*.{ts,tsx}'],
rules: {
'no-restricted-imports': [
'error',
{
paths: [
{
name: 'antd',
importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'],
message:
'❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"'
},
// {
// name: '@heroui/react',
// message:
// '❌ Do not import components from heroui directly. Use our wrapped components instead: import { ... } from "@cherrystudio/ui"'
// }
]
}
]
// 'no-restricted-imports': [
// 'error',
// {
// paths: [
// {
// name: 'antd',
// importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'],
// message:
// '❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"'
// }
// ]
// }
// ]
}
},
])

View File

@@ -81,10 +81,11 @@
"release:aicore": "yarn workspace @cherrystudio/ai-core version patch --immediate && yarn workspace @cherrystudio/ai-core npm publish --access public"
},
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "patch:@anthropic-ai/claude-agent-sdk@npm%3A0.1.25#~/.yarn/patches/@anthropic-ai-claude-agent-sdk-npm-0.1.25-08bbabb5d3.patch",
"@anthropic-ai/claude-agent-sdk": "patch:@anthropic-ai/claude-agent-sdk@npm%3A0.1.30#~/.yarn/patches/@anthropic-ai-claude-agent-sdk-npm-0.1.30-b50a299674.patch",
"@libsql/client": "0.14.0",
"@libsql/win32-x64-msvc": "^0.4.7",
"@napi-rs/system-ocr": "patch:@napi-rs/system-ocr@npm%3A1.0.2#~/.yarn/patches/@napi-rs-system-ocr-npm-1.0.2-59e7a78e8b.patch",
"@paymoapp/electron-shutdown-handler": "^1.1.2",
"@strongtz/win32-arm64-msvc": "^0.4.7",
"express": "^5.1.0",
"font-list": "^2.0.0",
@@ -108,17 +109,17 @@
"@agentic/exa": "^7.3.3",
"@agentic/searxng": "^7.3.3",
"@agentic/tavily": "^7.3.3",
"@ai-sdk/amazon-bedrock": "^3.0.42",
"@ai-sdk/google-vertex": "^3.0.48",
"@ai-sdk/huggingface": "patch:@ai-sdk/huggingface@npm%3A0.0.4#~/.yarn/patches/@ai-sdk-huggingface-npm-0.0.4-8080836bc1.patch",
"@ai-sdk/mistral": "^2.0.19",
"@ai-sdk/perplexity": "^2.0.13",
"@ai-sdk/amazon-bedrock": "^3.0.53",
"@ai-sdk/google-vertex": "^3.0.62",
"@ai-sdk/huggingface": "patch:@ai-sdk/huggingface@npm%3A0.0.8#~/.yarn/patches/@ai-sdk-huggingface-npm-0.0.8-d4d0aaac93.patch",
"@ai-sdk/mistral": "^2.0.23",
"@ai-sdk/perplexity": "^2.0.17",
"@ant-design/v5-patch-for-react-19": "^1.0.3",
"@anthropic-ai/sdk": "^0.41.0",
"@anthropic-ai/vertex-sdk": "patch:@anthropic-ai/vertex-sdk@npm%3A0.11.4#~/.yarn/patches/@anthropic-ai-vertex-sdk-npm-0.11.4-c19cb41edb.patch",
"@aws-sdk/client-bedrock": "^3.840.0",
"@aws-sdk/client-bedrock-runtime": "^3.840.0",
"@aws-sdk/client-s3": "^3.840.0",
"@aws-sdk/client-bedrock": "^3.910.0",
"@aws-sdk/client-bedrock-runtime": "^3.910.0",
"@aws-sdk/client-s3": "^3.910.0",
"@biomejs/biome": "2.2.4",
"@cherrystudio/ai-core": "workspace:^1.0.0-alpha.18",
"@cherrystudio/embedjs": "^0.1.31",
@@ -150,7 +151,6 @@
"@eslint/js": "^9.22.0",
"@google/genai": "patch:@google/genai@npm%3A1.0.1#~/.yarn/patches/@google-genai-npm-1.0.1-e26f0f9af7.patch",
"@hello-pangea/dnd": "^18.0.1",
"@heroui/react": "^2.8.3",
"@langchain/community": "^1.0.0",
"@langchain/core": "patch:@langchain/core@npm%3A1.0.2#~/.yarn/patches/@langchain-core-npm-1.0.2-183ef83fe4.patch",
"@langchain/openai": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
@@ -234,7 +234,7 @@
"@viz-js/lang-dot": "^1.0.5",
"@viz-js/viz": "^3.14.0",
"@xyflow/react": "^12.4.4",
"ai": "^5.0.76",
"ai": "^5.0.90",
"antd": "patch:antd@npm%3A5.27.0#~/.yarn/patches/antd-npm-5.27.0-aa91c36546.patch",
"archiver": "^7.0.1",
"async-mutex": "^0.5.0",
@@ -244,7 +244,7 @@
"check-disk-space": "3.4.0",
"cheerio": "^1.1.2",
"chokidar": "^4.0.3",
"claude-code-plugins": "1.0.1",
"claude-code-plugins": "1.0.3",
"cli-progress": "^3.12.0",
"clsx": "^2.1.1",
"code-inspector-plugin": "^0.20.14",
@@ -351,6 +351,7 @@
"striptags": "^3.2.0",
"styled-components": "^6.1.11",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tailwindcss": "^4.1.13",
"tar": "^7.4.3",
"tiny-pinyin": "^1.3.2",
@@ -376,6 +377,7 @@
"zod": "^4.1.5"
},
"resolutions": {
"@smithy/types": "4.7.1",
"@codemirror/language": "6.11.3",
"@codemirror/lint": "6.8.5",
"@codemirror/view": "6.38.1",
@@ -395,7 +397,6 @@
"undici": "6.21.2",
"vite": "npm:rolldown-vite@7.1.5",
"tesseract.js@npm:*": "patch:tesseract.js@npm%3A6.0.1#~/.yarn/patches/tesseract.js-npm-6.0.1-2562a7e46d.patch",
"@ai-sdk/google@npm:2.0.23": "patch:@ai-sdk/google@npm%3A2.0.23#~/.yarn/patches/@ai-sdk-google-npm-2.0.23-81682e07b0.patch",
"@ai-sdk/openai@npm:^2.0.52": "patch:@ai-sdk/openai@npm%3A2.0.52#~/.yarn/patches/@ai-sdk-openai-npm-2.0.52-b36d949c76.patch",
"@img/sharp-darwin-arm64": "0.34.3",
"@img/sharp-darwin-x64": "0.34.3",
@@ -406,7 +407,10 @@
"openai@npm:5.12.2": "npm:@cherrystudio/openai@6.5.0",
"@langchain/openai@npm:>=0.1.0 <0.6.0": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
"@langchain/openai@npm:^0.3.16": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
"@langchain/openai@npm:>=0.2.0 <0.7.0": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch"
"@langchain/openai@npm:>=0.2.0 <0.7.0": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
"@ai-sdk/openai@npm:2.0.64": "patch:@ai-sdk/openai@npm%3A2.0.64#~/.yarn/patches/@ai-sdk-openai-npm-2.0.64-48f99f5bf3.patch",
"@ai-sdk/openai@npm:^2.0.42": "patch:@ai-sdk/openai@npm%3A2.0.64#~/.yarn/patches/@ai-sdk-openai-npm-2.0.64-48f99f5bf3.patch",
"@ai-sdk/google@npm:2.0.31": "patch:@ai-sdk/google@npm%3A2.0.31#~/.yarn/patches/@ai-sdk-google-npm-2.0.31-b0de047210.patch"
},
"packageManager": "yarn@4.9.1",
"lint-staged": {

View File

@@ -0,0 +1,39 @@
# @cherrystudio/ai-sdk-provider
CherryIN provider bundle for the [Vercel AI SDK](https://ai-sdk.dev/).
It exposes the CherryIN OpenAI-compatible entrypoints and dynamically routes Anthropic and Gemini model ids to their CherryIN upstream equivalents.
## Installation
```bash
npm install ai @cherrystudio/ai-sdk-provider @ai-sdk/anthropic @ai-sdk/google @ai-sdk/openai
# or
yarn add ai @cherrystudio/ai-sdk-provider @ai-sdk/anthropic @ai-sdk/google @ai-sdk/openai
```
> **Note**: This package requires peer dependencies `ai`, `@ai-sdk/anthropic`, `@ai-sdk/google`, and `@ai-sdk/openai` to be installed.
## Usage
```ts
import { createCherryIn, cherryIn } from '@cherrystudio/ai-sdk-provider'
const cherryInProvider = createCherryIn({
apiKey: process.env.CHERRYIN_API_KEY,
// optional overrides:
// baseURL: 'https://open.cherryin.net/v1',
// anthropicBaseURL: 'https://open.cherryin.net/anthropic',
// geminiBaseURL: 'https://open.cherryin.net/gemini/v1beta',
})
// Chat models will auto-route based on the model id prefix:
const openaiModel = cherryInProvider.chat('gpt-4o-mini')
const anthropicModel = cherryInProvider.chat('claude-3-5-sonnet-latest')
const geminiModel = cherryInProvider.chat('gemini-2.0-pro-exp')
const { text } = await openaiModel.invoke('Hello CherryIN!')
```
The provider also exposes `completion`, `responses`, `embedding`, `image`, `transcription`, and `speech` helpers aligned with the upstream APIs.
See [AI SDK docs](https://ai-sdk.dev/providers/community-providers/custom-providers) for configuring custom providers.

View File

@@ -0,0 +1,64 @@
{
"name": "@cherrystudio/ai-sdk-provider",
"version": "0.1.0",
"description": "Cherry Studio AI SDK provider bundle with CherryIN routing.",
"keywords": [
"ai-sdk",
"provider",
"cherryin",
"vercel-ai-sdk",
"cherry-studio"
],
"author": "Cherry Studio",
"license": "MIT",
"homepage": "https://github.com/CherryHQ/cherry-studio",
"repository": {
"type": "git",
"url": "git+https://github.com/CherryHQ/cherry-studio.git",
"directory": "packages/ai-sdk-provider"
},
"bugs": {
"url": "https://github.com/CherryHQ/cherry-studio/issues"
},
"type": "module",
"main": "dist/index.cjs",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsdown",
"dev": "tsc -w",
"clean": "rm -rf dist",
"test": "vitest run",
"test:watch": "vitest"
},
"peerDependencies": {
"@ai-sdk/anthropic": "^2.0.29",
"@ai-sdk/google": "^2.0.23",
"@ai-sdk/openai": "^2.0.64",
"ai": "^5.0.26"
},
"dependencies": {
"@ai-sdk/provider": "^2.0.0",
"@ai-sdk/provider-utils": "^3.0.12"
},
"devDependencies": {
"tsdown": "^0.13.3",
"typescript": "^5.8.2",
"vitest": "^3.2.4"
},
"sideEffects": false,
"engines": {
"node": ">=18.0.0"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs",
"default": "./dist/index.js"
}
}
}

View File

@@ -0,0 +1,319 @@
import { AnthropicMessagesLanguageModel } from '@ai-sdk/anthropic/internal'
import { GoogleGenerativeAILanguageModel } from '@ai-sdk/google/internal'
import type { OpenAIProviderSettings } from '@ai-sdk/openai'
import {
OpenAIChatLanguageModel,
OpenAICompletionLanguageModel,
OpenAIEmbeddingModel,
OpenAIImageModel,
OpenAIResponsesLanguageModel,
OpenAISpeechModel,
OpenAITranscriptionModel
} from '@ai-sdk/openai/internal'
import {
type EmbeddingModelV2,
type ImageModelV2,
type LanguageModelV2,
type ProviderV2,
type SpeechModelV2,
type TranscriptionModelV2
} from '@ai-sdk/provider'
import type { FetchFunction } from '@ai-sdk/provider-utils'
import { loadApiKey, withoutTrailingSlash } from '@ai-sdk/provider-utils'
export const CHERRYIN_PROVIDER_NAME = 'cherryin' as const
export const DEFAULT_CHERRYIN_BASE_URL = 'https://open.cherryin.net/v1'
export const DEFAULT_CHERRYIN_ANTHROPIC_BASE_URL = 'https://open.cherryin.net/v1'
export const DEFAULT_CHERRYIN_GEMINI_BASE_URL = 'https://open.cherryin.net/v1beta/models'
const ANTHROPIC_PREFIX = /^anthropic\//i
const GEMINI_PREFIX = /^google\//i
// const GEMINI_EXCLUDED_SUFFIXES = ['-nothink', '-search']
type HeaderValue = string | undefined
type HeadersInput = Record<string, HeaderValue> | (() => Record<string, HeaderValue>)
export interface CherryInProviderSettings {
/**
* CherryIN API key.
*
* If omitted, the provider will read the `CHERRYIN_API_KEY` environment variable.
*/
apiKey?: string
/**
* Optional custom fetch implementation.
*/
fetch?: FetchFunction
/**
* Base URL for OpenAI-compatible CherryIN endpoints.
*
* Defaults to `https://open.cherryin.net/v1`.
*/
baseURL?: string
/**
* Base URL for Anthropic-compatible endpoints.
*
* Defaults to `https://open.cherryin.net/anthropic`.
*/
anthropicBaseURL?: string
/**
* Base URL for Gemini-compatible endpoints.
*
* Defaults to `https://open.cherryin.net/gemini/v1beta`.
*/
geminiBaseURL?: string
/**
* Optional static headers applied to every request.
*/
headers?: HeadersInput
}
export interface CherryInProvider extends ProviderV2 {
(modelId: string, settings?: OpenAIProviderSettings): LanguageModelV2
languageModel(modelId: string, settings?: OpenAIProviderSettings): LanguageModelV2
chat(modelId: string, settings?: OpenAIProviderSettings): LanguageModelV2
responses(modelId: string): LanguageModelV2
completion(modelId: string, settings?: OpenAIProviderSettings): LanguageModelV2
embedding(modelId: string, settings?: OpenAIProviderSettings): EmbeddingModelV2<string>
textEmbedding(modelId: string, settings?: OpenAIProviderSettings): EmbeddingModelV2<string>
textEmbeddingModel(modelId: string, settings?: OpenAIProviderSettings): EmbeddingModelV2<string>
image(modelId: string, settings?: OpenAIProviderSettings): ImageModelV2
imageModel(modelId: string, settings?: OpenAIProviderSettings): ImageModelV2
transcription(modelId: string): TranscriptionModelV2
transcriptionModel(modelId: string): TranscriptionModelV2
speech(modelId: string): SpeechModelV2
speechModel(modelId: string): SpeechModelV2
}
const resolveApiKey = (options: CherryInProviderSettings): string =>
loadApiKey({
apiKey: options.apiKey,
environmentVariableName: 'CHERRYIN_API_KEY',
description: 'CherryIN'
})
const isAnthropicModel = (modelId: string) => ANTHROPIC_PREFIX.test(modelId)
const isGeminiModel = (modelId: string) => GEMINI_PREFIX.test(modelId)
const createCustomFetch = (originalFetch?: any) => {
return async (url: string, options: any) => {
if (options?.body) {
try {
const body = JSON.parse(options.body)
if (body.tools && Array.isArray(body.tools) && body.tools.length === 0 && body.tool_choice) {
delete body.tool_choice
options.body = JSON.stringify(body)
}
} catch (error) {
// ignore error
}
}
return originalFetch ? originalFetch(url, options) : fetch(url, options)
}
}
class CherryInOpenAIChatLanguageModel extends OpenAIChatLanguageModel {
constructor(modelId: string, settings: any) {
super(modelId, {
...settings,
fetch: createCustomFetch(settings.fetch)
})
}
}
const resolveConfiguredHeaders = (headers?: HeadersInput): Record<string, HeaderValue> => {
if (typeof headers === 'function') {
return { ...headers() }
}
return headers ? { ...headers } : {}
}
const toBearerToken = (authorization?: string) => (authorization ? authorization.replace(/^Bearer\s+/i, '') : undefined)
const createJsonHeadersGetter = (options: CherryInProviderSettings): (() => Record<string, HeaderValue>) => {
return () => ({
Authorization: `Bearer ${resolveApiKey(options)}`,
'Content-Type': 'application/json',
...resolveConfiguredHeaders(options.headers)
})
}
const createAuthHeadersGetter = (options: CherryInProviderSettings): (() => Record<string, HeaderValue>) => {
return () => ({
Authorization: `Bearer ${resolveApiKey(options)}`,
...resolveConfiguredHeaders(options.headers)
})
}
export const createCherryIn = (options: CherryInProviderSettings = {}): CherryInProvider => {
const {
baseURL = DEFAULT_CHERRYIN_BASE_URL,
anthropicBaseURL = DEFAULT_CHERRYIN_ANTHROPIC_BASE_URL,
geminiBaseURL = DEFAULT_CHERRYIN_GEMINI_BASE_URL,
fetch
} = options
const getJsonHeaders = createJsonHeadersGetter(options)
const getAuthHeaders = createAuthHeadersGetter(options)
const url = ({ path }: { path: string; modelId: string }) => `${withoutTrailingSlash(baseURL)}${path}`
const createAnthropicModel = (modelId: string) =>
new AnthropicMessagesLanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.anthropic`,
baseURL: anthropicBaseURL,
headers: () => {
const headers = getJsonHeaders()
const apiKey = toBearerToken(headers.Authorization)
return {
...headers,
'x-api-key': apiKey
}
},
fetch,
supportedUrls: () => ({
'image/*': [/^https?:\/\/.*$/]
})
})
const createGeminiModel = (modelId: string) =>
new GoogleGenerativeAILanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.google`,
baseURL: geminiBaseURL,
headers: () => {
const headers = getJsonHeaders()
const apiKey = toBearerToken(headers.Authorization)
return {
...headers,
'x-goog-api-key': apiKey
}
},
fetch,
generateId: () => `${CHERRYIN_PROVIDER_NAME}-${Date.now()}`,
supportedUrls: () => ({})
})
const createOpenAIChatModel = (modelId: string, settings: OpenAIProviderSettings = {}) =>
new CherryInOpenAIChatLanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.openai-chat`,
url,
headers: () => ({
...getJsonHeaders(),
...settings.headers
}),
fetch
})
const createChatModel = (modelId: string, settings: OpenAIProviderSettings = {}) => {
if (isAnthropicModel(modelId)) {
return createAnthropicModel(modelId)
}
if (isGeminiModel(modelId)) {
return createGeminiModel(modelId)
}
return new OpenAIResponsesLanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.openai`,
url,
headers: () => ({
...getJsonHeaders(),
...settings.headers
}),
fetch
})
}
const createCompletionModel = (modelId: string, settings: OpenAIProviderSettings = {}) =>
new OpenAICompletionLanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.completion`,
url,
headers: () => ({
...getJsonHeaders(),
...settings.headers
}),
fetch
})
const createEmbeddingModel = (modelId: string, settings: OpenAIProviderSettings = {}) =>
new OpenAIEmbeddingModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.embeddings`,
url,
headers: () => ({
...getJsonHeaders(),
...settings.headers
}),
fetch
})
const createResponsesModel = (modelId: string) =>
new OpenAIResponsesLanguageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.responses`,
url,
headers: () => ({
...getJsonHeaders()
}),
fetch
})
const createImageModel = (modelId: string, settings: OpenAIProviderSettings = {}) =>
new OpenAIImageModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.image`,
url,
headers: () => ({
...getJsonHeaders(),
...settings.headers
}),
fetch
})
const createTranscriptionModel = (modelId: string) =>
new OpenAITranscriptionModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.transcription`,
url,
headers: () => ({
...getAuthHeaders()
}),
fetch
})
const createSpeechModel = (modelId: string) =>
new OpenAISpeechModel(modelId, {
provider: `${CHERRYIN_PROVIDER_NAME}.speech`,
url,
headers: () => ({
...getJsonHeaders()
}),
fetch
})
const provider: CherryInProvider = function (modelId: string, settings?: OpenAIProviderSettings) {
if (new.target) {
throw new Error('CherryIN provider function cannot be called with the new keyword.')
}
return createChatModel(modelId, settings)
}
provider.languageModel = createChatModel
provider.chat = createOpenAIChatModel
provider.responses = createResponsesModel
provider.completion = createCompletionModel
provider.embedding = createEmbeddingModel
provider.textEmbedding = createEmbeddingModel
provider.textEmbeddingModel = createEmbeddingModel
provider.image = createImageModel
provider.imageModel = createImageModel
provider.transcription = createTranscriptionModel
provider.transcriptionModel = createTranscriptionModel
provider.speech = createSpeechModel
provider.speechModel = createSpeechModel
return provider
}
export const cherryIn = createCherryIn()

View File

@@ -0,0 +1 @@
export * from './cherryin-provider'

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "bundler",
"noEmitOnError": false,
"outDir": "./dist",
"resolveJsonModule": true,
"rootDir": "./src",
"skipLibCheck": true,
"strict": true,
"target": "ES2020"
},
"exclude": ["node_modules", "dist"],
"include": ["src/**/*"]
}

View File

@@ -0,0 +1,12 @@
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: {
index: 'src/index.ts'
},
outDir: 'dist',
format: ['esm', 'cjs'],
clean: true,
dts: true,
tsconfig: 'tsconfig.json'
})

View File

@@ -36,14 +36,16 @@
"ai": "^5.0.26"
},
"dependencies": {
"@ai-sdk/anthropic": "^2.0.32",
"@ai-sdk/azure": "^2.0.53",
"@ai-sdk/deepseek": "^1.0.23",
"@ai-sdk/openai": "patch:@ai-sdk/openai@npm%3A2.0.52#~/.yarn/patches/@ai-sdk-openai-npm-2.0.52-b36d949c76.patch",
"@ai-sdk/openai-compatible": "^1.0.22",
"@ai-sdk/anthropic": "^2.0.43",
"@ai-sdk/azure": "^2.0.66",
"@ai-sdk/deepseek": "^1.0.27",
"@ai-sdk/google": "patch:@ai-sdk/google@npm%3A2.0.31#~/.yarn/patches/@ai-sdk-google-npm-2.0.31-b0de047210.patch",
"@ai-sdk/openai": "patch:@ai-sdk/openai@npm%3A2.0.64#~/.yarn/patches/@ai-sdk-openai-npm-2.0.64-48f99f5bf3.patch",
"@ai-sdk/openai-compatible": "^1.0.26",
"@ai-sdk/provider": "^2.0.0",
"@ai-sdk/provider-utils": "^3.0.12",
"@ai-sdk/xai": "^2.0.26",
"@ai-sdk/provider-utils": "^3.0.16",
"@ai-sdk/xai": "^2.0.31",
"@cherrystudio/ai-sdk-provider": "workspace:*",
"zod": "^4.1.5"
},
"devDependencies": {

View File

@@ -1,8 +1,9 @@
import type { anthropic } from '@ai-sdk/anthropic'
import type { google } from '@ai-sdk/google'
import type { openai } from '@ai-sdk/openai'
import { anthropic } from '@ai-sdk/anthropic'
import { google } from '@ai-sdk/google'
import { openai } from '@ai-sdk/openai'
import type { InferToolInput, InferToolOutput, Tool } from 'ai'
import { createOpenRouterOptions, createXaiOptions, mergeProviderOptions } from '../../../options'
import type { ProviderOptionsMap } from '../../../options/types'
import type { OpenRouterSearchConfig } from './openrouter'
@@ -94,3 +95,56 @@ export type WebSearchToolInputSchema = {
google: InferToolInput<GoogleWebSearchTool>
'openai-chat': InferToolInput<OpenAIChatWebSearchTool>
}
export const switchWebSearchTool = (providerId: string, config: WebSearchPluginConfig, params: any) => {
switch (providerId) {
case 'openai': {
if (config.openai) {
if (!params.tools) params.tools = {}
params.tools.web_search = openai.tools.webSearch(config.openai)
}
break
}
case 'openai-chat': {
if (config['openai-chat']) {
if (!params.tools) params.tools = {}
params.tools.web_search_preview = openai.tools.webSearchPreview(config['openai-chat'])
}
break
}
case 'anthropic': {
if (config.anthropic) {
if (!params.tools) params.tools = {}
params.tools.web_search = anthropic.tools.webSearch_20250305(config.anthropic)
}
break
}
case 'google': {
// case 'google-vertex':
if (!params.tools) params.tools = {}
params.tools.web_search = google.tools.googleSearch(config.google || {})
break
}
case 'xai': {
if (config.xai) {
const searchOptions = createXaiOptions({
searchParameters: { ...config.xai, mode: 'on' }
})
params.providerOptions = mergeProviderOptions(params.providerOptions, searchOptions)
}
break
}
case 'openrouter': {
if (config.openrouter) {
const searchOptions = createOpenRouterOptions(config.openrouter)
params.providerOptions = mergeProviderOptions(params.providerOptions, searchOptions)
}
break
}
}
return params
}

View File

@@ -2,15 +2,11 @@
* Web Search Plugin
* 提供统一的网络搜索能力,支持多个 AI Provider
*/
import { anthropic } from '@ai-sdk/anthropic'
import { google } from '@ai-sdk/google'
import { openai } from '@ai-sdk/openai'
import { createOpenRouterOptions, createXaiOptions, mergeProviderOptions } from '../../../options'
import { definePlugin } from '../../'
import type { AiRequestContext } from '../../types'
import type { WebSearchPluginConfig } from './helper'
import { DEFAULT_WEB_SEARCH_CONFIG } from './helper'
import { DEFAULT_WEB_SEARCH_CONFIG, switchWebSearchTool } from './helper'
/**
* 网络搜索插件
@@ -24,56 +20,13 @@ export const webSearchPlugin = (config: WebSearchPluginConfig = DEFAULT_WEB_SEAR
transformParams: async (params: any, context: AiRequestContext) => {
const { providerId } = context
switch (providerId) {
case 'openai': {
if (config.openai) {
if (!params.tools) params.tools = {}
params.tools.web_search = openai.tools.webSearch(config.openai)
}
break
}
case 'openai-chat': {
if (config['openai-chat']) {
if (!params.tools) params.tools = {}
params.tools.web_search_preview = openai.tools.webSearchPreview(config['openai-chat'])
}
break
}
switchWebSearchTool(providerId, config, params)
case 'anthropic': {
if (config.anthropic) {
if (!params.tools) params.tools = {}
params.tools.web_search = anthropic.tools.webSearch_20250305(config.anthropic)
}
break
}
case 'google': {
// case 'google-vertex':
if (!params.tools) params.tools = {}
params.tools.web_search = google.tools.googleSearch(config.google || {})
break
}
case 'xai': {
if (config.xai) {
const searchOptions = createXaiOptions({
searchParameters: { ...config.xai, mode: 'on' }
})
params.providerOptions = mergeProviderOptions(params.providerOptions, searchOptions)
}
break
}
case 'openrouter': {
if (config.openrouter) {
const searchOptions = createOpenRouterOptions(config.openrouter)
params.providerOptions = mergeProviderOptions(params.providerOptions, searchOptions)
}
break
}
if (providerId === 'cherryin' || providerId === 'cherryin-chat') {
// cherryin.gemini
const _providerId = params.model.provider.split('.')[1]
switchWebSearchTool(_providerId, config, params)
}
return params
}
})

View File

@@ -12,6 +12,7 @@ import { createOpenAI, type OpenAIProviderSettings } from '@ai-sdk/openai'
import { createOpenAICompatible } from '@ai-sdk/openai-compatible'
import type { LanguageModelV2 } from '@ai-sdk/provider'
import { createXai } from '@ai-sdk/xai'
import { type CherryInProviderSettings, createCherryIn } from '@cherrystudio/ai-sdk-provider'
import { createOpenRouter } from '@openrouter/ai-sdk-provider'
import type { Provider } from 'ai'
import { customProvider } from 'ai'
@@ -31,6 +32,8 @@ export const baseProviderIds = [
'azure-responses',
'deepseek',
'openrouter',
'cherryin',
'cherryin-chat',
'huggingface'
] as const
@@ -136,6 +139,26 @@ export const baseProviders = [
creator: createOpenRouter,
supportsImageGeneration: true
},
{
id: 'cherryin',
name: 'CherryIN',
creator: createCherryIn,
supportsImageGeneration: true
},
{
id: 'cherryin-chat',
name: 'CherryIN Chat',
creator: (options: CherryInProviderSettings) => {
const provider = createCherryIn(options)
return customProvider({
fallbackProvider: {
...provider,
languageModel: (modelId: string) => provider.chat(modelId)
}
})
},
supportsImageGeneration: true
},
{
id: 'huggingface',
name: 'HuggingFace',

View File

@@ -189,6 +189,7 @@ export enum IpcChannel {
Fs_ReadText = 'fs:readText',
File_OpenWithRelativePath = 'file:openWithRelativePath',
File_IsTextFile = 'file:isTextFile',
File_ListDirectory = 'file:listDirectory',
File_GetDirectoryStructure = 'file:getDirectoryStructure',
File_CheckFileName = 'file:checkFileName',
File_ValidateNotesDirectory = 'file:validateNotesDirectory',

View File

@@ -470,3 +470,6 @@ export const MACOS_TERMINALS_WITH_COMMANDS: TerminalConfigWithCommand[] = [
})
}
]
// resources/scripts should be maintained manually
export const HOME_CHERRY_DIR = '.cherrystudio'

View File

@@ -31,3 +31,16 @@ export type WebviewKeyEvent = {
shift: boolean
alt: boolean
}
export interface WebSocketStatusResponse {
isRunning: boolean
port?: number
ip?: string
clientConnected: boolean
}
export interface WebSocketCandidatesResponse {
host: string
interface: string
priority: number
}

View File

@@ -1,17 +1,28 @@
import { fileURLToPath } from 'node:url'
import type { StorybookConfig } from '@storybook/react-vite'
import { dirname, resolve } from 'path'
const config: StorybookConfig = {
stories: ['../stories/components/**/*.stories.@(js|jsx|ts|tsx)'],
addons: ['@storybook/addon-docs', '@storybook/addon-themes'],
framework: '@storybook/react-vite',
addons: [getAbsolutePath('@storybook/addon-docs'), getAbsolutePath('@storybook/addon-themes')],
framework: getAbsolutePath('@storybook/react-vite'),
viteFinal: async (config) => {
const { mergeConfig } = await import('vite')
// 动态导入 @tailwindcss/vite 以避免 ESM/CJS 兼容性问题
const tailwindPlugin = (await import('@tailwindcss/vite')).default
return mergeConfig(config, {
plugins: [tailwindPlugin()]
plugins: [tailwindPlugin()],
resolve: {
alias: {
'@cherrystudio/ui': resolve('src')
}
}
})
}
}
export default config
function getAbsolutePath(value: string): any {
return dirname(fileURLToPath(import.meta.resolve(`${value}/package.json`)))
}

View File

@@ -4,6 +4,14 @@ import { withThemeByClassName } from '@storybook/addon-themes'
import type { Preview } from '@storybook/react'
const preview: Preview = {
parameters: {
backgrounds: {
options: {
light: { name: 'Light', value: 'hsla(0, 0%, 97%, 1)' },
dark: { name: 'Dark', value: 'hsla(240, 6%, 10%, 1)' }
}
}
},
decorators: [
withThemeByClassName({
themes: {

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@ Cherry Studio UI 组件库 - 为 Cherry Studio 设计的 React 组件集合
```bash
npm install @cherrystudio/ui
# peer dependencies
npm install @heroui/react framer-motion react react-dom tailwindcss
npm install framer-motion react react-dom tailwindcss
```
### 两种使用方式

View File

@@ -1,214 +0,0 @@
# todocss.css → design-tokens.css 转换日志
## ✅ 已转换的变量
### 基础颜色 (Primitive Colors)
- ✅ Neutral (50-950)
- ✅ Zinc (50-950)
- ✅ Red (50-950)
- ✅ Orange (50-950)
- ✅ Amber (50-950)
- ✅ Yellow (50-950)
- ✅ Lime (50-950) - 品牌主色
- ✅ Green (50-950)
- ✅ Emerald (50-950)
- ✅ Purple (50-950)
- ✅ Blue (50-950)
- ✅ Black & White
### 语义化颜色 (Semantic Colors)
-`--cs-primary` (Lime 500)
-`--cs-destructive` (Red 500)
-`--cs-success` (Green 500)
-`--cs-warning` (Amber 500)
-`--cs-background` (Zinc 50/900)
-`--cs-foreground` 系列 (main, secondary, muted)
-`--cs-border` 系列 (default, hover, active)
-`--cs-ring` (Focus)
### 容器颜色
-`--cs-card` (White/Black)
-`--cs-popover` (White/Black)
-`--cs-sidebar` (White/Black)
### UI 元素细分颜色 (新增补充)
-**Modal / Overlay**
- `--cs-modal-backdrop`
- `--cs-modal-thumb`
- `--cs-modal-thumb-hover`
-**Icon**
- `--cs-icon-default`
- `--cs-icon-hover`
-**Input / Select**
- `--cs-input-background`
- `--cs-input-border`
- `--cs-input-border-hover`
- `--cs-input-border-focus`
-**Primary Button**
- `--cs-primary-button-background`
- `--cs-primary-button-text`
- `--cs-primary-button-background-hover`
- `--cs-primary-button-background-active`
- `--cs-primary-button-background-2nd`
- `--cs-primary-button-background-3rd`
-**Secondary Button**
- `--cs-secondary-button-background`
- `--cs-secondary-button-text`
- `--cs-secondary-button-background-hover`
- `--cs-secondary-button-background-active`
- `--cs-secondary-button-border`
-**Ghost Button**
- `--cs-ghost-button-background`
- `--cs-ghost-button-text`
- `--cs-ghost-button-background-hover`
- `--cs-ghost-button-background-active`
### 尺寸系统
- ✅ Spacing/Sizing 合并为 `--cs-size-*` (5xs ~ 8xl)
- ✅ Border Radius (4xs ~ 3xl, round)
- ✅ Border Width (sm, md, lg)
### 字体排版
- ✅ Font Families (Heading, Body)
- ✅ Font Weights (修正单位错误: 400px → 400)
- ✅ Font Sizes (Body & Heading)
- ✅ Line Heights (Body & Heading)
- ✅ Paragraph Spacing
---
## ❌ 已废弃的变量
### Opacity 变量 (全部废弃)
使用 Tailwind 的 `/modifier` 语法替代:
| todocss.css | 替代方案 |
|-------------|---------|
| `--Opacity--Red--Red-80` | `bg-cs-destructive/80` |
| `--Opacity--Green--Green-60` | `bg-cs-success/60` |
| `--Opacity--White--White-10` | `bg-white/10` |
**原因**: Tailwind v4 原生支持透明度修饰符,无需单独定义变量。
---
## 🔧 关键修正
### 1. 单位错误
```css
/* ❌ todocss.css */
--Font_weight--Regular: 400px;
/* ✅ design-tokens.css */
--cs-font-weight-regular: 400;
```
### 2. px → rem 转换
```css
/* ❌ todocss.css */
--Spacing--md: 40px;
/* ✅ design-tokens.css */
--cs-size-md: 2.5rem; /* 40px / 16 = 2.5rem */
```
### 3. 变量合并
```css
/* ❌ todocss.css (冗余) */
--Spacing--md: 40px;
--Sizing--md: 40px;
/* ✅ design-tokens.css (合并) */
--cs-size-md: 2.5rem;
```
### 4. Dark Mode 分离
```css
/* ❌ todocss.css (Light 和 Dark 都在 :root) */
:root {
--Brand--Semantic_Colors--Background: var(--Primitive--Zinc--50);
--Brand--Semantic_Colors--Background: var(--Primitive--Zinc--900); /* 后面覆盖 */
}
/* ✅ design-tokens.css (正确分离) */
:root {
--cs-background: var(--cs-zinc-50);
}
.dark {
--cs-background: var(--cs-zinc-900);
}
```
---
## 📊 变量统计
| 分类 | todocss.css | design-tokens.css | 说明 |
|------|-------------|-------------------|------|
| Primitive Colors | ~250 | ~250 | 完整保留 |
| Semantic Colors | ~20 | ~20 | 完整转换 |
| UI Element Colors | ~30 | ~30 | ✅ 已补充完整 |
| Opacity Variables | ~50 | 0 | 废弃,用 `/modifier` |
| Spacing/Sizing | 32 | 16 | 合并去重 |
| Typography | ~50 | ~50 | 修正单位 |
| **总计** | ~430 | ~390 | 优化 40 个变量 |
---
## 🎨 Dark Mode 变量对比
| Light Mode | Dark Mode | 变量名 |
|-----------|-----------|-------|
| Zinc 50 | Zinc 900 | `--cs-background` |
| Black 90% | White 90% | `--cs-foreground` |
| Black 60% | White 60% | `--cs-foreground-secondary` |
| Black 10% | White 10% | `--cs-border` |
| White | Black | `--cs-card` |
| White | Black | `--cs-popover` |
| White | Black | `--cs-sidebar` |
| White | Black | `--cs-input-background` |
| Black 40% | Black 6% | `--cs-modal-backdrop` |
| Black 20% | White 20% | `--cs-modal-thumb` |
| Black 5% | White 10% | `--cs-secondary` |
| Black 0% | White 0% | `--cs-ghost-button-background` |
---
## ✅ 验证清单
- [x] 所有 Primitive 颜色已转换
- [x] 所有语义化颜色已转换
- [x] 所有 UI 元素颜色已转换
- [x] Dark Mode 变量完整
- [x] 尺寸单位统一为 rem
- [x] Font Weight 单位已修正
- [x] Opacity 变量已废弃
- [x] Spacing/Sizing 已合并
---
## 📝 使用指南
### 如果设计师更新 todocss.css
1. 对比此文档,找出新增/修改的变量
2. 按照转换规则更新 `design-tokens.css`
3. 验证 Light/Dark Mode 是否完整
4. 更新此日志
### 验证转换正确性
```bash
# 检查 Light Mode 变量数量
grep -c "^ --cs-" packages/ui/src/styles/design-tokens.css
# 检查 Dark Mode 覆盖数量
grep -c "^ --cs-" packages/ui/src/styles/design-tokens.css | grep -A 100 ".dark"
```

View File

@@ -4,19 +4,8 @@
## 文件说明
### todocss.css
- **来源**:设计师提供的原始设计令牌
- **状态**:已转换为 `src/styles/design-tokens.css`
- **用途**
- 追溯设计决策
- 验证转换正确性
- 设计师更新时作为对比基准
## 转换规则
原始文件 → 生产文件的转换规则参见:
- [DESIGN_SYSTEM.md](../DESIGN_SYSTEM.md)
- [USAGE_GUIDE.md](../USAGE_GUIDE.md)
### *.hsla.css
为hsla格式的色值
## 注意事项

View File

@@ -0,0 +1,309 @@
/**
* Primitive Colors - Light Mode
* 基础色板 - 所有原始颜色定义
*/
:root {
/* Neutral */
--cs-neutral-50: hsla(0, 0%, 98%, 1);
--cs-neutral-100: hsla(0, 0%, 96%, 1);
--cs-neutral-200: hsla(0, 0%, 90%, 1);
--cs-neutral-300: hsla(0, 0%, 83%, 1);
--cs-neutral-400: hsla(0, 0%, 64%, 1);
--cs-neutral-500: hsla(0, 0%, 45%, 1);
--cs-neutral-600: hsla(215, 14%, 34%, 1);
--cs-neutral-700: hsla(0, 0%, 25%, 1);
--cs-neutral-800: hsla(0, 0%, 15%, 1);
--cs-neutral-900: hsla(0, 0%, 9%, 1);
--cs-neutral-950: hsla(0, 0%, 4%, 1);
/* Stone */
--cs-stone-50: hsla(60, 9%, 98%, 1);
--cs-stone-100: hsla(60, 5%, 96%, 1);
--cs-stone-200: hsla(20, 6%, 90%, 1);
--cs-stone-300: hsla(24, 6%, 83%, 1);
--cs-stone-400: hsla(24, 5%, 64%, 1);
--cs-stone-500: hsla(25, 5%, 45%, 1);
--cs-stone-600: hsla(33, 5%, 32%, 1);
--cs-stone-700: hsla(30, 6%, 25%, 1);
--cs-stone-800: hsla(12, 6%, 15%, 1);
--cs-stone-900: hsla(24, 10%, 10%, 1);
--cs-stone-950: hsla(20, 14%, 4%, 1);
/* Zinc */
--cs-zinc-50: hsla(0, 0%, 98%, 1);
--cs-zinc-100: hsla(240, 5%, 96%, 1);
--cs-zinc-200: hsla(240, 6%, 90%, 1);
--cs-zinc-300: hsla(240, 5%, 84%, 1);
--cs-zinc-400: hsla(240, 5%, 65%, 1);
--cs-zinc-500: hsla(240, 4%, 46%, 1);
--cs-zinc-600: hsla(240, 5%, 34%, 1);
--cs-zinc-700: hsla(240, 5%, 26%, 1);
--cs-zinc-800: hsla(240, 4%, 16%, 1);
--cs-zinc-900: hsla(240, 6%, 10%, 1);
--cs-zinc-950: hsla(240, 10%, 4%, 1);
/* Slate */
--cs-slate-50: hsla(210, 40%, 98%, 1);
--cs-slate-100: hsla(210, 40%, 96%, 1);
--cs-slate-200: hsla(214, 32%, 91%, 1);
--cs-slate-300: hsla(213, 27%, 84%, 1);
--cs-slate-400: hsla(215, 20%, 65%, 1);
--cs-slate-500: hsla(215, 16%, 47%, 1);
--cs-slate-600: hsla(215, 19%, 35%, 1);
--cs-slate-700: hsla(215, 25%, 27%, 1);
--cs-slate-800: hsla(217, 33%, 17%, 1);
--cs-slate-900: hsla(222, 47%, 11%, 1);
--cs-slate-950: hsla(229, 84%, 5%, 1);
/* Gray */
--cs-gray-50: hsla(210, 20%, 98%, 1);
--cs-gray-100: hsla(220, 14%, 96%, 1);
--cs-gray-200: hsla(220, 13%, 91%, 1);
--cs-gray-300: hsla(216, 12%, 84%, 1);
--cs-gray-400: hsla(218, 11%, 65%, 1);
--cs-gray-500: hsla(220, 9%, 46%, 1);
--cs-gray-600: hsla(0, 0%, 32%, 1);
--cs-gray-700: hsla(217, 19%, 27%, 1);
--cs-gray-800: hsla(215, 28%, 17%, 1);
--cs-gray-900: hsla(221, 39%, 11%, 1);
--cs-gray-950: hsla(224, 71%, 4%, 1);
/* Red */
--cs-red-50: hsla(0, 86%, 97%, 1);
--cs-red-100: hsla(0, 93%, 94%, 1);
--cs-red-200: hsla(0, 96%, 89%, 1);
--cs-red-300: hsla(0, 94%, 82%, 1);
--cs-red-400: hsla(0, 91%, 71%, 1);
--cs-red-500: hsla(0, 84%, 60%, 1);
--cs-red-600: hsla(0, 72%, 51%, 1);
--cs-red-700: hsla(0, 74%, 42%, 1);
--cs-red-800: hsla(0, 70%, 35%, 1);
--cs-red-900: hsla(0, 63%, 31%, 1);
--cs-red-950: hsla(0, 75%, 15%, 1);
/* Orange */
--cs-orange-50: hsla(33, 100%, 96%, 1);
--cs-orange-100: hsla(34, 100%, 92%, 1);
--cs-orange-200: hsla(32, 98%, 83%, 1);
--cs-orange-300: hsla(31, 97%, 72%, 1);
--cs-orange-400: hsla(27, 96%, 61%, 1);
--cs-orange-500: hsla(25, 95%, 53%, 1);
--cs-orange-600: hsla(21, 90%, 48%, 1);
--cs-orange-700: hsla(17, 88%, 40%, 1);
--cs-orange-800: hsla(15, 79%, 34%, 1);
--cs-orange-900: hsla(15, 75%, 28%, 1);
--cs-orange-950: hsla(13, 81%, 15%, 1);
/* Amber */
--cs-amber-50: hsla(48, 100%, 96%, 1);
--cs-amber-100: hsla(48, 96%, 89%, 1);
--cs-amber-200: hsla(48, 97%, 77%, 1);
--cs-amber-300: hsla(46, 97%, 65%, 1);
--cs-amber-400: hsla(43, 96%, 56%, 1);
--cs-amber-500: hsla(38, 92%, 50%, 1);
--cs-amber-600: hsla(32, 95%, 44%, 1);
--cs-amber-700: hsla(26, 90%, 37%, 1);
--cs-amber-800: hsla(23, 83%, 31%, 1);
--cs-amber-900: hsla(22, 78%, 26%, 1);
--cs-amber-950: hsla(21, 92%, 14%, 1);
/* Yellow */
--cs-yellow-50: hsla(55, 92%, 95%, 1);
--cs-yellow-100: hsla(55, 97%, 88%, 1);
--cs-yellow-200: hsla(53, 98%, 77%, 1);
--cs-yellow-300: hsla(50, 98%, 64%, 1);
--cs-yellow-400: hsla(48, 96%, 53%, 1);
--cs-yellow-500: hsla(45, 93%, 47%, 1);
--cs-yellow-600: hsla(41, 96%, 40%, 1);
--cs-yellow-700: hsla(35, 92%, 33%, 1);
--cs-yellow-800: hsla(32, 81%, 29%, 1);
--cs-yellow-900: hsla(28, 73%, 26%, 1);
--cs-yellow-950: hsla(26, 83%, 14%, 1);
/* Lime (品牌主色) */
--cs-lime-50: hsla(78, 92%, 95%, 1);
--cs-lime-100: hsla(80, 89%, 89%, 1);
--cs-lime-200: hsla(81, 88%, 80%, 1);
--cs-lime-300: hsla(82, 85%, 67%, 1);
--cs-lime-400: hsla(83, 78%, 55%, 1);
--cs-lime-500: hsla(84, 81%, 44%, 1);
--cs-lime-600: hsla(85, 85%, 35%, 1);
--cs-lime-700: hsla(86, 78%, 27%, 1);
--cs-lime-800: hsla(86, 69%, 23%, 1);
--cs-lime-900: hsla(88, 61%, 20%, 1);
--cs-lime-950: hsla(89, 80%, 10%, 1);
/* Green */
--cs-green-50: hsla(138, 76%, 97%, 1);
--cs-green-100: hsla(141, 84%, 93%, 1);
--cs-green-200: hsla(141, 79%, 85%, 1);
--cs-green-300: hsla(142, 77%, 73%, 1);
--cs-green-400: hsla(142, 69%, 58%, 1);
--cs-green-500: hsla(142, 71%, 45%, 1);
--cs-green-600: hsla(142, 76%, 36%, 1);
--cs-green-700: hsla(142, 72%, 29%, 1);
--cs-green-800: hsla(143, 64%, 24%, 1);
--cs-green-900: hsla(144, 61%, 20%, 1);
--cs-green-950: hsla(145, 80%, 10%, 1);
/* Emerald */
--cs-emerald-50: hsla(152, 81%, 96%, 1);
--cs-emerald-100: hsla(149, 80%, 90%, 1);
--cs-emerald-200: hsla(152, 76%, 80%, 1);
--cs-emerald-300: hsla(156, 72%, 67%, 1);
--cs-emerald-400: hsla(158, 64%, 52%, 1);
--cs-emerald-500: hsla(160, 84%, 39%, 1);
--cs-emerald-600: hsla(161, 94%, 30%, 1);
--cs-emerald-700: hsla(163, 94%, 24%, 1);
--cs-emerald-800: hsla(163, 88%, 20%, 1);
--cs-emerald-900: hsla(164, 86%, 16%, 1);
--cs-emerald-950: hsla(166, 91%, 9%, 1);
/* Teal */
--cs-teal-50: hsla(166, 76%, 97%, 1);
--cs-teal-100: hsla(167, 85%, 89%, 1);
--cs-teal-200: hsla(168, 84%, 78%, 1);
--cs-teal-300: hsla(171, 77%, 64%, 1);
--cs-teal-400: hsla(172, 66%, 50%, 1);
--cs-teal-500: hsla(173, 80%, 40%, 1);
--cs-teal-600: hsla(175, 84%, 32%, 1);
--cs-teal-700: hsla(175, 77%, 26%, 1);
--cs-teal-800: hsla(176, 69%, 22%, 1);
--cs-teal-900: hsla(176, 61%, 19%, 1);
--cs-teal-950: hsla(179, 84%, 10%, 1);
/* Cyan */
--cs-cyan-50: hsla(183, 100%, 96%, 1);
--cs-cyan-100: hsla(185, 96%, 90%, 1);
--cs-cyan-200: hsla(186, 94%, 82%, 1);
--cs-cyan-300: hsla(187, 92%, 69%, 1);
--cs-cyan-400: hsla(188, 86%, 53%, 1);
--cs-cyan-500: hsla(189, 94%, 43%, 1);
--cs-cyan-600: hsla(192, 91%, 36%, 1);
--cs-cyan-700: hsla(193, 82%, 31%, 1);
--cs-cyan-800: hsla(194, 70%, 27%, 1);
--cs-cyan-900: hsla(196, 64%, 24%, 1);
--cs-cyan-950: hsla(197, 79%, 15%, 1);
/* Sky */
--cs-sky-50: hsla(204, 100%, 97%, 1);
--cs-sky-100: hsla(204, 94%, 94%, 1);
--cs-sky-200: hsla(201, 94%, 86%, 1);
--cs-sky-300: hsla(199, 95%, 74%, 1);
--cs-sky-400: hsla(198, 93%, 60%, 1);
--cs-sky-500: hsla(199, 89%, 48%, 1);
--cs-sky-600: hsla(200, 98%, 39%, 1);
--cs-sky-700: hsla(201, 96%, 32%, 1);
--cs-sky-800: hsla(201, 90%, 27%, 1);
--cs-sky-900: hsla(202, 80%, 24%, 1);
--cs-sky-950: hsla(204, 80%, 16%, 1);
/* Blue */
--cs-blue-50: hsla(214, 100%, 97%, 1);
--cs-blue-100: hsla(214, 95%, 93%, 1);
--cs-blue-200: hsla(213, 97%, 87%, 1);
--cs-blue-300: hsla(212, 96%, 78%, 1);
--cs-blue-400: hsla(213, 94%, 68%, 1);
--cs-blue-500: hsla(217, 91%, 60%, 1);
--cs-blue-600: hsla(221, 83%, 53%, 1);
--cs-blue-700: hsla(224, 76%, 48%, 1);
--cs-blue-800: hsla(226, 71%, 40%, 1);
--cs-blue-900: hsla(224, 64%, 33%, 1);
--cs-blue-950: hsla(226, 57%, 21%, 1);
/* Indigo */
--cs-indigo-50: hsla(226, 100%, 97%, 1);
--cs-indigo-100: hsla(226, 100%, 94%, 1);
--cs-indigo-200: hsla(228, 96%, 89%, 1);
--cs-indigo-300: hsla(230, 94%, 82%, 1);
--cs-indigo-400: hsla(234, 89%, 74%, 1);
--cs-indigo-500: hsla(239, 84%, 67%, 1);
--cs-indigo-600: hsla(243, 75%, 59%, 1);
--cs-indigo-700: hsla(245, 58%, 51%, 1);
--cs-indigo-800: hsla(244, 55%, 41%, 1);
--cs-indigo-900: hsla(242, 47%, 34%, 1);
--cs-indigo-950: hsla(244, 47%, 20%, 1);
/* Violet */
--cs-violet-50: hsla(250, 100%, 98%, 1);
--cs-violet-100: hsla(251, 91%, 95%, 1);
--cs-violet-200: hsla(251, 95%, 92%, 1);
--cs-violet-300: hsla(253, 95%, 85%, 1);
--cs-violet-400: hsla(255, 92%, 76%, 1);
--cs-violet-500: hsla(258, 90%, 66%, 1);
--cs-violet-600: hsla(262, 83%, 58%, 1);
--cs-violet-700: hsla(263, 70%, 50%, 1);
--cs-violet-800: hsla(263, 69%, 42%, 1);
--cs-violet-900: hsla(264, 67%, 35%, 1);
--cs-violet-950: hsla(262, 78%, 23%, 1);
/* Purple */
--cs-purple-50: hsla(270, 100%, 98%, 1);
--cs-purple-100: hsla(269, 100%, 95%, 1);
--cs-purple-200: hsla(269, 100%, 92%, 1);
--cs-purple-300: hsla(269, 97%, 85%, 1);
--cs-purple-400: hsla(270, 95%, 75%, 1);
--cs-purple-500: hsla(271, 91%, 65%, 1);
--cs-purple-600: hsla(271, 81%, 56%, 1);
--cs-purple-700: hsla(272, 72%, 47%, 1);
--cs-purple-800: hsla(273, 67%, 39%, 1);
--cs-purple-900: hsla(274, 66%, 32%, 1);
--cs-purple-950: hsla(274, 87%, 21%, 1);
/* Fuchsia */
--cs-fuchsia-50: hsla(289, 100%, 98%, 1);
--cs-fuchsia-100: hsla(287, 100%, 95%, 1);
--cs-fuchsia-200: hsla(288, 96%, 91%, 1);
--cs-fuchsia-300: hsla(291, 93%, 83%, 1);
--cs-fuchsia-400: hsla(292, 91%, 73%, 1);
--cs-fuchsia-500: hsla(292, 84%, 61%, 1);
--cs-fuchsia-600: hsla(293, 69%, 49%, 1);
--cs-fuchsia-700: hsla(295, 72%, 40%, 1);
--cs-fuchsia-800: hsla(295, 70%, 33%, 1);
--cs-fuchsia-900: hsla(297, 64%, 28%, 1);
--cs-fuchsia-950: hsla(297, 90%, 16%, 1);
/* Pink */
--cs-pink-50: hsla(327, 73%, 97%, 1);
--cs-pink-100: hsla(326, 78%, 95%, 1);
--cs-pink-200: hsla(326, 85%, 90%, 1);
--cs-pink-300: hsla(327, 87%, 82%, 1);
--cs-pink-400: hsla(329, 86%, 70%, 1);
--cs-pink-500: hsla(330, 81%, 60%, 1);
--cs-pink-600: hsla(333, 71%, 51%, 1);
--cs-pink-700: hsla(335, 78%, 42%, 1);
--cs-pink-800: hsla(336, 74%, 35%, 1);
--cs-pink-900: hsla(336, 69%, 30%, 1);
--cs-pink-950: hsla(336, 84%, 17%, 1);
/* Rose */
--cs-rose-50: hsla(356, 100%, 97%, 1);
--cs-rose-100: hsla(356, 100%, 95%, 1);
--cs-rose-200: hsla(353, 96%, 90%, 1);
--cs-rose-300: hsla(353, 96%, 82%, 1);
--cs-rose-400: hsla(351, 95%, 71%, 1);
--cs-rose-500: hsla(350, 89%, 60%, 1);
--cs-rose-600: hsla(347, 77%, 50%, 1);
--cs-rose-700: hsla(345, 83%, 41%, 1);
--cs-rose-800: hsla(343, 80%, 35%, 1);
--cs-rose-900: hsla(342, 75%, 30%, 1);
--cs-rose-950: hsla(343, 88%, 16%, 1);
/* Black & White */
--cs-black: hsla(0, 0%, 0%, 1);
--cs-white: hsla(0, 0%, 100%, 1);
/* Brand (Cherry Studio 品牌专属色) */
--cs-brand-50: hsla(132, 64%, 97%, 1);
--cs-brand-100: hsla(132, 64%, 93%, 1);
--cs-brand-200: hsla(132, 64%, 85%, 1);
--cs-brand-300: hsla(132, 64%, 73%, 1);
--cs-brand-400: hsla(132, 64%, 63%, 1);
--cs-brand-500: hsla(132, 64%, 53%, 1);
--cs-brand-600: hsla(132, 64%, 43%, 1);
--cs-brand-700: hsla(132, 64%, 33%, 1);
--cs-brand-800: hsla(132, 64%, 23%, 1);
--cs-brand-900: hsla(132, 64%, 13%, 1);
--cs-brand-950: hsla(132, 64%, 8%, 1);
}

View File

@@ -0,0 +1,81 @@
/**
* Semantic Colors - Light Mode
* 语义化颜色 - 基于 Primitive Colors 的语义化映射
*/
:root {
/* Brand Colors */
--cs-primary: var(--cs-brand-500);
--cs-primary-hover: var(--cs-brand-300);
--cs-destructive: var(--cs-red-500);
--cs-destructive-hover: var(--cs-red-400);
--cs-success: var(--cs-green-500);
--cs-warning: var(--cs-amber-500);
/* Background & Foreground */
--cs-background: var(--cs-zinc-50);
--cs-background-subtle: hsla(0, 0%, 0%, 0.02);
--cs-foreground: hsla(0, 0%, 0%, 0.9);
--cs-foreground-secondary: hsla(0, 0%, 0%, 0.6);
--cs-foreground-muted: hsla(0, 0%, 0%, 0.4);
/* Card & Popover */
--cs-card: var(--cs-white);
--cs-popover: var(--cs-white);
/* Border */
--cs-border: hsla(0, 0%, 0%, 0.1);
--cs-border-hover: hsla(0, 0%, 0%, 0.2);
--cs-border-active: hsla(0, 0%, 0%, 0.3);
/* Ring (Focus) */
--cs-ring: color-mix(in srgb, var(--cs-primary) 40%, transparent);
/* UI Element Colors */
--cs-secondary: hsla(0, 0%, 0%, 0.05); /* Secondary Button Background */
--cs-secondary-hover: hsla(0, 0%, 0%, 0.85);
--cs-secondary-active: hsla(0, 0%, 0%, 0.7);
--cs-muted: hsla(0, 0%, 0%, 0.05); /* Muted/Subtle Background */
--cs-accent: hsla(0, 0%, 0%, 0.05); /* Accent Background */
--cs-ghost-hover: hsla(0, 0%, 0%, 0.05); /* Ghost Button Hover */
--cs-ghost-active: hsla(0, 0%, 0%, 0.1); /* Ghost Button Active */
/* Sidebar */
--cs-sidebar: var(--cs-white);
--cs-sidebar-accent: hsla(0, 0%, 0%, 0.05);
}
/* Dark Mode */
.dark {
/* Background & Foreground */
--cs-background: var(--cs-zinc-900);
--cs-background-subtle: hsla(0, 0%, 100%, 0.02);
--cs-foreground: hsla(0, 0%, 100%, 0.9);
--cs-foreground-secondary: hsla(0, 0%, 100%, 0.6);
--cs-foreground-muted: hsla(0, 0%, 100%, 0.4);
/* Card & Popover */
--cs-card: var(--cs-black);
--cs-popover: var(--cs-black);
/* Border */
--cs-border: hsla(0, 0%, 100%, 0.1);
--cs-border-hover: hsla(0, 0%, 100%, 0.2);
--cs-border-active: hsla(0, 0%, 100%, 0.3);
/* Ring (Focus) - 保持不变 */
--cs-ring: hsla(84, 81%, 44%, 0.4);
/* UI Element Colors - Dark Mode */
--cs-secondary: hsla(0, 0%, 100%, 0.1); /* Secondary Button Background */
--cs-secondary-hover: hsla(0, 0%, 100%, 0.2);
--cs-secondary-active: hsla(0, 0%, 100%, 0.25);
--cs-muted: hsla(0, 0%, 100%, 0.1); /* Muted/Subtle Background */
--cs-accent: hsla(0, 0%, 100%, 0.1); /* Accent Background */
--cs-ghost-hover: hsla(0, 0%, 100%, 0.1); /* Ghost Button Hover */
--cs-ghost-active: hsla(0, 0%, 100%, 0.15); /* Ghost Button Active */
/* Sidebar */
--cs-sidebar: var(--cs-black);
--cs-sidebar-accent: hsla(0, 0%, 100%, 0.1);
}

View File

@@ -0,0 +1,55 @@
/**
* Status Colors - Light Mode & Dark Mode
* 状态颜色 - Error, Success, Warning
*/
:root {
/* Status Colors - Error */
--cs-error-base: var(--cs-red-500); /* #ef4444 */
--cs-error-text: var(--cs-red-800); /* #991b1b */
--cs-error-bg: var(--cs-red-50); /* #fef2f2 */
--cs-error-text-hover: var(--cs-red-700); /* #b91c1c */
--cs-error-bg-hover: var(--cs-red-100); /* #fee2e2 */
--cs-error-border: var(--cs-red-200); /* #fecaca */
--cs-error-border-hover: var(--cs-red-300); /* #fca5a5 */
--cs-error-active: var(--cs-red-600); /* #dc2626 */
/* Status Colors - Success */
--cs-success-base: var(--cs-green-500); /* #22c55e */
--cs-success-text-hover: var(--cs-green-700); /* #15803d */
--cs-success-bg: var(--cs-green-50); /* #f0fdf4 */
--cs-success-bg-hover: var(--cs-green-200); /* #bbf7d0 */
/* Status Colors - Warning */
--cs-warning-base: var(--cs-amber-400); /* #fbbf24 */
--cs-warning-text-hover: var(--cs-amber-700); /* #b45309 */
--cs-warning-bg: var(--cs-amber-50); /* #fffbeb */
--cs-warning-bg-hover: var(--cs-amber-100); /* #fef3c7 */
--cs-warning-active: var(--cs-amber-600); /* #d97706 */
}
/* Dark Mode */
.dark {
/* Status Colors - Error (Dark Mode) */
--cs-error-base: var(--cs-red-400); /* #f87171 */
--cs-error-text: var(--cs-red-100); /* #fee2e2 */
--cs-error-bg: var(--cs-red-900); /* #7f1d1d */
--cs-error-text-hover: var(--cs-red-200); /* #fecaca */
--cs-error-bg-hover: var(--cs-red-800); /* #991b1b */
--cs-error-border: var(--cs-red-700); /* #b91c1c */
--cs-error-border-hover: var(--cs-red-600); /* #dc2626 */
--cs-error-active: var(--cs-red-300); /* #fca5a5 */
/* Status Colors - Success (Dark Mode) */
--cs-success-base: var(--cs-green-400); /* #4ade80 */
--cs-success-text-hover: var(--cs-green-200); /* #bbf7d0 */
--cs-success-bg: var(--cs-green-900); /* #14532d */
--cs-success-bg-hover: var(--cs-green-800); /* #166534 */
/* Status Colors - Warning (Dark Mode) */
--cs-warning-base: var(--cs-amber-400); /* #fbbf24 */
--cs-warning-text-hover: var(--cs-amber-200); /* #fde68a */
--cs-warning-bg: var(--cs-amber-900); /* #78350f */
--cs-warning-bg-hover: var(--cs-amber-800); /* #92400e */
--cs-warning-active: var(--cs-amber-600); /* #d97706 */
}

View File

@@ -0,0 +1,450 @@
/**
* Generated from Design Tokens
*
* ⚠️ DO NOT EDIT DIRECTLY!
* This file is auto-generated from tokens/ directory.
* To make changes, edit files in tokens/ and run: npm run tokens:build
*
* Generated on: 2025-11-07T08:56:09.444Z
*/
@theme {
/* ==================== */
/* Primitive Colors */
/* ==================== */
--color-neutral-50: hsla(0, 0%, 98%, 1);
--color-neutral-100: hsla(0, 0%, 96%, 1);
--color-neutral-200: hsla(0, 0%, 90%, 1);
--color-neutral-300: hsla(0, 0%, 83%, 1);
--color-neutral-400: hsla(0, 0%, 64%, 1);
--color-neutral-500: hsla(0, 0%, 45%, 1);
--color-neutral-600: hsla(215, 14%, 34%, 1);
--color-neutral-700: hsla(0, 0%, 25%, 1);
--color-neutral-800: hsla(0, 0%, 15%, 1);
--color-neutral-900: hsla(0, 0%, 9%, 1);
--color-neutral-950: hsla(0, 0%, 4%, 1);
--color-stone-50: hsla(60, 9%, 98%, 1);
--color-stone-100: hsla(60, 5%, 96%, 1);
--color-stone-200: hsla(20, 6%, 90%, 1);
--color-stone-300: hsla(24, 6%, 83%, 1);
--color-stone-400: hsla(24, 5%, 64%, 1);
--color-stone-500: hsla(25, 5%, 45%, 1);
--color-stone-600: hsla(33, 5%, 32%, 1);
--color-stone-700: hsla(30, 6%, 25%, 1);
--color-stone-800: hsla(12, 6%, 15%, 1);
--color-stone-900: hsla(24, 10%, 10%, 1);
--color-stone-950: hsla(20, 14%, 4%, 1);
--color-zinc-50: hsla(0, 0%, 98%, 1);
--color-zinc-100: hsla(240, 5%, 96%, 1);
--color-zinc-200: hsla(240, 6%, 90%, 1);
--color-zinc-300: hsla(240, 5%, 84%, 1);
--color-zinc-400: hsla(240, 5%, 65%, 1);
--color-zinc-500: hsla(240, 4%, 46%, 1);
--color-zinc-600: hsla(240, 5%, 34%, 1);
--color-zinc-700: hsla(240, 5%, 26%, 1);
--color-zinc-800: hsla(240, 4%, 16%, 1);
--color-zinc-900: hsla(240, 6%, 10%, 1);
--color-zinc-950: hsla(240, 10%, 4%, 1);
--color-slate-50: hsla(210, 40%, 98%, 1);
--color-slate-100: hsla(210, 40%, 96%, 1);
--color-slate-200: hsla(214, 32%, 91%, 1);
--color-slate-300: hsla(213, 27%, 84%, 1);
--color-slate-400: hsla(215, 20%, 65%, 1);
--color-slate-500: hsla(215, 16%, 47%, 1);
--color-slate-600: hsla(215, 19%, 35%, 1);
--color-slate-700: hsla(215, 25%, 27%, 1);
--color-slate-800: hsla(217, 33%, 17%, 1);
--color-slate-900: hsla(222, 47%, 11%, 1);
--color-slate-950: hsla(229, 84%, 5%, 1);
--color-gray-50: hsla(210, 20%, 98%, 1);
--color-gray-100: hsla(220, 14%, 96%, 1);
--color-gray-200: hsla(220, 13%, 91%, 1);
--color-gray-300: hsla(216, 12%, 84%, 1);
--color-gray-400: hsla(218, 11%, 65%, 1);
--color-gray-500: hsla(220, 9%, 46%, 1);
--color-gray-600: hsla(0, 0%, 32%, 1);
--color-gray-700: hsla(217, 19%, 27%, 1);
--color-gray-800: hsla(215, 28%, 17%, 1);
--color-gray-900: hsla(221, 39%, 11%, 1);
--color-gray-950: hsla(224, 71%, 4%, 1);
--color-red-50: hsla(0, 86%, 97%, 1);
--color-red-100: hsla(0, 93%, 94%, 1);
--color-red-200: hsla(0, 96%, 89%, 1);
--color-red-300: hsla(0, 94%, 82%, 1);
--color-red-400: hsla(0, 91%, 71%, 1);
--color-red-500: hsla(0, 84%, 60%, 1);
--color-red-600: hsla(0, 72%, 51%, 1);
--color-red-700: hsla(0, 74%, 42%, 1);
--color-red-800: hsla(0, 70%, 35%, 1);
--color-red-900: hsla(0, 63%, 31%, 1);
--color-red-950: hsla(0, 75%, 15%, 1);
--color-orange-50: hsla(33, 100%, 96%, 1);
--color-orange-100: hsla(34, 100%, 92%, 1);
--color-orange-200: hsla(32, 98%, 83%, 1);
--color-orange-300: hsla(31, 97%, 72%, 1);
--color-orange-400: hsla(27, 96%, 61%, 1);
--color-orange-500: hsla(25, 95%, 53%, 1);
--color-orange-600: hsla(21, 90%, 48%, 1);
--color-orange-700: hsla(17, 88%, 40%, 1);
--color-orange-800: hsla(15, 79%, 34%, 1);
--color-orange-900: hsla(15, 75%, 28%, 1);
--color-orange-950: hsla(13, 81%, 15%, 1);
--color-amber-50: hsla(48, 100%, 96%, 1);
--color-amber-100: hsla(48, 96%, 89%, 1);
--color-amber-200: hsla(48, 97%, 77%, 1);
--color-amber-300: hsla(46, 97%, 65%, 1);
--color-amber-400: hsla(43, 96%, 56%, 1);
--color-amber-500: hsla(38, 92%, 50%, 1);
--color-amber-600: hsla(32, 95%, 44%, 1);
--color-amber-700: hsla(26, 90%, 37%, 1);
--color-amber-800: hsla(23, 83%, 31%, 1);
--color-amber-900: hsla(22, 78%, 26%, 1);
--color-amber-950: hsla(21, 92%, 14%, 1);
--color-yellow-50: hsla(55, 92%, 95%, 1);
--color-yellow-100: hsla(55, 97%, 88%, 1);
--color-yellow-200: hsla(53, 98%, 77%, 1);
--color-yellow-300: hsla(50, 98%, 64%, 1);
--color-yellow-400: hsla(48, 96%, 53%, 1);
--color-yellow-500: hsla(45, 93%, 47%, 1);
--color-yellow-600: hsla(41, 96%, 40%, 1);
--color-yellow-700: hsla(35, 92%, 33%, 1);
--color-yellow-800: hsla(32, 81%, 29%, 1);
--color-yellow-900: hsla(28, 73%, 26%, 1);
--color-yellow-950: hsla(26, 83%, 14%, 1);
--color-lime-50: hsla(78, 92%, 95%, 1);
--color-lime-100: hsla(80, 89%, 89%, 1);
--color-lime-200: hsla(81, 88%, 80%, 1);
--color-lime-300: hsla(82, 85%, 67%, 1);
--color-lime-400: hsla(83, 78%, 55%, 1);
--color-lime-500: hsla(84, 81%, 44%, 1);
--color-lime-600: hsla(85, 85%, 35%, 1);
--color-lime-700: hsla(86, 78%, 27%, 1);
--color-lime-800: hsla(86, 69%, 23%, 1);
--color-lime-900: hsla(88, 61%, 20%, 1);
--color-lime-950: hsla(89, 80%, 10%, 1);
--color-green-50: hsla(138, 76%, 97%, 1);
--color-green-100: hsla(141, 84%, 93%, 1);
--color-green-200: hsla(141, 79%, 85%, 1);
--color-green-300: hsla(142, 77%, 73%, 1);
--color-green-400: hsla(142, 69%, 58%, 1);
--color-green-500: hsla(142, 71%, 45%, 1);
--color-green-600: hsla(142, 76%, 36%, 1);
--color-green-700: hsla(142, 72%, 29%, 1);
--color-green-800: hsla(143, 64%, 24%, 1);
--color-green-900: hsla(144, 61%, 20%, 1);
--color-green-950: hsla(145, 80%, 10%, 1);
--color-emerald-50: hsla(152, 81%, 96%, 1);
--color-emerald-100: hsla(149, 80%, 90%, 1);
--color-emerald-200: hsla(152, 76%, 80%, 1);
--color-emerald-300: hsla(156, 72%, 67%, 1);
--color-emerald-400: hsla(158, 64%, 52%, 1);
--color-emerald-500: hsla(160, 84%, 39%, 1);
--color-emerald-600: hsla(161, 94%, 30%, 1);
--color-emerald-700: hsla(163, 94%, 24%, 1);
--color-emerald-800: hsla(163, 88%, 20%, 1);
--color-emerald-900: hsla(164, 86%, 16%, 1);
--color-emerald-950: hsla(166, 91%, 9%, 1);
--color-teal-50: hsla(166, 76%, 97%, 1);
--color-teal-100: hsla(167, 85%, 89%, 1);
--color-teal-200: hsla(168, 84%, 78%, 1);
--color-teal-300: hsla(171, 77%, 64%, 1);
--color-teal-400: hsla(172, 66%, 50%, 1);
--color-teal-500: hsla(173, 80%, 40%, 1);
--color-teal-600: hsla(175, 84%, 32%, 1);
--color-teal-700: hsla(175, 77%, 26%, 1);
--color-teal-800: hsla(176, 69%, 22%, 1);
--color-teal-900: hsla(176, 61%, 19%, 1);
--color-teal-950: hsla(179, 84%, 10%, 1);
--color-cyan-50: hsla(183, 100%, 96%, 1);
--color-cyan-100: hsla(185, 96%, 90%, 1);
--color-cyan-200: hsla(186, 94%, 82%, 1);
--color-cyan-300: hsla(187, 92%, 69%, 1);
--color-cyan-400: hsla(188, 86%, 53%, 1);
--color-cyan-500: hsla(189, 94%, 43%, 1);
--color-cyan-600: hsla(192, 91%, 36%, 1);
--color-cyan-700: hsla(193, 82%, 31%, 1);
--color-cyan-800: hsla(194, 70%, 27%, 1);
--color-cyan-900: hsla(196, 64%, 24%, 1);
--color-cyan-950: hsla(197, 79%, 15%, 1);
--color-sky-50: hsla(204, 100%, 97%, 1);
--color-sky-100: hsla(204, 94%, 94%, 1);
--color-sky-200: hsla(201, 94%, 86%, 1);
--color-sky-300: hsla(199, 95%, 74%, 1);
--color-sky-400: hsla(198, 93%, 60%, 1);
--color-sky-500: hsla(199, 89%, 48%, 1);
--color-sky-600: hsla(200, 98%, 39%, 1);
--color-sky-700: hsla(201, 96%, 32%, 1);
--color-sky-800: hsla(201, 90%, 27%, 1);
--color-sky-900: hsla(202, 80%, 24%, 1);
--color-sky-950: hsla(204, 80%, 16%, 1);
--color-blue-50: hsla(214, 100%, 97%, 1);
--color-blue-100: hsla(214, 95%, 93%, 1);
--color-blue-200: hsla(213, 97%, 87%, 1);
--color-blue-300: hsla(212, 96%, 78%, 1);
--color-blue-400: hsla(213, 94%, 68%, 1);
--color-blue-500: hsla(217, 91%, 60%, 1);
--color-blue-600: hsla(221, 83%, 53%, 1);
--color-blue-700: hsla(224, 76%, 48%, 1);
--color-blue-800: hsla(226, 71%, 40%, 1);
--color-blue-900: hsla(224, 64%, 33%, 1);
--color-blue-950: hsla(226, 57%, 21%, 1);
--color-indigo-50: hsla(226, 100%, 97%, 1);
--color-indigo-100: hsla(226, 100%, 94%, 1);
--color-indigo-200: hsla(228, 96%, 89%, 1);
--color-indigo-300: hsla(230, 94%, 82%, 1);
--color-indigo-400: hsla(234, 89%, 74%, 1);
--color-indigo-500: hsla(239, 84%, 67%, 1);
--color-indigo-600: hsla(243, 75%, 59%, 1);
--color-indigo-700: hsla(245, 58%, 51%, 1);
--color-indigo-800: hsla(244, 55%, 41%, 1);
--color-indigo-900: hsla(242, 47%, 34%, 1);
--color-indigo-950: hsla(244, 47%, 20%, 1);
--color-violet-50: hsla(250, 100%, 98%, 1);
--color-violet-100: hsla(251, 91%, 95%, 1);
--color-violet-200: hsla(251, 95%, 92%, 1);
--color-violet-300: hsla(253, 95%, 85%, 1);
--color-violet-400: hsla(255, 92%, 76%, 1);
--color-violet-500: hsla(258, 90%, 66%, 1);
--color-violet-600: hsla(262, 83%, 58%, 1);
--color-violet-700: hsla(263, 70%, 50%, 1);
--color-violet-800: hsla(263, 69%, 42%, 1);
--color-violet-900: hsla(264, 67%, 35%, 1);
--color-violet-950: hsla(262, 78%, 23%, 1);
--color-purple-50: hsla(270, 100%, 98%, 1);
--color-purple-100: hsla(269, 100%, 95%, 1);
--color-purple-200: hsla(269, 100%, 92%, 1);
--color-purple-300: hsla(269, 97%, 85%, 1);
--color-purple-400: hsla(270, 95%, 75%, 1);
--color-purple-500: hsla(271, 91%, 65%, 1);
--color-purple-600: hsla(271, 81%, 56%, 1);
--color-purple-700: hsla(272, 72%, 47%, 1);
--color-purple-800: hsla(273, 67%, 39%, 1);
--color-purple-900: hsla(274, 66%, 32%, 1);
--color-purple-950: hsla(274, 87%, 21%, 1);
--color-fuchsia-50: hsla(289, 100%, 98%, 1);
--color-fuchsia-100: hsla(287, 100%, 95%, 1);
--color-fuchsia-200: hsla(288, 96%, 91%, 1);
--color-fuchsia-300: hsla(291, 93%, 83%, 1);
--color-fuchsia-400: hsla(292, 91%, 73%, 1);
--color-fuchsia-500: hsla(292, 84%, 61%, 1);
--color-fuchsia-600: hsla(293, 69%, 49%, 1);
--color-fuchsia-700: hsla(295, 72%, 40%, 1);
--color-fuchsia-800: hsla(295, 70%, 33%, 1);
--color-fuchsia-900: hsla(297, 64%, 28%, 1);
--color-fuchsia-950: hsla(297, 90%, 16%, 1);
--color-pink-50: hsla(327, 73%, 97%, 1);
--color-pink-100: hsla(326, 78%, 95%, 1);
--color-pink-200: hsla(326, 85%, 90%, 1);
--color-pink-300: hsla(327, 87%, 82%, 1);
--color-pink-400: hsla(329, 86%, 70%, 1);
--color-pink-500: hsla(330, 81%, 60%, 1);
--color-pink-600: hsla(333, 71%, 51%, 1);
--color-pink-700: hsla(335, 78%, 42%, 1);
--color-pink-800: hsla(336, 74%, 35%, 1);
--color-pink-900: hsla(336, 69%, 30%, 1);
--color-pink-950: hsla(336, 84%, 17%, 1);
--color-rose-50: hsla(356, 100%, 97%, 1);
--color-rose-100: hsla(356, 100%, 95%, 1);
--color-rose-200: hsla(353, 96%, 90%, 1);
--color-rose-300: hsla(353, 96%, 82%, 1);
--color-rose-400: hsla(351, 95%, 71%, 1);
--color-rose-500: hsla(350, 89%, 60%, 1);
--color-rose-600: hsla(347, 77%, 50%, 1);
--color-rose-700: hsla(345, 83%, 41%, 1);
--color-rose-800: hsla(343, 80%, 35%, 1);
--color-rose-900: hsla(342, 75%, 30%, 1);
--color-rose-950: hsla(343, 88%, 16%, 1);
--color-brand-50: hsla(132, 64%, 97%, 1);
--color-brand-100: hsla(132, 64%, 93%, 1);
--color-brand-200: hsla(132, 64%, 85%, 1);
--color-brand-300: hsla(132, 64%, 73%, 1);
--color-brand-400: hsla(132, 64%, 63%, 1);
--color-brand-500: hsla(132, 64%, 53%, 1);
--color-brand-600: hsla(132, 64%, 43%, 1);
--color-brand-700: hsla(132, 64%, 33%, 1);
--color-brand-800: hsla(132, 64%, 23%, 1);
--color-brand-900: hsla(132, 64%, 13%, 1);
--color-brand-950: hsla(132, 64%, 8%, 1);
/* ==================== */
/* Semantic Colors */
/* ==================== */
--color-primary: hsla(132, 64%, 53%, 1);
--color-primary-hover: hsla(132, 64%, 73%, 1);
--color-destructive: hsla(0, 84%, 60%, 1);
--color-destructive-hover: hsla(0, 91%, 71%, 1);
--color-background: hsla(0, 0%, 98%, 1);
--color-background-subtle: hsla(0, 0%, 0%, 0.02);
--color-foreground: hsla(0, 0%, 0%, 0.9);
--color-foreground-secondary: hsla(0, 0%, 0%, 0.6);
--color-foreground-muted: hsla(0, 0%, 0%, 0.4);
--color-card: hsla(0, 0%, 100%, 1);
--color-popover: hsla(0, 0%, 100%, 1);
--color-border: hsla(0, 0%, 0%, 0.1);
--color-border-hover: hsla(0, 0%, 0%, 0.2);
--color-border-active: hsla(0, 0%, 0%, 0.3);
--color-ring: color-mix(in srgb, hsla(132, 64%, 53%, 1) 40%, transparent);
--color-secondary: hsla(0, 0%, 0%, 0.05);
--color-secondary-hover: hsla(0, 0%, 0%, 0.85);
--color-secondary-active: hsla(0, 0%, 0%, 0.7);
--color-muted: hsla(0, 0%, 0%, 0.05);
--color-accent: hsla(0, 0%, 0%, 0.05);
--color-ghost-hover: hsla(0, 0%, 0%, 0.05);
--color-ghost-active: hsla(0, 0%, 0%, 0.1);
--color-sidebar: hsla(0, 0%, 100%, 1);
--color-sidebar-accent: hsla(0, 0%, 0%, 0.05);
--color-border-width-sm: 1px;
--color-border-width-md: 2px;
--color-border-width-lg: 3px;
/* ==================== */
/* Status Colors */
/* ==================== */
--color-error-base: hsla(0, 84%, 60%, 1);
--color-error-text: hsla(0, 70%, 35%, 1);
--color-error-bg: hsla(0, 86%, 97%, 1);
--color-error-text-hover: hsla(0, 74%, 42%, 1);
--color-error-bg-hover: hsla(0, 93%, 94%, 1);
--color-error-border: hsla(0, 96%, 89%, 1);
--color-error-border-hover: hsla(0, 94%, 82%, 1);
--color-error-active: hsla(0, 72%, 51%, 1);
--color-success-base: hsla(142, 71%, 45%, 1);
--color-success-text-hover: hsla(142, 72%, 29%, 1);
--color-success-bg: hsla(138, 76%, 97%, 1);
--color-success-bg-hover: hsla(141, 79%, 85%, 1);
--color-warning-base: hsla(43, 96%, 56%, 1);
--color-warning-text-hover: hsla(26, 90%, 37%, 1);
--color-warning-bg: hsla(48, 100%, 96%, 1);
--color-warning-bg-hover: hsla(48, 96%, 89%, 1);
--color-warning-active: hsla(32, 95%, 44%, 1);
/* ==================== */
/* Spacing */
/* ==================== */
--spacing-5xs: 0.25rem;
--spacing-4xs: 0.5rem;
--spacing-3xs: 0.75rem;
--spacing-2xs: 1rem;
--spacing-xs: 1.5rem;
--spacing-sm: 2rem;
--spacing-md: 2.5rem;
--spacing-lg: 3rem;
--spacing-xl: 3.5rem;
--spacing-2xl: 4rem;
--spacing-3xl: 4.5rem;
--spacing-4xl: 5rem;
--spacing-5xl: 5.5rem;
--spacing-6xl: 6rem;
--spacing-7xl: 6.5rem;
--spacing-8xl: 7rem;
/* ==================== */
/* Radius */
/* ==================== */
--radius-4xs: 0.25rem; /* 4px */
--radius-3xs: 0.5rem; /* 8px */
--radius-2xs: 0.75rem; /* 12px */
--radius-xs: 1rem; /* 16px */
--radius-sm: 1.5rem; /* 24px */
--radius-md: 2rem; /* 32px */
--radius-lg: 2.5rem; /* 40px */
--radius-xl: 3rem; /* 48px */
--radius-2xl: 3.5rem; /* 56px */
--radius-3xl: 4rem; /* 64px */
--radius-round: 999px; /* 完全圆角 */
/* ==================== */
/* Typography */
/* ==================== */
--font-family-heading: Inter;
--font-family-body: Inter;
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-bold: 700;
--font-size-body-xs: 0.75rem;
--font-size-body-sm: 0.875rem;
--font-size-body-md: 1rem;
--font-size-body-lg: 1.125rem;
--font-size-heading-xs: 1.25rem;
--font-size-heading-sm: 1.5rem;
--font-size-heading-md: 2rem;
--font-size-heading-lg: 2.5rem;
--font-size-heading-xl: 3rem;
--font-size-heading-2xl: 3.75rem;
--line-height-body-xs: 1.25rem;
--line-height-body-sm: 1.5rem;
--line-height-body-md: 1.5rem;
--line-height-body-lg: 1.75rem;
--line-height-heading-xs: 2rem;
--line-height-heading-sm: 2.5rem;
--line-height-heading-md: 3rem;
--line-height-heading-lg: 3.75rem;
--line-height-heading-xl: 5rem;
--paragraph-spacing-body-xs: 0.75rem;
--paragraph-spacing-body-sm: 0.875rem;
--paragraph-spacing-body-md: 1rem;
--paragraph-spacing-body-lg: 1.125rem;
--paragraph-spacing-heading-xs: 1.25rem;
--paragraph-spacing-heading-sm: 1.5rem;
--paragraph-spacing-heading-md: 2rem;
--paragraph-spacing-heading-lg: 2.5rem;
--paragraph-spacing-heading-xl: 3rem;
--paragraph-spacing-heading-2xl: 3.75rem;
}
/* ==================== */
/* Dark Mode */
/* ==================== */
@layer theme {
.dark {
--color-background: hsla(240, 6%, 10%, 1);
--color-background-subtle: hsla(0, 0%, 100%, 0.02);
--color-foreground: hsla(0, 0%, 100%, 0.9);
--color-foreground-secondary: hsla(0, 0%, 100%, 0.6);
--color-foreground-muted: hsla(0, 0%, 100%, 0.4);
--color-card: hsla(0, 0%, 0%, 1);
--color-popover: hsla(0, 0%, 0%, 1);
--color-border: hsla(0, 0%, 100%, 0.1);
--color-border-hover: hsla(0, 0%, 100%, 0.2);
--color-border-active: hsla(0, 0%, 100%, 0.3);
--color-ring: hsla(84, 81%, 44%, 0.4);
--color-secondary: hsla(0, 0%, 100%, 0.1);
--color-secondary-hover: hsla(0, 0%, 100%, 0.2);
--color-secondary-active: hsla(0, 0%, 100%, 0.25);
--color-muted: hsla(0, 0%, 100%, 0.1);
--color-accent: hsla(0, 0%, 100%, 0.1);
--color-ghost-hover: hsla(0, 0%, 100%, 0.1);
--color-ghost-active: hsla(0, 0%, 100%, 0.15);
--color-sidebar: hsla(0, 0%, 0%, 1);
--color-sidebar-accent: hsla(0, 0%, 100%, 0.1);
--color-error-base: hsla(0, 91%, 71%, 1);
--color-error-text: hsla(0, 93%, 94%, 1);
--color-error-bg: hsla(0, 63%, 31%, 1);
--color-error-text-hover: hsla(0, 96%, 89%, 1);
--color-error-bg-hover: hsla(0, 70%, 35%, 1);
--color-error-border: hsla(0, 74%, 42%, 1);
--color-error-border-hover: hsla(0, 72%, 51%, 1);
--color-error-active: hsla(0, 94%, 82%, 1);
--color-success-base: hsla(142, 69%, 58%, 1);
--color-success-text-hover: hsla(141, 79%, 85%, 1);
--color-success-bg: hsla(144, 61%, 20%, 1);
--color-success-bg-hover: hsla(143, 64%, 24%, 1);
--color-warning-base: hsla(43, 96%, 56%, 1);
--color-warning-text-hover: hsla(48, 97%, 77%, 1);
--color-warning-bg: hsla(22, 78%, 26%, 1);
--color-warning-bg-hover: hsla(23, 83%, 31%, 1);
--color-warning-active: hsla(32, 95%, 44%, 1);
}
}
/* ==================== */
/* Base Styles */
/* ==================== */
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}

View File

@@ -0,0 +1,12 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1002_325032)">
<path d="M13.1591 23.9994C19.1463 23.9994 23.9999 19.1369 23.9999 13.1387C23.9999 7.14056 19.1463 2.27808 13.1591 2.27808C7.17194 2.27808 2.31836 7.14056 2.31836 13.1387C2.31836 19.1369 7.17194 23.9994 13.1591 23.9994Z" fill="#3F3FAA"/>
<path d="M10.8408 21.7213C16.828 21.7213 21.6816 16.8589 21.6816 10.8607C21.6816 4.86249 16.828 0 10.8408 0C4.85358 0 0 4.86249 0 10.8607C0 16.8589 4.85358 21.7213 10.8408 21.7213Z" fill="#8E47F0"/>
<path d="M10.674 18.0887C9.90386 18.0887 9.15988 17.8338 8.5431 17.3518C7.81081 16.7798 7.34412 15.9557 7.23049 15.0323C7.19589 14.7503 7.19449 14.4706 7.22628 14.1956C7.01212 14.2373 6.79047 14.2589 6.56461 14.2589C4.64737 14.2589 3.0874 12.696 3.0874 10.7753C3.0874 8.85455 4.64737 7.29172 6.56461 7.29172C6.83863 7.29172 7.10564 7.32357 7.36143 7.38401C7.34646 7.25283 7.33898 7.11979 7.33898 6.98627C7.33898 5.06552 8.89895 3.50269 10.8162 3.50269C12.7334 3.50269 14.2934 5.06552 14.2934 6.98627C14.2934 7.09777 14.2882 7.2088 14.2775 7.31936C14.559 7.27017 14.848 7.25517 15.1393 7.27719C17.0514 7.41914 18.4917 9.09347 18.35 11.0091C18.2812 11.9371 17.8557 12.7827 17.1524 13.3903C16.4486 13.9979 15.5503 14.295 14.6249 14.2256C14.4566 14.213 14.2911 14.1886 14.1293 14.153C14.1302 14.161 14.1311 14.1689 14.1325 14.1769C14.2466 15.1003 13.995 16.0129 13.4241 16.747C12.8531 17.4811 12.0306 17.9481 11.1089 18.0624C10.9635 18.0802 10.8185 18.0891 10.6745 18.0891L10.674 18.0887ZM8.74417 13.4878C8.50008 13.9113 8.40328 14.3915 8.4636 14.8796C8.53702 15.4732 8.83629 16.0025 9.30718 16.3698C9.77761 16.7376 10.3631 16.8997 10.9555 16.8261C11.548 16.7526 12.0764 16.4528 12.443 15.981C12.8101 15.5092 12.9719 14.9227 12.8985 14.3296C12.8503 13.938 12.7016 13.5702 12.4669 13.2587C12.3135 13.1102 12.1732 12.9472 12.0474 12.7696C11.8487 12.4895 11.9142 12.1006 12.1938 11.9015C12.4734 11.7019 12.8615 11.768 13.0603 12.0477C13.1066 12.1128 13.1557 12.1751 13.208 12.2341C13.2497 12.2636 13.2885 12.2988 13.3236 12.3391C13.3446 12.3639 13.3656 12.3887 13.3857 12.414C13.7505 12.7443 14.2162 12.9462 14.7166 12.9832C15.9483 13.0755 17.0191 12.1475 17.1103 10.9163C17.2015 9.68516 16.2761 8.60954 15.0472 8.51818C14.5763 8.48305 14.1166 8.59455 13.7159 8.8405C13.5256 8.99697 13.252 9.03117 13.0229 8.90515C12.7222 8.73977 12.6118 8.36125 12.7769 8.06002C12.956 7.73302 13.0505 7.36152 13.0505 6.9858C13.0505 5.75137 12.0479 4.74696 10.8157 4.74696C9.58354 4.74696 8.58097 5.75137 8.58097 6.9858C8.58097 7.42757 8.7091 7.85435 8.95133 8.2207C8.96302 8.2385 8.97377 8.25677 8.98359 8.27551C9.63545 8.90889 10.0409 9.79572 10.0409 10.7753C10.0409 11.8701 9.53444 12.8483 8.7437 13.4873L8.74417 13.4878ZM6.56414 8.53692C5.33197 8.53692 4.32939 9.54134 4.32939 10.7758C4.32939 12.0102 5.33197 13.0146 6.56414 13.0146C7.79631 13.0146 8.79888 12.0102 8.79888 10.7758C8.79888 9.54134 7.79631 8.53692 6.56414 8.53692Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1002_325032">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.9 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 140 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1010_212037)">
<path d="M19.5 0H4.5C2.01472 0 0 2.01472 0 4.5V19.5C0 21.9853 2.01472 24 4.5 24H19.5C21.9853 24 24 21.9853 24 19.5V4.5C24 2.01472 21.9853 0 19.5 0Z" fill="#333333"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5423 4.71087C5.21065 6.81312 11.4721 19.8057 11.8942 19.8746C12.246 19.9436 17.0652 10.156 19.4923 4.40071C19.5627 4.26285 19.1406 4.125 18.5426 4.125C17.7335 4.125 17.4521 4.29732 17.4521 4.71087C17.4521 5.26228 12.457 17.2899 12.3163 17.1176C12.0349 16.7385 7.2509 5.77923 7.07501 5.0555C6.86395 4.26285 6.65289 4.125 5.5976 4.125C4.57748 4.125 4.40159 4.22839 4.5423 4.71087Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1010_212037">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 866 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1,15 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1002_325038)">
<path d="M21.8843 0H2.07031C0.965743 0 0.0703125 0.89543 0.0703125 2V22C0.0703125 23.1046 0.965742 24 2.07031 24H21.8843C22.9888 24 23.8843 23.1046 23.8843 22V2C23.8843 0.895431 22.9888 0 21.8843 0Z" fill="url(#paint0_linear_1002_325038)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2237 8.39297C11.3167 7.74923 11.5229 6.92265 11.8423 5.91328C11.8846 5.78242 12.0698 5.78242 12.1121 5.91328C12.4315 6.92265 12.6377 7.74923 12.7307 8.39297C12.802 8.86485 12.802 9.46485 12.7307 10.193C12.6594 10.9242 12.6594 11.5289 12.7307 12.007C12.8361 12.707 13.154 13.2883 13.6842 13.7508C14.2237 14.2227 14.8485 14.4586 15.5586 14.4586C16.3462 14.4586 17.0191 14.1789 17.5772 13.6195C18.1322 13.0602 18.4129 12.3852 18.4191 11.5945C18.4222 10.8945 18.4935 10.1227 18.6331 9.27891C18.7012 8.85703 18.7709 8.50391 18.8424 8.21953C18.8731 8.09239 19.0472 8.07302 19.1028 8.19141C19.5834 9.21641 19.8346 10.2976 19.8563 11.4352V11.5945C19.8563 12.6727 19.65 13.7023 19.2377 14.6836C18.8377 15.6367 18.2749 16.4789 17.5493 17.2102C16.8206 17.9414 15.985 18.5086 15.0423 18.9118C14.0687 19.3273 13.047 19.5353 11.9772 19.5353C10.9074 19.5353 9.88574 19.3273 8.9121 18.9118C7.96946 18.5086 7.13381 17.9414 6.40512 17.2102C5.67954 16.4789 5.11675 15.6367 4.71675 14.6836C4.30434 13.7023 4.09814 12.6727 4.09814 11.5945V11.4352C4.11986 10.2976 4.37102 9.21641 4.85163 8.19141C4.90728 8.07302 5.08133 8.09239 5.1121 8.21953C5.18341 8.50391 5.25318 8.85703 5.3214 9.27891C5.46094 10.1227 5.53225 10.8945 5.53535 11.5945C5.54155 12.3852 5.82218 13.0602 6.37721 13.6195C6.93535 14.1789 7.60823 14.4586 8.39582 14.4586C9.1059 14.4586 9.7307 14.2227 10.2702 13.7508C10.8005 13.2883 11.1183 12.707 11.2237 12.007C11.295 11.5289 11.295 10.9242 11.2237 10.193C11.1524 9.46485 11.1524 8.86485 11.2237 8.39297ZM11.9772 18.0867C13.0656 18.0867 14.0857 17.8273 15.0377 17.3086C15.7123 16.9427 16.2981 16.4766 16.7952 15.9103C16.8573 15.8397 16.7842 15.7321 16.6938 15.7568C16.3276 15.857 15.9492 15.907 15.5586 15.907C14.7834 15.907 14.0625 15.7102 13.3958 15.3164C12.8571 15 12.4108 14.5891 12.0568 14.0839C12.0182 14.0289 11.9362 14.0289 11.8977 14.0839C11.5437 14.5891 11.0973 15 10.5586 15.3164C9.89195 15.7102 9.17102 15.907 8.39582 15.907C8.00523 15.907 7.62685 15.857 7.26064 15.7568C7.17029 15.7321 7.0972 15.8397 7.1592 15.9103C7.65628 16.4766 8.24213 16.9427 8.91675 17.3086C9.86869 17.8273 10.8888 18.0867 11.9772 18.0867Z" fill="white"/>
</g>
<defs>
<linearGradient id="paint0_linear_1002_325038" x1="11.9773" y1="0" x2="11.9773" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#2563EB"/>
<stop offset="1" stop-color="#0049DF"/>
</linearGradient>
<clipPath id="clip0_1002_325038">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1010_212036)">
<path d="M18 0H6C2.68629 0 0 2.68629 0 6V18C0 21.3137 2.68629 24 6 24H18C21.3137 24 24 21.3137 24 18V6C24 2.68629 21.3137 0 18 0Z" fill="#CA9F7B"/>
<path d="M15.3843 6.43481H12.9687L17.3739 17.5652H19.7896L15.3843 6.43481ZM8.40522 6.43481L4 17.5652H6.4633L7.36417 15.2279H11.9729L12.8737 17.5652H15.337L10.9318 6.43481H8.40522ZM8.16104 13.1607L9.66852 9.24907L11.176 13.1607H8.16104Z" fill="#191918"/>
</g>
<defs>
<clipPath id="clip0_1010_212036">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 655 B

View File

@@ -0,0 +1,20 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1002_325036)">
<mask id="mask0_1002_325036" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
<path d="M24 0H0V24H24V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_1002_325036)">
<path d="M19 0H4.99999C2.23857 0 0 2.23857 0 4.99999V19C0 21.7614 2.23857 24 4.99999 24H19C21.7614 24 24 21.7614 24 19V4.99999C24 2.23857 21.7614 0 19 0Z" fill="url(#paint0_linear_1002_325036)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9995 18.1395L9.57351 18.9485L8.62752 18.3174L9.65751 17.9734L9.34152 17.0254L7.57352 17.6145L6.99951 17.2325V14.4995C6.99951 14.3105 6.89252 14.1375 6.72351 14.0525L4.99952 13.1905V10.8085L6.49952 10.0585L7.99952 10.8085V12.4995C7.99952 12.6895 8.10651 12.8625 8.27552 12.9475L10.2755 13.9475L10.7235 13.0525L8.99952 12.1905V10.8085L10.7235 9.94746C10.8925 9.86245 10.9995 9.68946 10.9995 9.49946V7.99946H9.99951V9.19045L8.49951 9.94045L6.99951 9.19045V6.76746L7.99952 6.10045V7.99946H8.99952V5.43445L9.57351 5.05146L11.9995 5.86045V18.1395ZM17.4995 16.9995C17.7745 16.9995 17.9995 17.2234 17.9995 17.4994C17.9995 17.7754 17.7745 17.9994 17.4995 17.9994C17.2246 17.9994 16.9996 17.7754 16.9996 17.4994C16.9996 17.2234 17.2246 16.9995 17.4995 16.9995ZM16.4995 5.99946C16.7746 5.99946 16.9996 6.22345 16.9996 6.49945C16.9996 6.77545 16.7746 6.99945 16.4995 6.99945C16.2245 6.99945 15.9995 6.77545 15.9995 6.49945C15.9995 6.22345 16.2245 5.99946 16.4995 5.99946ZM18.4996 11.9995C18.7745 11.9995 18.9995 12.2235 18.9995 12.4995C18.9995 12.7755 18.7745 12.9995 18.4996 12.9995C18.2245 12.9995 17.9995 12.7755 17.9995 12.4995C17.9995 12.2235 18.2245 11.9995 18.4996 11.9995ZM17.0915 12.9995C17.2985 13.5805 17.8486 13.9995 18.4996 13.9995C19.3265 13.9995 19.9996 13.3275 19.9996 12.4995C19.9996 11.6725 19.3265 10.9995 18.4996 10.9995C17.8486 10.9995 17.2985 11.4195 17.0915 11.9995H12.9995V9.99946H16.4995C16.7755 9.99946 16.9996 9.77646 16.9996 9.49946V7.90746C17.5805 7.70046 17.9995 7.15045 17.9995 6.49945C17.9995 5.67246 17.3266 4.99945 16.4995 4.99945C15.6725 4.99945 14.9995 5.67246 14.9995 6.49945C14.9995 7.15045 15.4186 7.70046 15.9995 7.90746V8.99946H12.9995V5.49945C12.9995 5.28445 12.8615 5.09346 12.6575 5.02545L9.65751 4.02546C9.51051 3.97645 9.35052 3.99846 9.22251 4.08345L6.22251 6.08346C6.08352 6.17646 5.99952 6.33246 5.99952 6.49945V9.19045L4.27551 10.0525C4.10652 10.1375 3.99951 10.3105 3.99951 10.4995V13.4995C3.99951 13.6895 4.10652 13.8625 4.27551 13.9475L5.99952 14.8085V17.4994C5.99952 17.6664 6.08352 17.8234 6.22251 17.9154L9.22251 19.9155C9.30552 19.9715 9.40152 19.9995 9.49952 19.9995C9.55251 19.9995 9.60552 19.9914 9.65751 19.9734L12.6575 18.9735C12.8615 18.9065 12.9995 18.7155 12.9995 18.4995V15.9994H15.2926L16.1455 16.8534L16.1585 16.8405C16.0606 17.0405 15.9995 17.2624 15.9995 17.4994C15.9995 18.3264 16.6726 18.9994 17.4995 18.9994C18.3265 18.9994 18.9995 18.3264 18.9995 17.4994C18.9995 16.6725 18.3265 15.9994 17.4995 15.9994C17.2615 15.9994 17.0395 16.0605 16.8406 16.1595L16.8535 16.1465L15.8536 15.1464C15.7595 15.0525 15.6325 14.9995 15.4996 14.9995H12.9995V12.9995H17.0915Z" fill="white"/>
</g>
</g>
<defs>
<linearGradient id="paint0_linear_1002_325036" x1="0" y1="2400" x2="2400" y2="0" gradientUnits="userSpaceOnUse">
<stop stop-color="#055F4E"/>
<stop offset="1" stop-color="#56C0A7"/>
</linearGradient>
<clipPath id="clip0_1002_325036">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,49 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1012_212067)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2329 0C16.9459 0 17.5779 0.551 17.8049 1.329C18.0319 2.107 19.3599 6.919 19.3599 6.919V16.481H14.5469L14.6449 0H16.2329Z" fill="url(#paint0_linear_1012_212067)"/>
<path d="M23.298 7.47012C23.298 7.13012 23.023 6.87012 22.698 6.87012H19.863C18.9046 6.87091 17.9857 7.25206 17.3081 7.92986C16.6305 8.60767 16.2496 9.5267 16.249 10.4851V16.4811H19.685C20.6431 16.4801 21.5616 16.0989 22.239 15.4214C22.9164 14.7438 23.2972 13.8252 23.298 12.8671V7.47012Z" fill="url(#paint1_linear_1012_212067)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.233 2.5131e-05C16.1028 -0.00090588 15.9738 0.0240397 15.8534 0.0734119C15.733 0.122784 15.6236 0.195598 15.5316 0.287621C15.4395 0.379644 15.3667 0.489041 15.3173 0.609452C15.268 0.729864 15.243 0.858888 15.244 0.989025L15.147 19.187C15.1467 20.4634 14.6395 21.6875 13.737 22.59C12.8344 23.4926 11.6104 23.9998 10.334 24H1.59996C1.50434 24.0006 1.40998 23.9782 1.32484 23.9346C1.23969 23.8911 1.16624 23.8278 1.11067 23.75C1.0551 23.6722 1.01904 23.5821 1.00551 23.4875C0.991989 23.3928 1.0014 23.2963 1.03296 23.206L8.03296 3.22502C8.36272 2.2842 8.97615 1.4688 9.78873 0.891207C10.6013 0.313611 11.573 0.00224754 12.57 2.5131e-05H16.249H16.233Z" fill="url(#paint2_linear_1012_212067)"/>
</g>
<defs>
<linearGradient id="paint0_linear_1012_212067" x1="18.2419" y1="16.837" x2="14.1909" y2="0.616" gradientUnits="userSpaceOnUse">
<stop stop-color="#712575"/>
<stop offset="0.09" stop-color="#9A2884"/>
<stop offset="0.18" stop-color="#BF2C92"/>
<stop offset="0.27" stop-color="#DA2E9C"/>
<stop offset="0.34" stop-color="#EB30A2"/>
<stop offset="0.4" stop-color="#F131A5"/>
<stop offset="0.5" stop-color="#EC30A3"/>
<stop offset="0.61" stop-color="#DF2F9E"/>
<stop offset="0.72" stop-color="#C92D96"/>
<stop offset="0.83" stop-color="#AA2A8A"/>
<stop offset="0.95" stop-color="#83267C"/>
<stop offset="1" stop-color="#712575"/>
</linearGradient>
<linearGradient id="paint1_linear_1012_212067" x1="19.782" y1="0.340117" x2="19.782" y2="23.2221" gradientUnits="userSpaceOnUse">
<stop stop-color="#DA7ED0"/>
<stop offset="0.08" stop-color="#B17BD5"/>
<stop offset="0.19" stop-color="#8778DB"/>
<stop offset="0.3" stop-color="#6276E1"/>
<stop offset="0.41" stop-color="#4574E5"/>
<stop offset="0.54" stop-color="#2E72E8"/>
<stop offset="0.67" stop-color="#1D71EB"/>
<stop offset="0.81" stop-color="#1471EC"/>
<stop offset="1" stop-color="#1171ED"/>
</linearGradient>
<linearGradient id="paint2_linear_1012_212067" x1="18.404" y1="0.859025" x2="3.23596" y2="25.183" gradientUnits="userSpaceOnUse">
<stop stop-color="#DA7ED0"/>
<stop offset="0.05" stop-color="#B77BD4"/>
<stop offset="0.11" stop-color="#9079DA"/>
<stop offset="0.18" stop-color="#6E77DF"/>
<stop offset="0.25" stop-color="#5175E3"/>
<stop offset="0.33" stop-color="#3973E7"/>
<stop offset="0.42" stop-color="#2772E9"/>
<stop offset="0.54" stop-color="#1A71EB"/>
<stop offset="0.68" stop-color="#1371EC"/>
<stop offset="1" stop-color="#1171ED"/>
</linearGradient>
<clipPath id="clip0_1012_212067">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,9 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.58154 1.7793H5.52779L3.34655 6.20409V17.7335L0.916016 22.2206H6.21333L8.58154 17.7335V1.7793ZM10.5761 1.7793H15.8111V22.2206H10.5761V1.7793ZM22.9166 1.7793H17.6816V6.01712H22.9166V1.7793ZM22.9166 7.38818H17.6816V22.2206H22.9166V7.38818Z" fill="url(#paint0_radial_1002_325039)"/>
<defs>
<radialGradient id="paint0_radial_1002_325039" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(5.5 5.5) rotate(45) scale(20.5061 22.0704)">
<stop stop-color="#FEBD3F"/>
<stop offset="0.77608" stop-color="#FF6933"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 714 B

View File

@@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.7149 5.61L17.7319 7.92C17.5954 7.99796 17.441 8.03897 17.2839 8.03897C17.1267 8.03897 16.9723 7.99796 16.8359 7.92L12.4399 5.384C12.3033 5.30585 12.1487 5.26475 11.9914 5.26475C11.834 5.26475 11.6794 5.30585 11.5429 5.384L7.15588 7.92C7.01944 7.99796 6.86502 8.03897 6.70788 8.03897C6.55074 8.03897 6.39632 7.99796 6.25988 7.92L2.27588 5.617L12.0019 0L21.7149 5.61Z" fill="#5BCA87"/>
<path d="M18.6408 9.46698C18.5069 9.54591 18.3961 9.65853 18.3192 9.79362C18.2424 9.92871 18.2022 10.0816 18.2028 10.237V15.309C18.2021 15.465 18.1606 15.618 18.0826 15.7531C18.0045 15.8881 17.8926 16.0005 17.7578 16.079L13.3298 18.589C13.1932 18.6671 13.0799 18.7804 13.0017 18.917C12.9234 19.0536 12.8831 19.2086 12.8848 19.366V23.973L17.3138 21.437L22.6238 18.39V7.15698L18.6408 9.46698Z" fill="#EC5D3E"/>
<path d="M10.9799 18.941C10.9095 18.7998 10.8046 18.6787 10.6749 18.589L6.24588 16.073C6.11503 15.9927 6.00679 15.8805 5.93138 15.7468C5.85597 15.6131 5.81587 15.4624 5.81488 15.309V10.231C5.81178 10.0764 5.76847 9.92529 5.68921 9.79255C5.60995 9.65982 5.49748 9.55001 5.36288 9.47396L4.91188 9.21396L1.37988 7.15796V18.39L6.69088 21.437L11.1259 24V19.392C11.1192 19.2315 11.0687 19.0748 10.9799 18.941Z" fill="#2464F5"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,9 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.33594 8.91895V15.0809L11.6709 11.9979L6.33694 8.91995L6.33594 8.91895Z" fill="#1C54E3"/>
<path d="M21.3939 5.28791C21.3939 5.28791 21.3879 5.28191 21.3839 5.28191L17.0099 2.75391L6.33594 8.91991L11.6709 12.0019L21.3719 6.40191L21.3879 6.39191C21.4848 6.33671 21.5654 6.25698 21.6217 6.16074C21.678 6.0645 21.708 5.95513 21.7086 5.84364C21.7092 5.73215 21.6804 5.62246 21.6252 5.52561C21.57 5.42876 21.4902 5.34815 21.3939 5.29191V5.28791Z" fill="#AA9AFF"/>
<path d="M21.7098 12.4651C21.5987 12.4646 21.4896 12.494 21.3938 12.5501C21.3938 12.5501 21.3878 12.5501 21.3848 12.5531L17.0098 15.0811L22.0598 17.9961H22.0658C22.2497 17.6804 22.3463 17.3215 22.3458 16.9561V13.1011C22.3455 12.9325 22.2784 12.7709 22.1592 12.6517C22.04 12.5324 21.8784 12.4654 21.7098 12.4651Z" fill="#00EAD1"/>
<path d="M22.0598 17.9961L17.0098 15.0811L6.33984 21.2421L10.6098 23.7071C10.6098 23.7071 10.6258 23.7131 10.6318 23.7191C10.9503 23.9019 11.3111 23.9981 11.6783 23.9981C12.0456 23.9981 12.4064 23.9019 12.7248 23.7191C12.7308 23.7161 12.7408 23.7131 12.7468 23.7071L21.2848 18.7771C21.2878 18.7771 21.2908 18.7741 21.2948 18.7711C21.6158 18.5881 21.8838 18.3211 22.0698 17.9991H22.0638L22.0598 17.9961Z" fill="#00CEC9"/>
<path d="M11.6718 11.998L6.33578 15.081L4.89179 15.913L1.28679 17.996H1.27979C1.45279 18.299 1.69579 18.551 1.98879 18.734L2.06679 18.778L2.08279 18.788L2.10279 18.8L6.33479 21.242L17.0058 15.081L11.6708 11.999L11.6718 11.998Z" fill="#00EAD1"/>
<path d="M12.7398 0.29C12.6398 0.23 12.5318 0.183 12.4248 0.142C12.4048 0.136 12.3868 0.126 12.3678 0.12C12.1428 0.0409411 11.9062 0.000372506 11.6678 0C11.4348 0 11.2108 0.038 10.9998 0.11L10.9688 0.12C10.8397 0.164971 10.7152 0.221884 10.5968 0.29L2.06776 5.222C2.06776 5.222 2.06476 5.222 2.06176 5.225C1.73776 5.408 1.46976 5.676 1.28076 5.998H1.28676L6.33576 8.916L17.0098 2.758L12.7398 0.29Z" fill="#7347FF"/>
<path d="M1.287 6.00098H1.28C1.09609 6.31668 0.999456 6.67561 1 7.04098V16.956C1 17.334 1.1 17.691 1.28 17.999H1.287L6.336 15.081V8.91898L1.287 6.00098Z" fill="#0423DA"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.03564 5.23655C4.98434 4.28649 7.33391 5.09586 8.28487 7.04481L10.3152 11.2059C10.7903 12.1795 10.3865 13.3541 9.41333 13.8293C9.41293 13.8295 9.41253 13.8297 9.41213 13.8299C8.43778 14.3049 7.26299 13.9003 6.78749 12.9258L3.03564 5.23655Z" fill="#A5CCFF"/>
<path opacity="0.64774" fill-rule="evenodd" clip-rule="evenodd" d="M1 9.20141C2.53317 7.66887 5.0175 7.66887 6.55069 9.20141L9.94604 12.5954C10.7118 13.3607 10.7123 14.6023 9.94724 15.3683C9.94684 15.3687 9.94644 15.3691 9.94604 15.3695C9.17949 16.1358 7.93729 16.1358 7.17069 15.3695L1 9.20141Z" fill="#A5CCFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0666 5.92163C19.4481 5.92163 23 9.47209 23 13.8518C23 15.99 21.9007 18.1627 20.5242 19.589L19.9543 18.9058C18.9766 17.734 18.6294 16.1599 19.0233 14.6853C19.0946 14.418 19.1303 14.1725 19.1303 13.9487C19.1303 11.6897 17.2983 9.85839 15.0383 9.85839C12.7785 9.85839 10.9464 11.6897 10.9464 13.9487C10.9464 16.2076 12.7785 18.0389 15.0383 18.0389C15.4614 18.0389 15.8695 17.9747 16.2534 17.8556C17.4037 17.4985 18.6572 17.795 19.5259 18.6297L20.5242 19.589C19.1068 20.9118 17.1588 21.7818 15.0666 21.7818C10.6852 21.7818 7.1333 18.2314 7.1333 13.8518C7.1333 9.47209 10.6852 5.92163 15.0666 5.92163Z" fill="#006EFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.1333 3C9.30097 3 11.0582 4.75808 11.0582 6.9267V9.75804C11.0582 11.9267 9.30097 13.6847 7.1333 13.6847V3Z" fill="#006EFF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.9442 18.587L13.2402 18.142V10.01L15.0642 9.54795C16.0642 9.29395 16.9042 9.08695 16.9442 9.09495C16.9762 9.09495 17.0002 11.33 17.0002 14.067V19.04L16.8242 19.0319C16.7202 19.0319 15.8722 18.826 14.9442 18.587Z" fill="#00C8D2"/>
<path d="M7 16.542C7 13.806 7.024 11.562 7.064 11.562C7.096 11.554 7.936 11.762 8.944 12.016L10.76 12.477L10.744 16.527L10.72 20.576L9.088 20.998C8.192 21.228 7.352 21.443 7.232 21.467L7 21.523V16.542Z" fill="#3C8CFF"/>
<path d="M19.2402 12.477C19.2402 3.44697 19.2482 2.96197 19.3842 3.00197C19.4562 3.02597 20.1682 3.20897 20.9602 3.40797C21.7522 3.61497 22.5362 3.81297 22.7042 3.85297L23.0002 3.93297L22.9842 12.493L22.9602 21.061L21.3362 21.475C20.4482 21.705 19.6082 21.912 19.4802 21.945L19.2402 22V12.477Z" fill="#78E6DC"/>
<path d="M1 12.5089C1 7.83091 1.024 4.00391 1.064 4.00391C1.096 4.00391 1.936 4.21091 2.936 4.45791L4.76 4.91891V12.5009C4.76 16.6609 4.744 20.0749 4.728 20.0749C4.704 20.0749 3.856 20.2899 2.848 20.5449L1 21.0129V12.5089Z" fill="#325AB4"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9681 5.37441C12.0144 5.46932 12.037 5.57421 12.0336 5.67911C12.0295 5.80735 12.0554 5.9348 12.1093 6.05175C12.1631 6.1687 12.2435 6.27206 12.3443 6.35396C12.4451 6.43585 12.5636 6.49413 12.6909 6.52433C12.8181 6.55454 12.9508 6.55588 13.0786 6.52826L19.6465 5.10635C19.9293 5.04511 20.2227 5.04687 20.5048 5.11149C20.7869 5.1761 21.0506 5.30193 21.2764 5.4797C21.5023 5.65746 21.6846 5.88263 21.8098 6.13859C21.935 6.39456 22 6.67481 22 6.95867V16.8576C22 17.4258 21.7696 17.9707 21.3596 18.3725C20.9495 18.7743 20.3933 19 19.8134 19H4.18658C3.60667 19 3.0505 18.7743 2.64044 18.3725C2.23037 17.9707 2 17.4258 2 16.8576V10.67C2.00009 10.2659 2.11675 9.87 2.33653 9.52805C2.55632 9.1861 2.87027 8.91198 3.24219 8.73731L11.0709 5.06472C11.1506 5.02731 11.237 5.00565 11.3252 5.00096C11.4134 4.99628 11.5017 5.00868 11.585 5.03743C11.6683 5.06619 11.745 5.11076 11.8108 5.16858C11.8765 5.2264 11.93 5.29634 11.9681 5.37441ZM7.2738 11.5016H4.87608V16.6569H8.23221V13.376H7.27295L7.2738 11.5016ZM14.2248 11.5016H12.0675V16.6569H15.4237L15.4233 13.376H14.2252L14.2248 11.5016Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,12 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_177_2014)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.776 14.304C8.416 14.304 9.696 14.272 11.488 13.536C13.568 12.672 17.664 11.136 20.64 9.536C22.72 8.416 23.616 6.944 23.616 4.96C23.616 2.24 21.408 0 18.656 0H7.136C3.2 0 0 3.2 0 7.136C0 11.072 3.008 14.304 7.776 14.304Z" fill="#39594D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.72803 19.2C9.72803 17.28 10.88 15.52 12.672 14.784L16.288 13.28C19.968 11.776 24 14.464 24 18.432C24 21.504 21.504 24 18.432 24H14.496C11.872 24 9.72803 21.856 9.72803 19.2Z" fill="#D18EE2"/>
<path d="M4.128 15.2319C1.856 15.2319 0 17.0879 0 19.3599V19.9039C0 22.1439 1.856 23.9999 4.128 23.9999C6.4 23.9999 8.256 22.1439 8.256 19.8719V19.3279C8.224 17.0879 6.4 15.2319 4.128 15.2319Z" fill="#FF7759"/>
</g>
<defs>
<clipPath id="clip0_177_2014">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 992 B

View File

@@ -0,0 +1,71 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9473 6.02637L23 12.3937L22.7993 13.7166L11.9576 7.47034L11.9473 6.02637Z" fill="url(#paint0_linear_1003_325075)"/>
<path d="M11.9507 8.45435L22.9999 14.8182L22.7993 16.0823L11.9524 9.90523L11.9507 8.45435Z" fill="url(#paint1_linear_1003_325075)"/>
<path d="M11.9917 10.8616L22.9994 17.1632L22.7988 18.448L12.0125 12.3021L11.9917 10.8616Z" fill="url(#paint2_linear_1003_325075)"/>
<path d="M1 5.95025L1.01211 18.6468L2.25768 18.882L2.21789 5.77905L1 5.95025Z" fill="url(#paint3_linear_1003_325075)"/>
<path d="M3.10889 4.769L3.11062 19.8537L4.37176 19.7949L4.34927 4.58569L3.10889 4.769Z" fill="url(#paint4_linear_1003_325075)"/>
<path d="M5.21729 3.58789V21.0677L6.4767 21.2493L6.48881 3.35962L5.21729 3.58789Z" fill="url(#paint5_linear_1003_325075)"/>
<path d="M1 5.95017L12.0147 12.3019L11.9922 10.8614L2.61924 5.49709C2.37013 5.35529 2.06393 5.35356 1.81481 5.49363L1 5.95017Z" fill="url(#paint6_linear_1003_325075)"/>
<path d="M3.94446 4.30219L3.10889 4.7691L11.9542 9.90514L11.9507 8.45425L4.75062 4.30737C4.5015 4.16384 4.1953 4.16038 3.94446 4.30219Z" fill="url(#paint7_linear_1003_325075)"/>
<path d="M5.21729 3.58798L6.08399 3.10377C6.33484 2.9637 6.64104 2.96543 6.89016 3.10896L11.9468 6.02457L11.9572 7.46854L5.21729 3.58798Z" fill="url(#paint8_linear_1003_325075)"/>
<path d="M12.0204 17.1628L12.017 15.1171L12.0222 14.6951L12.017 14.6986L12.0135 12.3018L1.0127 18.6466L1.84827 19.1291C2.10257 19.276 2.41569 19.2743 2.66827 19.1273L10.8527 14.3493V15.3747L3.11114 19.8536L3.96574 20.3448C4.21658 20.49 4.52624 20.49 4.77882 20.3465L10.8527 16.8758V17.8355L5.2165 21.0693L6.0711 21.5587C6.32194 21.7023 6.6316 21.7023 6.88418 21.5587L10.8544 19.283L12.0239 18.612L12.0204 17.1628Z" fill="url(#paint9_linear_1003_325075)"/>
<path d="M22.9998 17.163L17.5798 20.3311L16.7114 19.8434L22.595 16.4038C22.8458 16.2568 22.9998 15.9888 22.9998 15.6983V14.8163L15.471 19.1448L14.4953 18.5966L22.5812 14.0779C22.8389 13.9344 22.9998 13.6612 22.9998 13.3654V12.3918L12.0215 18.6104L17.1076 21.5243C17.3601 21.6696 17.6698 21.6678 17.9206 21.5226L22.5898 18.8335C22.8424 18.6882 22.9981 18.4185 22.9981 18.1262L22.9998 17.163Z" fill="url(#paint10_linear_1003_325075)"/>
<path d="M21.858 5.56447L17.7701 3.14345C17.5158 2.993 17.2009 2.99127 16.9449 3.13826L11.9453 6.0262L11.9557 7.47017L17.3203 4.35742L18.1628 4.86584L11.9488 8.45414L11.9522 9.90503L19.3945 5.60771L20.2232 6.10748L11.9903 10.8613L12.0128 12.3019L21.8528 6.62108C22.2576 6.38762 22.2611 5.80312 21.858 5.56447Z" fill="url(#paint11_linear_1003_325075)"/>
<defs>
<linearGradient id="paint0_linear_1003_325075" x1="113.894" y1="360.911" x2="1179.98" y2="509.029" gradientUnits="userSpaceOnUse">
<stop stop-color="#148FB4"/>
<stop offset="1" stop-color="#14B4BE"/>
</linearGradient>
<linearGradient id="paint1_linear_1003_325075" x1="71.8713" y1="363.078" x2="1147.45" y2="488.284" gradientUnits="userSpaceOnUse">
<stop stop-color="#148FB4"/>
<stop offset="1" stop-color="#14B4BE"/>
</linearGradient>
<linearGradient id="paint2_linear_1003_325075" x1="83.4027" y1="371.276" x2="1164.81" y2="463.045" gradientUnits="userSpaceOnUse">
<stop stop-color="#148FB4"/>
<stop offset="1" stop-color="#14B4BE"/>
</linearGradient>
<linearGradient id="paint3_linear_1003_325075" x1="63.8806" y1="-12.5896" x2="63.8806" y2="1571.21" gradientUnits="userSpaceOnUse">
<stop stop-color="#3311D4"/>
<stop offset="0.2722" stop-color="#5314E0"/>
<stop offset="0.5453" stop-color="#6C16E9"/>
<stop offset="0.7957" stop-color="#7B18EE"/>
<stop offset="1" stop-color="#8018F0"/>
</linearGradient>
<linearGradient id="paint4_linear_1003_325075" x1="66.2005" y1="111.305" x2="66.2005" y2="1483.1" gradientUnits="userSpaceOnUse">
<stop stop-color="#3311D4"/>
<stop offset="0.2034" stop-color="#4513DB"/>
<stop offset="0.7305" stop-color="#7017EA"/>
<stop offset="1" stop-color="#8018F0"/>
</linearGradient>
<linearGradient id="paint5_linear_1003_325075" x1="68.7154" y1="-253.954" x2="68.7154" y2="2533.3" gradientUnits="userSpaceOnUse">
<stop stop-color="#3311D4"/>
<stop offset="0.6282" stop-color="#8018F0"/>
</linearGradient>
<linearGradient id="paint6_linear_1003_325075" x1="-100.376" y1="178.272" x2="1175.01" y2="951.49" gradientUnits="userSpaceOnUse">
<stop offset="0.1495" stop-color="#645AFF"/>
<stop offset="1" stop-color="#AA64FA"/>
</linearGradient>
<linearGradient id="paint7_linear_1003_325075" x1="-86.4321" y1="141.306" x2="831.625" y2="680.338" gradientUnits="userSpaceOnUse">
<stop offset="0.188" stop-color="#645AFF"/>
<stop offset="1" stop-color="#AA64FA"/>
</linearGradient>
<linearGradient id="paint8_linear_1003_325075" x1="-105.936" y1="97.0607" x2="730.547" y2="568.776" gradientUnits="userSpaceOnUse">
<stop offset="0.2122" stop-color="#645AFF"/>
<stop offset="0.4681" stop-color="#775DFE"/>
<stop offset="0.9857" stop-color="#A964FA"/>
<stop offset="1" stop-color="#AA64FA"/>
</linearGradient>
<linearGradient id="paint9_linear_1003_325075" x1="404.896" y1="791.692" x2="823.67" y2="32.9467" gradientUnits="userSpaceOnUse">
<stop stop-color="#AA64FA"/>
<stop offset="1" stop-color="#645AFF"/>
</linearGradient>
<linearGradient id="paint10_linear_1003_325075" x1="12.1218" y1="474.502" x2="1109.91" y2="474.502" gradientUnits="userSpaceOnUse">
<stop stop-color="#2DF7F7"/>
<stop offset="1" stop-color="#17C8D2"/>
</linearGradient>
<linearGradient id="paint11_linear_1003_325075" x1="12.1027" y1="466.63" x2="1033.29" y2="466.63" gradientUnits="userSpaceOnUse">
<stop stop-color="#17C8D2"/>
<stop offset="1" stop-color="#2DF7F7"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_177_2019)">
<path d="M23.7479 4.482C23.4939 4.358 23.384 4.595 23.236 4.716C23.1849 4.755 23.142 4.806 23.099 4.852C22.727 5.249 22.2929 5.509 21.726 5.478C20.8969 5.432 20.1889 5.692 19.563 6.326C19.43 5.544 18.988 5.078 18.316 4.778C17.964 4.622 17.608 4.467 17.361 4.128C17.1889 3.887 17.142 3.618 17.056 3.354C17.0009 3.194 16.946 3.031 16.763 3.004C16.563 2.973 16.4849 3.14 16.4069 3.28C16.094 3.852 15.9729 4.482 15.9849 5.12C16.0119 6.556 16.618 7.7 17.823 8.513C17.9599 8.606 17.9949 8.7 17.952 8.836C17.8699 9.116 17.772 9.388 17.686 9.669C17.631 9.848 17.549 9.886 17.357 9.809C16.7082 9.53019 16.1189 9.12963 15.6209 8.629C14.7639 7.801 13.9899 6.887 13.0239 6.171C12.8001 6.00562 12.5703 5.84851 12.3349 5.7C11.3499 4.743 12.4649 3.957 12.7229 3.864C12.9929 3.766 12.8159 3.432 11.9439 3.436C11.0719 3.44 10.2739 3.731 9.25695 4.12C9.10582 4.17791 8.95033 4.22372 8.79195 4.257C7.84158 4.07793 6.8696 4.04355 5.90895 4.155C4.02395 4.365 2.51895 5.257 1.41195 6.778C0.0819496 8.606 -0.23105 10.684 0.15195 12.85C0.55495 15.134 1.72095 17.025 3.51195 18.503C5.36995 20.036 7.50895 20.787 9.94995 20.643C11.4319 20.558 13.0829 20.359 14.9439 18.783C15.4139 19.017 15.906 19.11 16.724 19.18C17.354 19.239 17.96 19.15 18.429 19.052C19.164 18.896 19.1129 18.215 18.8479 18.091C16.6929 17.087 17.166 17.496 16.735 17.165C17.831 15.869 19.481 14.523 20.127 10.162C20.177 9.815 20.134 9.597 20.127 9.317C20.123 9.147 20.162 9.08 20.357 9.061C20.898 9.00487 21.4228 8.84351 21.902 8.586C23.298 7.823 23.862 6.571 23.995 5.069C24.015 4.839 23.9909 4.603 23.7479 4.482ZM11.5809 18C9.49195 16.358 8.47895 15.817 8.06095 15.84C7.66895 15.864 7.73995 16.311 7.82595 16.603C7.91595 16.891 8.03295 17.089 8.19695 17.342C8.31095 17.509 8.38895 17.758 8.08395 17.945C7.41095 18.361 6.24195 17.805 6.18695 17.778C4.82595 16.976 3.68695 15.918 2.88595 14.471C2.11195 13.078 1.66195 11.584 1.58795 9.989C1.56795 9.603 1.68095 9.467 2.06495 9.397C2.56906 9.30053 3.08558 9.28735 3.59395 9.358C5.72595 9.67 7.53995 10.623 9.06195 12.132C9.92995 12.992 10.5869 14.019 11.2639 15.023C11.9839 16.089 12.7579 17.105 13.7439 17.937C14.0919 18.229 14.3689 18.451 14.6349 18.614C13.8329 18.704 12.4949 18.724 11.5809 18ZM12.5809 11.56C12.5808 11.5103 12.5927 11.4614 12.6157 11.4173C12.6387 11.3733 12.672 11.3355 12.7129 11.3072C12.7538 11.279 12.8009 11.2611 12.8502 11.2551C12.8995 11.2492 12.9495 11.2553 12.9959 11.273C13.0551 11.2942 13.1062 11.3334 13.142 11.385C13.1779 11.4366 13.1967 11.4982 13.1959 11.561C13.1961 11.6016 13.1881 11.6418 13.1726 11.6793C13.157 11.7168 13.1341 11.7509 13.1053 11.7795C13.0764 11.808 13.0422 11.8306 13.0045 11.8458C12.9669 11.861 12.9266 11.8685 12.8859 11.868C12.8457 11.8681 12.8057 11.8602 12.7685 11.8448C12.7313 11.8293 12.6976 11.8065 12.6693 11.7779C12.641 11.7492 12.6186 11.7151 12.6037 11.6777C12.5887 11.6403 12.5803 11.6003 12.5809 11.56ZM15.6909 13.156C15.4909 13.237 15.2919 13.307 15.1009 13.316C14.8136 13.326 14.5316 13.2363 14.3029 13.062C14.0289 12.832 13.8329 12.704 13.7509 12.304C13.7227 12.1085 13.7281 11.9096 13.7669 11.716C13.8369 11.389 13.7589 11.179 13.5279 10.989C13.3409 10.833 13.1019 10.79 12.8399 10.79C12.7502 10.7848 12.6631 10.758 12.5859 10.712C12.5537 10.6974 12.5249 10.6761 12.5013 10.6497C12.4778 10.6232 12.4601 10.5921 12.4494 10.5583C12.4386 10.5246 12.4351 10.489 12.439 10.4538C12.4429 10.4186 12.4541 10.3846 12.4719 10.354C12.4999 10.3 12.6319 10.168 12.6639 10.144C13.0199 9.942 13.431 10.008 13.8099 10.16C14.162 10.304 14.4279 10.568 14.8109 10.942C15.2019 11.393 15.273 11.518 15.4959 11.856C15.6719 12.121 15.8319 12.393 15.9409 12.704C16.0079 12.899 15.9219 13.058 15.6909 13.156Z" fill="#4D6BFE"/>
</g>
<defs>
<clipPath id="clip0_177_2019">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 140 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 140 KiB

View File

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.6601 7.01709C21.9761 6.71199 22.2283 6.34699 22.4017 5.9434C22.5752 5.53981 22.6666 5.10572 22.6705 4.66644C22.6744 4.22717 22.5907 3.79152 22.4244 3.38491C22.2581 2.97831 22.0125 2.6089 21.7019 2.29824C21.3914 1.98758 21.022 1.7419 20.6154 1.57552C20.2089 1.40915 19.7732 1.32542 19.334 1.32923C18.8947 1.33303 18.4606 1.42429 18.0569 1.59767C17.6533 1.77106 17.2883 2.0231 16.9831 2.33909L13.5251 5.79709C13.2091 6.10226 12.9571 6.46731 12.7837 6.87093C12.6103 7.27456 12.519 7.70868 12.5152 8.14795C12.5114 8.58723 12.5952 9.02286 12.7615 9.42943C12.9279 9.836 13.1736 10.2054 13.4842 10.5159C13.7949 10.8265 14.1643 11.0721 14.5709 11.2384C14.9775 11.4047 15.4132 11.4884 15.8524 11.4845C16.2917 11.4806 16.7258 11.3892 17.1294 11.2157C17.533 11.0423 17.898 10.7901 18.2031 10.4741L21.6601 7.01709ZM10.4751 18.2031C10.7871 17.897 11.0354 17.5321 11.2056 17.1295C11.3758 16.7269 11.4645 16.2946 11.4667 15.8575C11.4688 15.4204 11.3842 14.9872 11.2179 14.583C11.0516 14.1787 10.8069 13.8115 10.4978 13.5024C10.1887 13.1933 9.82146 12.9485 9.41722 12.7822C9.01299 12.6159 8.57981 12.5314 8.14271 12.5335C7.70561 12.5356 7.27327 12.6244 6.87066 12.7945C6.46805 12.9647 6.10317 13.213 5.79709 13.5251L2.33909 16.9831C2.0231 17.2883 1.77106 17.6533 1.59767 18.0569C1.42429 18.4606 1.33303 18.8947 1.32923 19.334C1.32542 19.7732 1.40915 20.2089 1.57552 20.6154C1.7419 21.022 1.98758 21.3914 2.29824 21.7019C2.6089 22.0125 2.97831 22.2581 3.38491 22.4244C3.79152 22.5907 4.22717 22.6744 4.66644 22.6705C5.10572 22.6666 5.53981 22.5752 5.9434 22.4017C6.34699 22.2283 6.71199 21.9761 7.01709 21.6601L10.4751 18.2031Z" fill="#7748F9"/>
<path d="M18.2028 13.525C17.8967 13.213 17.5318 12.9647 17.1292 12.7945C16.7266 12.6243 16.2942 12.5356 15.8572 12.5335C15.4201 12.5313 14.9869 12.6159 14.5826 12.7822C14.1784 12.9485 13.8111 13.1932 13.5021 13.5023C13.193 13.8114 12.9482 14.1786 12.7819 14.5829C12.6156 14.9871 12.5311 15.4203 12.5332 15.8574C12.5353 16.2945 12.624 16.7268 12.7942 17.1294C12.9644 17.5321 13.2127 17.8969 13.5248 18.203L16.9828 21.661C17.6052 22.2715 18.4434 22.6116 19.3152 22.6074C20.1869 22.6032 21.0218 22.255 21.6383 21.6385C22.2547 21.0221 22.6029 20.1872 22.6071 19.3154C22.6113 18.4436 22.2712 17.6054 21.6608 16.983L18.2028 13.525ZM7.01677 2.33902C6.7107 2.02697 6.34581 1.77867 5.9432 1.60847C5.5406 1.43828 5.10825 1.34956 4.67115 1.34745C4.23405 1.34534 3.80087 1.42987 3.39664 1.59617C2.99241 1.76246 2.62514 2.00722 2.31606 2.3163C2.00698 2.62538 1.76222 2.99265 1.59592 3.39688C1.42963 3.80112 1.34509 4.2343 1.34721 4.6714C1.34932 5.10849 1.43804 5.54084 1.60823 5.94345C1.77842 6.34605 2.02672 6.71094 2.33877 7.01702L5.79677 10.474C6.42076 11.0764 7.25636 11.4096 8.12362 11.4019C8.99088 11.3942 9.82043 11.0462 10.4336 10.4329C11.0468 9.81955 11.3946 8.98993 11.4022 8.12266C11.4097 7.2554 11.0763 6.41988 10.4738 5.79602L7.01677 2.33902Z" fill="#BFABFB"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,13 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1004_325513)">
<path d="M5.30998 15.7561C5.48198 12.0061 7.19298 9.75709 7.85898 9.01709C4.59898 11.0751 2.43398 14.6751 1.50098 17.3251V18.4451C1.50098 21.5131 4.22598 24.0001 7.58998 24.0001C8.3393 24.0011 9.0833 23.8743 9.78998 23.6251C10.143 23.5051 10.49 23.3771 10.829 23.2471C11.742 22.3481 12.479 21.3371 13.072 20.2551C8.19498 22.6861 5.09798 20.3271 5.30898 15.7551L5.30998 15.7561Z" fill="#1E37FC"/>
<path d="M22.5701 10.2829C21.3581 9.38191 18.4611 7.87891 15.1731 7.48291C15.4681 11.2749 15.2661 16.2489 13.0731 20.2559C12.4758 21.3579 11.7198 22.366 10.8291 23.2479C14.5931 21.7999 17.5751 19.7909 19.4251 18.0289C22.2451 15.3459 22.7781 12.8509 22.7861 11.3689C22.7886 10.9966 22.7151 10.6278 22.5701 10.2849V10.2829Z" fill="#37E1BE"/>
<path d="M14.303 1.867C12.955 0.7 11.248 0 9.39 0C7.532 0 5.883 0.677 4.545 1.807C2.791 3.29 1.627 5.557 1.5 8.125V17.326C2.432 14.676 4.597 11.076 7.857 9.019C8.357 8.701 8.882 8.424 9.426 8.19C11.309 7.389 13.304 7.258 15.172 7.484C14.95 4.654 14.454 2.482 14.302 1.867H14.303Z" fill="#A569FF"/>
<path d="M17.3052 4.96094C16.9437 4.59767 16.5837 4.233 16.2252 3.86694C16.0232 3.65394 15.8272 3.44794 15.6392 3.24494L14.3062 1.86694C14.4572 2.48194 14.9542 4.65294 15.1752 7.48394C18.4632 7.87894 21.3602 9.38194 22.5712 10.2839C21.2652 9.00894 19.0962 6.79694 17.3052 4.96094Z" fill="#1E37FC"/>
</g>
<defs>
<clipPath id="clip0_1004_325513">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 1H21V2.64175L13.7455 12L21 21.3582V23H4V1ZM12.6074 10.4857L18.5028 2.64175H6.71105L12.6074 10.4857ZM5.91295 4.60708V11.1796H10.8519L5.91295 4.60708ZM10.8519 12.8204H5.91295V19.3929L10.8519 12.8204ZM6.71105 21.3592L12.6074 13.5153L18.5028 21.3592H6.71105Z" fill="#1F40ED"/>
</svg>

After

Width:  |  Height:  |  Size: 428 B

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.8 5L11.999 11.795L9.195 5H7.397L10.469 12.428C10.5917 12.7301 10.8017 12.9888 11.0722 13.1709C11.3426 13.3531 11.6612 13.4505 11.9873 13.4507C12.3134 13.451 12.6322 13.354 12.9028 13.1721C13.1735 12.9903 13.3839 12.7319 13.507 12.43L16.598 5H14.8ZM15.996 15.352L21.12 10.108L20.421 8.439L14.825 14.178C14.5965 14.4121 14.4422 14.7084 14.3811 15.0298C14.3201 15.3512 14.3552 15.6834 14.482 15.985C14.6065 16.2846 14.8169 16.5406 15.0867 16.7207C15.3565 16.9008 15.6736 16.9969 15.998 16.997L16 17L24 16.98L23.301 15.311L15.998 15.352H15.996ZM2.88 10.104L3.579 8.435L9.175 14.174C9.643 14.653 9.778 15.363 9.518 15.981C9.39342 16.2805 9.18299 16.5364 8.9132 16.7165C8.64342 16.8966 8.32637 16.9928 8.002 16.993L0.002 16.975L0 16.977L0.699 15.308L8.002 15.35L2.88 10.104Z" fill="#5019C5"/>
</svg>

After

Width:  |  Height:  |  Size: 943 B

View File

@@ -0,0 +1,16 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1004_325515)">
<path d="M18 0H6C2.68629 0 0 2.68629 0 6V18C0 21.3137 2.68629 24 6 24H18C21.3137 24 24 21.3137 24 18V6C24 2.68629 21.3137 0 18 0Z" fill="url(#paint0_linear_1004_325515)"/>
<path d="M20 12.0116C15.7043 12.42 12.3692 15.757 11.9995 20C11.652 15.8183 8.20301 12.361 4 12.0181C8.21855 11.6991 11.6656 8.1853 12.006 4C12.2833 8.19653 15.8057 11.7005 20 12.0116Z" fill="white" fill-opacity="0.88"/>
</g>
<defs>
<linearGradient id="paint0_linear_1004_325515" x1="-9" y1="29.5" x2="19.4387" y2="1.43791" gradientUnits="userSpaceOnUse">
<stop offset="0.192878" stop-color="#1C7DFF"/>
<stop offset="0.520213" stop-color="#1C69FF"/>
<stop offset="1" stop-color="#F0DCD6"/>
</linearGradient>
<clipPath id="clip0_1004_325515">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 921 B

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1004_325516)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0792 14.6368C15.2982 15.4516 15.539 16.2847 15.8 17.15C16.0381 17.9395 15.3275 18.25 15.0451 17.5054C14.7426 16.7079 14.4531 15.9137 14.1808 15.1037C12.639 15.8792 11.1015 16.5254 9.35766 17.2524C10.0549 19.8153 10.6985 21.959 11.6971 23.996C11.6971 23.996 11.6972 23.9961 11.6971 23.996C11.7977 23.9985 11.8988 23.9999 12 23.9999C18.6274 23.9999 24 18.6274 24 11.9999C24 9.62004 23.3072 7.4019 22.1122 5.53632C18.9951 5.81715 16.2308 6.27366 13.6911 6.84354C13.7329 7.35114 13.7806 7.84428 13.8333 8.31294C14.0294 10.0562 14.3467 11.7168 14.7682 13.4301C16.2349 12.7708 17.4504 12.1934 18.409 11.7131C19.3292 11.252 20.2166 11.2237 18.7211 12.3956C17.4233 13.2961 16.2386 14.0139 15.0792 14.6368ZM21.6935 4.92502C19.8001 2.33505 16.8937 0.532419 13.5573 0.100071C13.4554 1.71735 13.4871 3.75801 13.6086 5.70262C16.0484 5.3331 18.7033 5.07613 21.6935 4.92502ZM11.9621 0C11.8556 1.75611 11.903 3.99392 12.114 5.9477C10.4249 6.24648 8.8335 6.60378 7.29552 7.02222C7.22916 6.25536 7.19562 5.55453 7.19562 4.94501C7.19562 4.50318 6.83742 4.14501 6.39558 4.14501C5.95378 4.14501 5.59561 4.50318 5.59561 4.94501C5.59561 5.68715 5.65724 6.53874 5.76841 7.46274C5.0014 7.69662 4.24438 7.94652 3.49151 8.21274C3.07496 8.3601 2.85671 8.81718 3.00402 9.2337C3.15134 9.65028 3.60844 9.8685 4.02498 9.7212C4.67586 9.49104 5.33089 9.26322 5.99356 9.03948C6.31332 11.0006 6.80064 13.1656 7.36218 15.2493C7.46016 15.613 7.56372 15.9757 7.67178 16.3357C5.60501 17.048 3.49567 17.6269 1.56677 17.9327C0.569644 16.1829 0 14.158 0 11.9999C0 5.38515 5.35214 0.0204081 11.9621 0ZM2.51491 19.3516C4.47041 21.8709 7.40748 23.5903 10.7522 23.9359C9.95496 22.4729 8.96028 20.2301 8.1243 17.754C6.26424 18.4657 4.3553 18.9616 2.51491 19.3516ZM13.7841 13.868C13.2887 12.2459 12.8677 10.5264 12.5535 8.56614C12.4476 8.1504 12.3551 7.68204 12.2756 7.1781C10.5905 7.5963 8.99952 8.06226 7.46136 8.55582C7.70874 10.4859 8.12688 12.68 8.70708 14.833C8.7972 15.1675 8.88486 15.4948 8.97084 15.8156L8.97144 15.818L8.9838 15.864C9.70998 15.5923 10.4248 15.3073 11.118 15.0155C12.0741 14.6131 12.9631 14.2298 13.7841 13.868Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_1004_325516">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1004_325517)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0099 0.199951C5.36875 0.199951 0 5.60828 0 12.2991C0 17.6475 3.43994 22.1747 8.21205 23.7771C8.80869 23.8975 9.02724 23.5167 9.02724 23.1964C9.02724 22.9159 9.00757 21.9545 9.00757 20.9527C5.6667 21.674 4.97099 19.5104 4.97099 19.5104C4.43409 18.1082 3.63858 17.7478 3.63858 17.7478C2.54511 17.0066 3.71823 17.0066 3.71823 17.0066C4.93117 17.0867 5.56763 18.2485 5.56763 18.2485C6.64118 20.0913 8.37111 19.5706 9.06706 19.25C9.16638 18.4688 9.48473 17.928 9.82275 17.6275C7.15817 17.3471 4.35469 16.3055 4.35469 11.658C4.35469 10.3359 4.8316 9.25423 5.58729 8.41299C5.46807 8.11258 5.0504 6.87039 5.70677 5.20782C5.70677 5.20782 6.72083 4.88725 9.00732 6.44977C9.98625 6.18492 10.9958 6.05019 12.0099 6.04906C13.024 6.04906 14.0577 6.18943 15.0123 6.44977C17.299 4.88725 18.3131 5.20782 18.3131 5.20782C18.9695 6.87039 18.5515 8.11258 18.4323 8.41299C19.2079 9.25423 19.6652 10.3359 19.6652 11.658C19.6652 16.3055 16.8617 17.3269 14.1772 17.6275C14.6148 18.0081 14.9924 18.7291 14.9924 19.871C14.9924 21.4935 14.9727 22.7957 14.9727 23.1962C14.9727 23.5167 15.1915 23.8975 15.7879 23.7773C20.56 22.1745 23.9999 17.6475 23.9999 12.2991C24.0196 5.60828 18.6312 0.199951 12.0099 0.199951Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_1004_325517">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,151 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_177_1962" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
<path d="M23.5232 9.77372H12.2502V14.3873H18.7277C18.6236 15.0403 18.3897 15.6826 18.0474 16.2683C17.6551 16.9393 17.1701 17.4502 16.673 17.8392C15.1839 19.0046 13.4479 19.2429 12.2423 19.2429C9.19671 19.2429 6.59445 17.2325 5.58706 14.5006C5.5464 14.4014 5.51941 14.299 5.48654 14.1978C5.26392 13.5025 5.14229 12.7661 5.14229 12.0008C5.14229 11.2042 5.274 10.4417 5.51416 9.7216C6.46145 6.88141 9.12238 4.76006 12.2445 4.76006C12.8725 4.76006 13.4772 4.83641 14.0507 4.98869C15.3613 5.3367 16.2884 6.02212 16.8565 6.56428L20.2841 3.13576C18.1991 1.18317 15.481 2.95218e-09 12.2388 2.95218e-09C9.64684 -5.69793e-05 7.25382 0.824781 5.29283 2.21878C3.70253 3.34928 2.39825 4.86288 1.51802 6.62075C0.699287 8.25066 0.250977 10.0569 0.250977 11.999C0.250977 13.9411 0.699972 15.7661 1.51871 17.381V17.3918C2.3835 19.1062 3.64812 20.5823 5.18514 21.7076C6.52788 22.6907 8.93555 24 12.2388 24C14.1384 24 15.822 23.6502 17.3068 22.9946C18.3778 22.5217 19.3268 21.9049 20.186 21.1122C21.3213 20.0647 22.2104 18.7691 22.8173 17.2785C23.4242 15.7878 23.7488 14.1022 23.7488 12.2747C23.7488 11.4236 23.6651 10.5592 23.5232 9.77363V9.77372Z" fill="white"/>
</mask>
<g mask="url(#mask0_177_1962)">
<g filter="url(#filter0_f_177_1962)">
<path d="M0.078125 12.0803C0.0905853 13.9918 0.623862 15.964 1.43107 17.5561V17.567C2.01431 18.7233 2.81143 19.6366 3.71935 20.5415L9.20291 18.4979C8.16545 17.9597 8.00714 17.6298 7.26346 17.028C6.50348 16.2453 5.93706 15.3467 5.58431 14.2931H5.5701L5.58431 14.2822C5.35224 13.5864 5.32935 12.8479 5.32079 12.0803H0.078125Z" fill="url(#paint0_radial_177_1962)"/>
</g>
<g filter="url(#filter1_f_177_1962)">
<path d="M12.2502 -0.0874023C11.7083 1.85739 11.9155 3.74779 12.2502 4.84771C12.8761 4.84819 13.479 4.92439 14.0507 5.07619C15.3614 5.42421 16.2883 6.10964 16.8564 6.6518L20.3718 3.13569C18.2893 1.18543 15.7831 -0.0843296 12.2502 -0.0874023Z" fill="url(#paint1_radial_177_1962)"/>
</g>
<g filter="url(#filter2_f_177_1962)">
<path d="M12.2384 -0.102783C9.5799 -0.102842 7.12547 0.743172 5.11414 2.17297C4.36733 2.70385 3.682 3.31711 3.07175 3.99906C2.91188 5.53093 4.26849 7.41374 6.95501 7.39816C8.25849 5.84951 10.1863 4.84754 12.332 4.84754C12.3339 4.84754 12.3358 4.8477 12.3378 4.84771L12.2502 -0.102433C12.2462 -0.102435 12.2424 -0.102783 12.2384 -0.102783Z" fill="url(#paint2_radial_177_1962)"/>
</g>
<g filter="url(#filter3_f_177_1962)">
<path d="M21.013 12.6347L18.6401 14.2997C18.536 14.9526 18.302 15.595 17.9596 16.1806C17.5674 16.8517 17.0824 17.3626 16.5853 17.7516C15.0994 18.9146 13.368 19.1541 12.1626 19.1551C10.9168 21.3223 10.6984 22.4078 12.2503 24.1569C14.1705 24.1555 15.8729 23.8014 17.3745 23.1384C18.46 22.6592 19.4217 22.0341 20.2924 21.2307C21.4429 20.1692 22.3441 18.8561 22.9591 17.3455C23.5741 15.8349 23.903 14.1267 23.903 12.2747L21.013 12.6347Z" fill="url(#paint3_radial_177_1962)"/>
</g>
<g filter="url(#filter4_f_177_1962)">
<path d="M12.0752 9.59839V14.5626H23.4918C23.5922 13.8827 23.9243 13.003 23.9243 12.2747C23.9243 11.4235 23.8406 10.384 23.6987 9.59839H12.0752Z" fill="#3086FF"/>
</g>
<g filter="url(#filter5_f_177_1962)">
<path d="M3.12631 3.82397C2.42179 4.61129 1.81991 5.49252 1.3427 6.44555C0.523974 8.07546 0.0756836 10.057 0.0756836 11.999C0.0756836 12.0264 0.0779013 12.0532 0.0780801 12.0805C0.440668 12.7906 5.08657 12.6546 5.32075 12.0805C5.32045 12.0537 5.3175 12.0276 5.3175 12.0007C5.3175 11.2042 5.44925 10.6171 5.68941 9.89696C5.98567 9.00868 6.44956 8.1907 7.04274 7.48595C7.17721 7.3106 7.53588 6.93366 7.64052 6.70756C7.68038 6.62144 7.56815 6.5731 7.56188 6.54279C7.55486 6.50888 7.40438 6.53615 7.37067 6.51089C7.26364 6.4307 7.05169 6.38883 6.92298 6.35161C6.64789 6.27205 6.19198 6.09661 5.93875 5.91474C5.13831 5.33986 3.88915 4.65317 3.12631 3.82397Z" fill="url(#paint4_radial_177_1962)"/>
</g>
<g filter="url(#filter6_f_177_1962)">
<path d="M5.95605 6.54615C7.81219 7.69454 8.34598 5.9665 9.58006 5.42575L7.43335 0.878906C6.64367 1.2179 5.89758 1.63907 5.20532 2.13117C4.1715 2.86608 3.25855 3.76289 2.50439 4.78347L5.95605 6.54615Z" fill="url(#paint5_radial_177_1962)"/>
</g>
<g filter="url(#filter7_f_177_1962)">
<path d="M6.71164 18.1467C4.22002 19.0654 3.82994 19.0984 3.60059 20.6755C4.03887 21.1123 4.50977 21.5164 5.01018 21.8828C6.35293 22.8659 8.93579 24.1752 12.239 24.1752C12.2429 24.1752 12.2466 24.1748 12.2505 24.1748V19.0674C12.248 19.0674 12.2451 19.0676 12.2426 19.0676C11.0057 19.0676 10.0172 18.7357 9.00377 18.1587C8.75389 18.0164 8.30055 18.3984 8.07009 18.2276C7.75225 17.9921 6.98732 18.4306 6.71164 18.1467Z" fill="url(#paint6_radial_177_1962)"/>
</g>
<g opacity="0.5" filter="url(#filter8_f_177_1962)">
<path d="M10.791 18.9065V24.0863C11.2532 24.1416 11.7342 24.1752 12.2388 24.1752C12.7446 24.1752 13.2339 24.1486 13.7095 24.0999V18.9414C13.1766 19.0345 12.6747 19.0675 12.2424 19.0675C11.7444 19.0675 11.2602 19.0083 10.791 18.9065Z" fill="url(#paint7_linear_177_1962)"/>
</g>
</g>
<defs>
<filter id="filter0_f_177_1962" x="0.0369325" y="12.0391" width="9.20738" height="8.54357" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter1_f_177_1962" x="11.8758" y="-0.128595" width="8.53697" height="6.82164" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter2_f_177_1962" x="3.01789" y="-0.143976" width="9.36119" height="7.58336" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter3_f_177_1962" x="11.1155" y="12.2335" width="12.8285" height="11.9647" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter4_f_177_1962" x="12.034" y="9.5572" width="11.9315" height="5.0465" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter5_f_177_1962" x="0.0344911" y="3.78278" width="7.65563" height="8.82189" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter6_f_177_1962" x="2.21479" y="0.589306" width="7.65488" height="6.63242" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.1448" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter7_f_177_1962" x="3.55939" y="18.085" width="8.73229" height="6.13146" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<filter id="filter8_f_177_1962" x="10.7498" y="18.8653" width="3.00084" height="5.35094" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
</filter>
<radialGradient id="paint0_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.09314 20.3614) rotate(-92.3395) scale(11.9619 17.5706)">
<stop offset="0.141612" stop-color="#1ABD4D"/>
<stop offset="0.247515" stop-color="#6EC30D"/>
<stop offset="0.311547" stop-color="#8AC502"/>
<stop offset="0.366013" stop-color="#A2C600"/>
<stop offset="0.445673" stop-color="#C8C903"/>
<stop offset="0.540305" stop-color="#EBCB03"/>
<stop offset="0.615636" stop-color="#F7CD07"/>
<stop offset="0.699345" stop-color="#FDCD04"/>
<stop offset="0.771242" stop-color="#FDCE05"/>
<stop offset="0.860566" stop-color="#FFCE0A"/>
</radialGradient>
<radialGradient id="paint1_radial_177_1962" cx="0" cy="0" r="1" gradientTransform="matrix(8.29246 -2.03557e-05 -1.16554e-05 10.7093 20.043 6.3974)" gradientUnits="userSpaceOnUse">
<stop offset="0.408458" stop-color="#FB4E5A"/>
<stop offset="1" stop-color="#FF4540"/>
</radialGradient>
<radialGradient id="paint2_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(15.5143 -1.65299) rotate(151.02) scale(13.2813 18.0227)">
<stop offset="0.231273" stop-color="#FF4541"/>
<stop offset="0.311547" stop-color="#FF4540"/>
<stop offset="0.457516" stop-color="#FF4640"/>
<stop offset="0.540305" stop-color="#FF473F"/>
<stop offset="0.699346" stop-color="#FF5138"/>
<stop offset="0.771242" stop-color="#FF5B33"/>
<stop offset="0.860566" stop-color="#FF6C29"/>
<stop offset="1" stop-color="#FF8C18"/>
</radialGradient>
<radialGradient id="paint3_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.423 22.6036) rotate(-127.454) scale(34.6477 12.7893)">
<stop offset="0.131546" stop-color="#0CBA65"/>
<stop offset="0.209784" stop-color="#0BB86D"/>
<stop offset="0.297297" stop-color="#09B479"/>
<stop offset="0.396257" stop-color="#08AD93"/>
<stop offset="0.477124" stop-color="#0AA6A9"/>
<stop offset="0.568425" stop-color="#0D9CC6"/>
<stop offset="0.667385" stop-color="#1893DD"/>
<stop offset="0.768727" stop-color="#258BF1"/>
<stop offset="0.858506" stop-color="#3086FF"/>
</radialGradient>
<radialGradient id="paint4_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(11.2206 2.16411) rotate(96.6178) scale(12.9384 17.8896)">
<stop offset="0.366013" stop-color="#FF4E3A"/>
<stop offset="0.457516" stop-color="#FF8A1B"/>
<stop offset="0.540305" stop-color="#FFA312"/>
<stop offset="0.615636" stop-color="#FFB60C"/>
<stop offset="0.771242" stop-color="#FFCD0A"/>
<stop offset="0.860566" stop-color="#FECF0A"/>
<stop offset="0.915033" stop-color="#FECF08"/>
<stop offset="1" stop-color="#FDCD01"/>
</radialGradient>
<radialGradient id="paint5_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.12386 2.03076) rotate(132.119) scale(6.42638 18.1259)">
<stop offset="0.315904" stop-color="#FF4C3C"/>
<stop offset="0.603818" stop-color="#FF692C"/>
<stop offset="0.726837" stop-color="#FF7825"/>
<stop offset="0.884534" stop-color="#FF8D1B"/>
<stop offset="1" stop-color="#FF9F13"/>
</radialGradient>
<radialGradient id="paint6_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(15.5147 25.6525) rotate(-151.02) scale(13.2813 18.0227)">
<stop offset="0.231273" stop-color="#0FBC5F"/>
<stop offset="0.311547" stop-color="#0FBC5F"/>
<stop offset="0.366013" stop-color="#0FBC5E"/>
<stop offset="0.457516" stop-color="#0FBC5D"/>
<stop offset="0.540305" stop-color="#12BC58"/>
<stop offset="0.699346" stop-color="#28BF3C"/>
<stop offset="0.771242" stop-color="#38C02B"/>
<stop offset="0.860566" stop-color="#52C218"/>
<stop offset="0.915033" stop-color="#67C30F"/>
<stop offset="1" stop-color="#86C504"/>
</radialGradient>
<linearGradient id="paint7_linear_177_1962" x1="10.791" y1="21.5408" x2="13.7095" y2="21.5408" gradientUnits="userSpaceOnUse">
<stop stop-color="#0FBC5C"/>
<stop offset="1" stop-color="#0CBA65"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.77894 20.4654C2.51173 21.463 3.69316 22.1104 5.02582 22.1104L5.30822 22.1105C4.53634 22.1641 3.74075 21.9961 3.02028 21.5801C2.5196 21.2911 2.10449 20.9107 1.78385 20.4722L1.77894 20.4654ZM14.0131 2.54008C15.9387 3.65187 16.5985 6.11423 15.4867 8.03991L12.0121 14.0581L5.02582 14.0581C3.64432 14.0581 2.42534 14.7539 1.7002 15.8142L8.51321 4.01375C9.62501 2.08807 12.0874 1.42828 14.0131 2.54008Z" fill="#F8E71C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9872 14.0581L15.4793 20.1065C16.1751 21.3117 17.3999 22.021 18.6911 22.1106L5.04032 22.1104C2.81673 22.1104 1.01416 20.3079 1.01416 18.0843C1.01416 15.8607 2.81673 14.0581 5.04032 14.0581L11.9872 14.0581ZM22.9997 18.0843C22.9997 18.9754 22.7102 19.799 22.22 20.466C23.1286 19.2185 23.2741 17.5029 22.4528 16.0803L22.2993 15.8143C22.7412 16.4606 22.9997 17.2422 22.9997 18.0843Z" fill="#E3122B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.6388 4.3038L22.4378 16.0803C23.5496 18.006 22.8898 20.4683 20.9641 21.5801C19.0385 22.6919 16.5761 22.0321 15.4643 20.1064L11.992 14.0922L15.4863 8.03991C16.1727 6.85107 16.1838 5.45767 15.6388 4.3038ZM11.992 2.00002L11.9365 2.00055C10.5686 2.02328 9.24654 2.7428 8.51276 4.01375L8.34521 4.30377C8.68304 3.58862 9.23453 2.96548 9.97136 2.54008C10.6089 2.17199 11.3053 1.99809 11.992 2.00002Z" fill="#4A90E2"/>
<path d="M11.9923 10.0394C14.2117 10.0394 16.0109 8.24024 16.0109 6.02082C16.0109 3.8014 14.2117 2.0022 11.9923 2.0022C9.77283 2.0022 7.97363 3.8014 7.97363 6.02082C7.97363 8.24024 9.77283 10.0394 11.9923 10.0394Z" fill="#7ED321" stroke="#7ED321"/>
<path d="M5.01862 22.1178C7.23805 22.1178 9.03724 20.3186 9.03724 18.0992C9.03724 15.8798 7.23805 14.0806 5.01862 14.0806C2.7992 14.0806 1 15.8798 1 18.0992C1 20.3186 2.7992 22.1178 5.01862 22.1178Z" fill="#ED9A12" stroke="#ED9A12"/>
<path d="M18.9654 22.1178C21.1848 22.1178 22.984 20.3186 22.984 18.0992C22.984 15.8798 21.1848 14.0806 18.9654 14.0806C16.746 14.0806 14.9468 15.8798 14.9468 18.0992C14.9468 20.3186 16.746 22.1178 18.9654 22.1178Z" fill="#6E29AA"/>
<path d="M11.9846 7.37039C12.7258 7.37039 13.3267 6.76953 13.3267 6.02833C13.3267 5.28714 12.7258 4.68628 11.9846 4.68628C11.2434 4.68628 10.6426 5.28714 10.6426 6.02833C10.6426 6.76953 11.2434 7.37039 11.9846 7.37039Z" fill="#4A90E2"/>
<path d="M18.9666 19.449C19.7078 19.449 20.3086 18.8481 20.3086 18.1069C20.3086 17.3658 19.7078 16.7649 18.9666 16.7649C18.2254 16.7649 17.6245 17.3658 17.6245 18.1069C17.6245 18.8481 18.2254 19.449 18.9666 19.449Z" fill="#E3122B"/>
<path d="M5.01784 19.449C5.75903 19.449 6.35989 18.8481 6.35989 18.1069C6.35989 17.3658 5.75903 16.7649 5.01784 16.7649C4.27664 16.7649 3.67578 17.3658 3.67578 18.1069C3.67578 18.8481 4.27664 19.449 5.01784 19.449Z" fill="#F8E71C"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.00558 8.48309L11.8706 23.9998H16.6996L5.83455 8.48309H1.00558Z" fill="black"/>
<path d="M1 23.9998H5.83222L8.24647 20.5525L5.83036 17.1015L1 23.9998Z" fill="black"/>
<path d="M22.6373 0.000244141H17.8051L9.45453 11.9257L11.8711 15.3763L22.6373 0.000244141Z" fill="black"/>
<path d="M18.6788 23.9998H22.6373V1.7255L18.6788 7.37857V23.9998Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 470 B

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_177_2053)">
<path d="M0 0H24V24H0V0Z" fill="#F54F35"/>
<path d="M15.2837 5.85076L15.51 6.03226C16.2791 6.72097 16.7884 7.70032 16.9554 8.71644C16.9669 8.93411 16.973 9.15202 16.9746 9.37005L16.9782 9.75775L16.9796 10.1735L16.9816 10.6049C16.9828 10.906 16.9835 11.2072 16.984 11.5082C16.9852 11.9667 16.9889 12.4252 16.9926 12.8838C16.9934 13.177 16.994 13.4701 16.9945 13.7631L16.9991 14.1759C16.9951 15.5749 16.5963 16.7825 15.6289 17.8233C15.0854 18.3284 14.5366 18.7035 13.8509 18.9851L13.5659 19.1111C12.4584 19.5117 11.142 19.3973 10.0579 18.9761C9.459 18.692 8.96467 18.3588 8.47774 17.9105C8.91691 17.37 9.36252 16.9082 9.91058 16.4776L10.2763 16.7612C10.9416 17.2338 11.6059 17.3834 12.418 17.3135C13.2491 17.1482 13.9052 16.7759 14.4479 16.1194C14.9463 15.3094 14.996 14.6601 14.9889 13.7201L14.9903 13.3055C14.9907 13.0172 14.9897 12.7291 14.9877 12.4409C14.9853 12.0015 14.9877 11.562 14.9908 11.1226C14.9905 10.8417 14.9899 10.5609 14.9889 10.2799L14.9919 9.88444C14.9802 8.92969 14.7851 8.30712 14.1942 7.55966C13.3839 6.90796 12.6294 6.57924 11.5776 6.62927C10.7027 6.77112 9.99213 7.19047 9.45494 7.89506C9.01171 8.59847 8.81923 9.32181 8.95535 10.1493C9.21697 11.0504 9.55464 11.8147 10.3882 12.2985C11.0865 12.664 11.6887 12.7192 12.4703 12.7389L12.804 12.7512C13.0733 12.761 13.3427 12.7687 13.6121 12.7761V14.6866C11.6202 14.7669 10.076 14.7647 8.49541 13.3913C7.50676 12.4007 6.90282 11.057 6.8584 9.65673C6.90544 8.47823 7.32765 7.52014 8.00013 6.56718L8.20168 6.26115C10.1133 4.24635 13.1404 4.11178 15.2837 5.85076Z" fill="#FEFBFB"/>
</g>
<defs>
<clipPath id="clip0_177_2053">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,19 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.6951 18.7044C23.8846 19.2501 23.8391 19.8312 23.5865 20.3364C23.4046 20.7053 23.1443 20.9907 22.826 21.2459C22.442 21.5491 21.9646 21.8067 21.3886 22.0543C20.7014 22.3474 19.8627 22.6227 19.4787 22.7238C18.4959 22.9789 17.5511 23.1406 16.5936 23.1482C15.2243 23.1608 14.0446 22.8375 13.2058 22.0114C12.7713 22.0644 12.3317 22.0947 11.8896 22.0947C11.4702 22.0947 11.0559 22.0695 10.6441 22.0189C9.80287 22.84 8.62814 23.1608 7.26393 23.1482C6.30645 23.1406 5.36161 22.9789 4.37635 22.7238C3.99487 22.6227 3.15614 22.3474 2.46898 22.0543C1.89298 21.8067 1.4155 21.5491 1.03403 21.2459C0.713189 20.9907 0.452979 20.7053 0.271084 20.3364C0.0209786 19.8312 -0.0270214 19.2501 0.164979 18.7044C-0.0118635 18.2876 -0.0573372 17.8101 0.0816102 17.2821C0.144768 17.0421 0.248347 16.8198 0.379715 16.6227C0.351926 16.5192 0.329189 16.4131 0.314031 16.2968C0.218031 15.6046 0.458031 14.9731 0.910242 14.4829C1.13256 14.2379 1.37256 14.0686 1.62266 13.96C1.43824 13.1768 1.34224 12.3709 1.34224 11.5474C1.34224 5.72168 6.06393 1 11.8896 1C13.8905 1 15.7625 1.55579 17.3591 2.52589C17.6471 2.70274 17.93 2.89221 18.2003 3.09432C18.3342 3.19537 18.4681 3.29895 18.597 3.40758C18.7283 3.51368 18.8572 3.62484 18.981 3.73853C19.3549 4.07958 19.706 4.44589 20.0269 4.83747C20.1355 4.96632 20.2391 5.10021 20.3401 5.23663C20.5448 5.50695 20.7342 5.78737 20.9086 6.07789C21.1738 6.51242 21.4062 6.96716 21.6083 7.43958C21.7422 7.75537 21.8585 8.07874 21.962 8.40968C22.1161 8.90484 22.2349 9.41516 22.3157 9.94063C22.341 10.1149 22.3637 10.2918 22.3814 10.4686C22.4168 10.8223 22.437 11.1811 22.437 11.5474C22.437 12.3608 22.341 13.1592 22.1616 13.9297C22.4395 14.0383 22.7022 14.2152 22.9473 14.4829C23.3995 14.9731 23.6395 15.6072 23.5435 16.2994C23.5283 16.4131 23.5056 16.5192 23.4778 16.6227C23.6092 16.8198 23.7128 17.0421 23.7759 17.2821C23.9149 17.8101 23.8694 18.2876 23.6951 18.7044Z" fill="white"/>
<path d="M11.8107 20.3262C16.6592 20.3262 20.5896 16.3957 20.5896 11.5473C20.5896 6.69878 16.6592 2.76831 11.8107 2.76831C6.96221 2.76831 3.03174 6.69878 3.03174 11.5473C3.03174 16.3957 6.96221 20.3262 11.8107 20.3262Z" fill="#FFD21E"/>
<path d="M20.5894 11.5473C20.5894 6.69881 16.6589 2.76834 11.8105 2.76834C6.96199 2.76834 3.03152 6.69881 3.03152 11.5473C3.03152 16.3958 6.96199 20.3262 11.8105 20.3262C16.6589 20.3262 20.5894 16.3958 20.5894 11.5473ZM2.021 11.5473C2.021 6.14071 6.40389 1.75781 11.8105 1.75781C17.217 1.75781 21.5999 6.14071 21.5999 11.5473C21.5999 16.9539 17.217 21.3368 11.8105 21.3368C6.40389 21.3368 2.021 16.9539 2.021 11.5473Z" fill="#FFAC03"/>
<path d="M14.6628 9.15775C14.9847 9.27144 15.1128 9.93332 15.4381 9.76039C16.054 9.43288 16.2879 8.66804 15.9603 8.05207C15.6328 7.43611 14.868 7.20227 14.252 7.52979C13.6361 7.8573 13.4022 8.62214 13.7297 9.2381C13.8843 9.52884 14.375 9.05612 14.6628 9.15775Z" fill="#3A3B45"/>
<path d="M8.71175 9.15775C8.3898 9.27144 8.26169 9.93332 7.93646 9.76039C7.32049 9.43288 7.08666 8.66804 7.41417 8.05207C7.74169 7.43611 8.50653 7.20227 9.12249 7.52979C9.73846 7.8573 9.97229 8.62214 9.64478 9.2381C9.49019 9.52884 8.99955 9.05612 8.71175 9.15775Z" fill="#3A3B45"/>
<path d="M11.7476 15.2203C14.2306 15.2203 15.0318 13.0065 15.0318 11.8697C15.0318 11.2789 14.6346 11.4648 13.9985 11.7798C13.4107 12.0708 12.6187 12.4719 11.7476 12.4719C9.93377 12.4719 8.46338 10.7329 8.46338 11.8697C8.46338 13.0065 9.26461 15.2203 11.7476 15.2203Z" fill="#3A3B45"/>
<path d="M11.8107 17.8001C13.0208 17.8001 14.0017 16.8191 14.0017 15.6091C14.0017 14.6665 13.4066 13.863 12.5716 13.5537C12.5409 13.5424 12.5099 13.5316 12.4785 13.5216C12.2679 13.4543 12.0436 14.178 11.8107 14.178C11.5931 14.178 11.3829 13.4497 11.1845 13.5088C10.2795 13.7782 9.61963 14.6166 9.61963 15.6091C9.61963 16.8191 10.6006 17.8001 11.8107 17.8001Z" fill="#EF4E4E"/>
<g style="mix-blend-mode:multiply">
<path d="M17.7473 10.3472C18.2008 10.3472 18.5684 9.97959 18.5684 9.52613C18.5684 9.07268 18.2008 8.70508 17.7473 8.70508C17.2939 8.70508 16.9263 9.07268 16.9263 9.52613C16.9263 9.97959 17.2939 10.3472 17.7473 10.3472Z" fill="#FFD21E"/>
</g>
<g style="mix-blend-mode:multiply">
<path d="M5.99976 10.3472C6.45322 10.3472 6.82082 9.97959 6.82082 9.52613C6.82082 9.07268 6.45322 8.70508 5.99976 8.70508C5.54631 8.70508 5.17871 9.07268 5.17871 9.52613C5.17871 9.97959 5.54631 10.3472 5.99976 10.3472Z" fill="#FFD21E"/>
</g>
<path d="M4.3103 13.1262C3.90129 13.1262 3.53574 13.2942 3.28083 13.5989C3.12319 13.7876 2.95847 14.0918 2.94508 14.5473C2.77355 14.498 2.60858 14.4705 2.45447 14.4705C2.06289 14.4705 1.70921 14.6205 1.4591 14.8931C1.13776 15.243 0.99502 15.673 1.05717 16.1032C1.08672 16.3081 1.15519 16.4918 1.2575 16.6618C1.04176 16.8364 0.882851 17.0794 0.806051 17.3717C0.745925 17.6008 0.684283 18.0781 1.00614 18.5697C0.985672 18.6018 0.966472 18.6351 0.948536 18.6692C0.75502 19.0365 0.742641 19.4516 0.91342 19.8381C1.17237 20.424 1.81582 20.8855 3.06534 21.381C3.84268 21.6892 4.55384 21.8862 4.56016 21.888C5.58786 22.1545 6.51729 22.2899 7.32192 22.2899C8.80083 22.2899 9.85961 21.837 10.469 20.9437C11.4497 19.5052 11.3095 18.1895 10.0405 16.9213C9.33818 16.2194 8.87131 15.1847 8.77405 14.9575C8.57801 14.285 8.05961 13.5375 7.19788 13.5375C7.12538 13.5375 7.05186 13.5433 6.97961 13.5547C6.60218 13.6141 6.27224 13.8313 6.03654 14.1582C5.78214 13.8419 5.53506 13.5903 5.31148 13.4483C4.97447 13.2346 4.63771 13.1262 4.3103 13.1262ZM4.3103 14.1367C4.43915 14.1367 4.59654 14.1916 4.77009 14.3017C5.30896 14.6435 6.34879 16.4309 6.7295 17.1261C6.85708 17.3591 7.0751 17.4576 7.2714 17.4576C7.66096 17.4576 7.96512 17.0703 7.30702 16.5782C6.31746 15.8377 6.66458 14.6274 7.137 14.5528C7.15771 14.5495 7.17818 14.548 7.19788 14.548C7.62736 14.548 7.81683 15.2882 7.81683 15.2882C7.81683 15.2882 8.37211 16.6828 9.32605 17.6359C10.28 18.5894 10.3293 19.3546 9.63401 20.3742C9.15982 21.0695 8.25211 21.2794 7.32192 21.2794C6.35712 21.2794 5.36807 21.0535 4.8138 20.9098C4.78651 20.9027 1.41565 19.9506 1.8426 19.1401C1.91435 19.0039 2.03258 18.9494 2.18138 18.9494C2.78264 18.9494 3.87628 19.8442 4.34643 19.8442C4.45152 19.8442 4.52555 19.7995 4.55586 19.6903C4.7562 18.9716 1.50988 18.6695 1.78348 17.6284C1.83174 17.4442 1.9626 17.3694 2.14651 17.3697C2.94104 17.3697 4.72361 18.767 5.09725 18.767C5.1258 18.767 5.14626 18.7586 5.15738 18.741C5.34458 18.4388 5.24201 18.2279 3.92251 17.4293C2.60302 16.6305 1.67687 16.15 2.20361 15.5765C2.26424 15.5103 2.35014 15.481 2.45447 15.481C3.25557 15.4813 5.14828 17.2037 5.14828 17.2037C5.14828 17.2037 5.6591 17.735 5.96807 17.735C6.03906 17.735 6.09944 17.7069 6.14037 17.6377C6.3594 17.2684 4.10593 15.5606 3.97885 14.856C3.8927 14.3785 4.03923 14.1367 4.3103 14.1367Z" fill="#FFAC03"/>
<path d="M9.63397 20.3742C10.3292 19.3546 10.28 18.5894 9.32601 17.6359C8.37208 16.6827 7.81679 15.2882 7.81679 15.2882C7.81679 15.2882 7.60938 14.4783 7.13696 14.5528C6.66454 14.6273 6.31768 15.8377 7.30724 16.5782C8.29679 17.3184 7.11018 17.8214 6.72947 17.1261C6.34875 16.4309 5.30917 14.6435 4.77006 14.3017C4.23119 13.9599 3.85174 14.1514 3.97881 14.856C4.10589 15.5606 6.35961 17.2683 6.14033 17.6379C5.92105 18.0073 5.14825 17.2037 5.14825 17.2037C5.14825 17.2037 2.73006 15.003 2.20357 15.5765C1.67709 16.1499 2.60298 16.6305 3.92248 17.4293C5.24223 18.2278 5.34454 18.4388 5.15734 18.7409C4.96989 19.0431 2.05705 16.5873 1.78345 17.6283C1.5101 18.6694 4.75616 18.9716 4.55583 19.6903C4.35549 20.4093 2.26926 18.3299 1.84256 19.1401C1.41561 19.9505 4.78648 20.9027 4.81376 20.9098C5.9026 21.1922 8.66791 21.7907 9.63397 20.3742Z" fill="#FFD21E"/>
<path d="M19.4368 13.1262C19.8458 13.1262 20.2113 13.2942 20.4662 13.5989C20.6239 13.7876 20.7886 14.0918 20.802 14.5473C20.9735 14.498 21.1385 14.4705 21.2926 14.4705C21.6842 14.4705 22.0379 14.6205 22.288 14.8931C22.6093 15.243 22.7521 15.673 22.6899 16.1032C22.6603 16.3081 22.5919 16.4918 22.4896 16.6618C22.7053 16.8364 22.8642 17.0794 22.941 17.3717C23.0011 17.6008 23.0628 18.0781 22.7409 18.5697C22.7614 18.6018 22.7806 18.6351 22.7985 18.6692C22.9921 19.0365 23.0044 19.4516 22.8337 19.8381C22.5747 20.424 21.9313 20.8855 20.6817 21.381C19.9044 21.6892 19.1932 21.8862 19.1869 21.888C18.1592 22.1545 17.2298 22.2899 16.4251 22.2899C14.9462 22.2899 13.8875 21.837 13.2781 20.9437C12.2974 19.5052 12.4376 18.1895 13.7066 16.9213C14.4089 16.2194 14.8758 15.1847 14.973 14.9575C15.1691 14.285 15.6875 13.5375 16.5492 13.5375C16.6217 13.5375 16.6952 13.5433 16.7675 13.5547C17.1449 13.6141 17.4748 13.8313 17.7105 14.1582C17.9649 13.8419 18.212 13.5903 18.4356 13.4483C18.7726 13.2346 19.1094 13.1262 19.4368 13.1262ZM19.4368 14.1367C19.3079 14.1367 19.1505 14.1916 18.977 14.3017C18.4381 14.6435 17.3983 16.4309 17.0176 17.1261C16.89 17.3591 16.672 17.4576 16.4757 17.4576C16.0861 17.4576 15.7819 17.0703 16.4401 16.5782C17.4296 15.8377 17.0825 14.6274 16.6101 14.5528C16.5894 14.5495 16.5689 14.548 16.5492 14.548C16.1197 14.548 15.9302 15.2882 15.9302 15.2882C15.9302 15.2882 15.375 16.6828 14.421 17.6359C13.4671 18.5894 13.4178 19.3546 14.1131 20.3742C14.5873 21.0695 15.495 21.2794 16.4251 21.2794C17.3899 21.2794 18.379 21.0535 18.9333 20.9098C18.9606 20.9027 22.3314 19.9506 21.9045 19.1401C21.8327 19.0039 21.7145 18.9494 21.5657 18.9494C20.9644 18.9494 19.8708 19.8442 19.4006 19.8442C19.2955 19.8442 19.2215 19.7995 19.1912 19.6903C18.9909 18.9716 22.2372 18.6695 21.9636 17.6284C21.9153 17.4442 21.7845 17.3694 21.6006 17.3697C20.806 17.3697 19.0235 18.767 18.6498 18.767C18.6213 18.767 18.6008 18.7586 18.5897 18.741C18.4025 18.4388 18.5051 18.2279 19.8246 17.4293C21.1441 16.6305 22.0702 16.15 21.5435 15.5765C21.4828 15.5103 21.3969 15.481 21.2926 15.481C20.4915 15.4813 18.5988 17.2037 18.5988 17.2037C18.5988 17.2037 18.088 17.735 17.779 17.735C17.708 17.735 17.6476 17.7069 17.6067 17.6377C17.3877 17.2684 19.6411 15.5606 19.7682 14.856C19.8544 14.3785 19.7078 14.1367 19.4368 14.1367Z" fill="#FFAC03"/>
<path d="M14.1131 20.3742C13.4179 19.3546 13.4671 18.5894 14.4211 17.6359C15.375 16.6827 15.9303 15.2882 15.9303 15.2882C15.9303 15.2882 16.1377 14.4783 16.6101 14.5528C17.0825 14.6273 17.4294 15.8377 16.4398 16.5782C15.4503 17.3184 16.6369 17.8214 17.0176 17.1261C17.3983 16.4309 18.4379 14.6435 18.977 14.3017C19.5159 13.9599 19.8953 14.1514 19.7683 14.856C19.6412 15.5606 17.3875 17.2683 17.6067 17.6379C17.826 18.0073 18.5988 17.2037 18.5988 17.2037C18.5988 17.2037 21.017 15.003 21.5435 15.5765C22.07 16.1499 21.1441 16.6305 19.8246 17.4293C18.5048 18.2278 18.4025 18.4388 18.5897 18.7409C18.7772 19.0431 21.69 16.5873 21.9636 17.6283C22.237 18.6694 18.9909 18.9716 19.1912 19.6903C19.3916 20.4093 21.4778 18.3299 21.9045 19.1401C22.3315 19.9505 18.9606 20.9027 18.9333 20.9098C17.8445 21.1922 15.0792 21.7907 14.1131 20.3742Z" fill="#FFD21E"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1007_325549)">
<path d="M0.193 19.5028C0.0707355 19.7959 0.00752741 20.1103 0.007 20.4278C0.007 21.7448 1.119 22.9458 2.957 23.8648C3.12479 23.9464 3.30778 23.9919 3.4942 23.9985C3.68063 24.005 3.86637 23.9725 4.03948 23.903C4.21259 23.8335 4.36924 23.7285 4.49936 23.5949C4.62948 23.4612 4.73018 23.3018 4.795 23.1269L6.844 18.1968C7.203 17.3398 7.486 16.4518 7.69 15.5448C3.895 16.1818 1.034 17.6368 0.242 19.4168L0.21 19.4928L0.193 19.5028ZM7.683 8.45585C7.47873 7.54859 7.19566 6.66088 6.837 5.80285L4.79 0.87285C4.72483 0.697958 4.62385 0.538609 4.49352 0.405012C4.36319 0.271415 4.20639 0.166517 4.03317 0.0970387C3.85994 0.0275607 3.67411 -0.00496469 3.48759 0.00154647C3.30107 0.00805764 3.11796 0.0534618 2.95 0.13485C1.112 1.05385 0 2.25585 0 3.57285C0 3.88985 0.064 4.20385 0.186 4.49685V4.50685L0.218 4.58385C1.028 6.36385 3.887 7.81785 7.683 8.45585ZM21.049 0.13585C22.887 1.05385 23.999 2.25585 23.999 3.57185C23.9942 3.88997 23.9277 4.20414 23.803 4.49685L23.776 4.55985C22.991 6.35185 20.123 7.81385 16.316 8.45585C16.52 7.54885 16.803 6.66085 17.162 5.80285L19.21 0.87285C19.2748 0.697798 19.3755 0.538256 19.5057 0.404491C19.6359 0.270727 19.7927 0.165705 19.9659 0.0961859C20.1391 0.0266671 20.325 -0.00580793 20.5115 0.000851118C20.6981 0.00751017 20.8812 0.0531558 21.049 0.13485V0.13585ZM16.327 15.5448C16.528 16.4508 16.807 17.3378 17.164 18.1948L19.212 23.1269C19.2769 23.3017 19.3777 23.461 19.5079 23.5946C19.638 23.7282 19.7946 23.8331 19.9677 23.9026C20.1408 23.972 20.3265 24.0046 20.5128 23.9981C20.6992 23.9916 20.8822 23.9462 21.05 23.8648C22.889 22.9448 24.001 21.7448 24.001 20.4278C23.9996 20.1104 23.9364 19.7962 23.815 19.5028L23.788 19.4408C23.006 17.6488 20.127 16.1848 16.327 15.5448ZM16.198 9.50485C18.893 9.08985 21.133 8.28185 22.678 7.22685L22.24 8.27985C21.258 10.6616 21.258 13.3351 22.24 15.7168L22.675 16.7648C21.128 15.7098 18.888 14.9098 16.196 14.4898L16.126 14.4798C14.7605 14.2726 13.3812 14.1696 12 14.1718C10.623 14.1698 9.248 14.2718 7.886 14.4788L7.815 14.4888C5.122 14.9018 2.882 15.7108 1.335 16.7659L1.772 15.7158C2.75404 13.3341 2.75404 10.6606 1.772 8.27885L1.335 7.22685C2.875 8.28685 5.115 9.08985 7.808 9.50485L7.879 9.51485C10.613 9.92185 13.392 9.92185 16.125 9.51485L16.196 9.50485H16.198Z" fill="#594CE9"/>
</g>
<defs>
<clipPath id="clip0_1007_325549">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,14 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.65622 11.1831V12.3535L3.74694 11.1831H3.17432V13.3949H3.78156V12.1805L4.72544 13.3949H5.26344V11.1831H4.65622Z" fill="#7F1084"/>
<path d="M7.42466 11.7211V11.1831H5.6596L5.65332 13.3949H6.26684V12.6052H7.3114V12.0955H6.26684V11.7211H7.42466Z" fill="#7F1084"/>
<path d="M7.71729 11.1831V13.3949H8.33394V11.1831H7.71729Z" fill="#7F1084"/>
<path d="M10.2216 11.1831V12.3535L9.31235 11.1831H8.73975V13.3949H9.34697V12.1805L10.2908 13.3949H10.8288V11.1831H10.2216Z" fill="#7F1084"/>
<path d="M11.2349 11.1831V13.3949H11.8515V11.1831H11.2349Z" fill="#7F1084"/>
<path d="M18.0937 11.1831V12.3535L17.1844 11.1831H16.6118V13.3949H17.219V12.1805L18.1629 13.3949H18.7009V11.1831H18.0937Z" fill="#7F1084"/>
<path d="M2.2994 12.8129V10.5979H1V11.1831H1.59779V12.8129H1V13.3949H2.89719V12.8129H2.2994Z" fill="#7F1084"/>
<path d="M14.1639 12.0861V13.3949H12.2573V11.1831H14.1734V11.6865H12.7607V12.8884H13.6574V12.4794H13.2924V12.0861H14.1639Z" fill="#7F1084"/>
<path d="M20.9884 11.6865V11.1831H19.1636V13.3949H20.9853V12.8884H19.667V11.6865H20.9884Z" fill="#7F1084"/>
<path d="M2.8971 10H2.29932V10.5978H2.8971V10Z" fill="#2EA7E0"/>
<path d="M22.0079 12.8726V12.5234H23.0713V12.0389H22.0079V11.7054H23.1813V11.1831H21.3975V13.3949H23.1971V12.8726H22.0079Z" fill="#7F1084"/>
<path d="M15.1045 12.8726V12.5234H16.168V12.0389H15.1045V11.7054H16.2781V11.1831H14.4941V13.3949H16.2938V12.8726H15.1045Z" fill="#7F1084"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,8 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="7" width="1.73937" height="1.73937" fill="#0068B5"/>
<path d="M23 7.22925H21.2574V16.2527H23V7.22925Z" fill="black"/>
<path d="M10.7294 7.69537H12.4719V10.0938H13.5611V11.4903H12.4719L12.4719 14.0147C12.4719 14.8025 13.1557 14.8443 13.5429 14.7667V16.2885C11.2342 16.2885 10.7295 15.5904 10.7294 13.6394V7.69537Z" fill="black"/>
<path d="M5.39274 10.8251C5.76863 10.4128 6.43087 9.95059 7.35313 9.95059C8.91419 9.95059 9.83993 11.2755 9.83993 12.4034V16.2527H8.16997V12.7257C8.15787 12.2721 7.86502 11.365 6.79043 11.365C6.04814 11.365 5.61535 11.8491 5.39274 12.3157V16.2527H3.65017V10.0938H5.39274V10.8251Z" fill="black"/>
<path d="M1 10.0938H2.74257V16.2527H1V10.0938Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.5438 13.7461H20.5314V13.1732C20.5313 11.3934 19.0685 9.95059 17.264 9.95059C15.4595 9.95059 13.9967 11.3934 13.9967 13.1733C13.9967 14.9531 15.4595 16.3959 17.264 16.3959C18.3229 16.3959 19.2642 15.8983 19.8601 15.1303L18.7068 14.2599C18.3739 14.689 17.8516 14.9636 17.264 14.9636C16.4647 14.9636 15.786 14.454 15.5438 13.7461ZM18.9716 12.5645C18.719 11.8754 18.0498 11.3829 17.264 11.3829C16.4782 11.3829 15.809 11.8754 15.5565 12.5645H18.9716Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,70 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_1004_325507" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="23" height="22">
<path d="M5.25735 1.80765C8.76836 6.74075 14.4316 9.45056 20.0638 8.40323C20.4621 8.32917 20.8949 8.19661 21.3453 8.02311C22.2003 7.69374 23.3199 9.03389 22.6711 9.68084C22.2417 10.1091 21.8314 10.5013 21.4636 10.8278C18.9271 13.0793 16.1266 15.1096 13.0746 16.8717C10.0032 18.6449 6.82394 20.0618 3.58453 21.1352C3.13169 21.2853 2.6047 21.4391 2.03824 21.5917C1.15372 21.8301 0.55444 20.1919 1.26764 19.617C1.64664 19.3114 1.98095 19.0005 2.24624 18.6902C5.96932 14.3363 6.29912 8.17371 3.71756 2.69665C3.60584 2.45961 3.48186 2.17153 3.35311 1.85684C2.99489 0.981288 4.0418 0.335122 4.656 1.05462C4.89915 1.33945 5.10928 1.5996 5.25735 1.80765Z" fill="white"/>
</mask>
<g mask="url(#mask0_1004_325507)">
<path d="M3.05591 -0.57488L13.0474 18.229L27.378 9.23897L17.3865 -9.56491L3.05591 -0.57488Z" fill="url(#paint0_linear_1004_325507)"/>
<path d="M3.05591 -0.57488L13.0474 18.229L-1.28325 27.219L-11.2747 8.41515L3.05591 -0.57488Z" fill="url(#paint1_linear_1004_325507)"/>
<path d="M23.0388 37.0329L13.0474 18.229L27.378 9.23897L37.3694 28.0429L23.0388 37.0329Z" fill="url(#paint2_linear_1004_325507)"/>
<path d="M23.0388 37.0329L13.0474 18.229L-1.28325 27.219L8.7082 46.0229L23.0388 37.0329Z" fill="url(#paint3_linear_1004_325507)"/>
</g>
<mask id="mask1_1004_325507" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="7" y="13" width="13" height="11">
<path d="M19.5292 13.6948C17.2058 16.5579 16.714 19.6388 17.1516 22.2781C17.1596 22.3264 17.168 22.3799 17.1765 22.4375C17.2928 23.2284 16.3598 23.7154 15.7281 23.2254C15.6959 23.2004 15.6647 23.1765 15.6349 23.1538C13.5151 21.5401 11.0144 20.326 7.68652 20.7079C9.70102 20.1175 11.7607 19.243 13.773 18.0812C15.9824 16.8056 17.9203 15.3074 19.5292 13.6948Z" fill="white"/>
</mask>
<g mask="url(#mask1_1004_325507)">
<path d="M2.9485 -0.407365L16.5913 23.2227L31.0296 14.8867L17.3868 -8.7433L2.9485 -0.407365Z" fill="url(#paint4_linear_1004_325507)"/>
<path d="M2.9485 -0.407365L16.5913 23.2227L2.15305 31.5586L-11.4898 7.92857L2.9485 -0.407365Z" fill="url(#paint5_linear_1004_325507)"/>
<path d="M30.2341 46.8527L16.5913 23.2227L31.0296 14.8867L44.6724 38.5167L30.2341 46.8527Z" fill="url(#paint6_linear_1004_325507)"/>
<path d="M30.2341 46.8527L16.5913 23.2227L2.15305 31.5586L15.7959 55.1886L30.2341 46.8527Z" fill="url(#paint7_linear_1004_325507)"/>
</g>
<defs>
<linearGradient id="paint0_linear_1004_325507" x1="13.0474" y1="18.229" x2="15.105" y2="2.23875" gradientUnits="userSpaceOnUse">
<stop stop-color="#27B2F0"/>
<stop offset="0.203234" stop-color="#26DFFB"/>
<stop offset="0.406468" stop-color="#30F5FE"/>
<stop offset="0.652506" stop-color="#F0FEFC"/>
<stop offset="0.863327" stop-color="#FBC610"/>
<stop offset="1" stop-color="#FD9C22"/>
</linearGradient>
<linearGradient id="paint1_linear_1004_325507" x1="13.0474" y1="18.229" x2="-0.935969" y2="12.7009" gradientUnits="userSpaceOnUse">
<stop stop-color="#27B2F0"/>
<stop offset="0.203234" stop-color="#26DFFB"/>
<stop offset="0.406468" stop-color="#30F5FE"/>
<stop offset="0.652506" stop-color="#F0FEFC"/>
<stop offset="0.863327" stop-color="#FBC610"/>
<stop offset="1" stop-color="#FD9C22"/>
</linearGradient>
<linearGradient id="paint2_linear_1004_325507" x1="13.0474" y1="18.229" x2="27.0307" y2="23.7571" gradientUnits="userSpaceOnUse">
<stop stop-color="#27B2F0"/>
<stop offset="0.203234" stop-color="#26DFFB"/>
<stop offset="0.406468" stop-color="#30F5FE"/>
<stop offset="0.652506" stop-color="#F0FEFC"/>
<stop offset="0.863327" stop-color="#FBC610"/>
<stop offset="1" stop-color="#FD9C22"/>
</linearGradient>
<linearGradient id="paint3_linear_1004_325507" x1="13.0474" y1="18.229" x2="10.9898" y2="34.2193" gradientUnits="userSpaceOnUse">
<stop stop-color="#27B2F0"/>
<stop offset="0.203234" stop-color="#26DFFB"/>
<stop offset="0.406468" stop-color="#30F5FE"/>
<stop offset="0.652506" stop-color="#F0FEFC"/>
<stop offset="0.863327" stop-color="#FBC610"/>
<stop offset="1" stop-color="#FD9C22"/>
</linearGradient>
<linearGradient id="paint4_linear_1004_325507" x1="16.5913" y1="23.2227" x2="16.3034" y2="18.1833" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C6FFF"/>
<stop offset="1" stop-color="#24B5EF"/>
</linearGradient>
<linearGradient id="paint5_linear_1004_325507" x1="16.5913" y1="23.2227" x2="12.3711" y2="20.4536" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C6FFF"/>
<stop offset="1" stop-color="#24B5EF"/>
</linearGradient>
<linearGradient id="paint6_linear_1004_325507" x1="16.5913" y1="23.2227" x2="20.8115" y2="25.9917" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C6FFF"/>
<stop offset="1" stop-color="#24B5EF"/>
</linearGradient>
<linearGradient id="paint7_linear_1004_325507" x1="16.5913" y1="23.2227" x2="16.8793" y2="28.262" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C6FFF"/>
<stop offset="1" stop-color="#24B5EF"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.56053 21.4486C9.07925 21.4486 11.1211 19.4068 11.1211 16.8882C11.1211 14.3696 9.07925 12.3279 6.56053 12.3279C4.04182 12.3279 2 14.3696 2 16.8882C2 19.4068 4.04182 21.4486 6.56053 21.4486Z" fill="#EB6161"/>
<path d="M22.0002 3.59473L21.9406 12.328C21.9406 17.3056 17.9464 21.3592 12.9685 21.4486L12.8789 12.3578L12.8791 3.62453C12.8791 3.02841 13.356 2.55151 13.9522 2.55151H20.9271C21.5233 2.55151 22.0002 2.9986 22.0002 3.59473Z" fill="#009191"/>
</svg>

After

Width:  |  Height:  |  Size: 564 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.7062 13.286V10.3666C20.7062 9.84532 20.7062 9.55859 20.6801 9.35006C20.6801 9.2458 20.6541 9.19366 20.6541 9.1676C20.628 9.0894 20.6019 9.03727 20.5498 8.98514C20.5237 8.98514 20.4977 8.933 20.3934 8.88087C20.211 8.75054 19.9764 8.62021 19.5332 8.35955L17.0048 6.89985C16.5617 6.63919 16.301 6.50886 16.1186 6.4046C16.0143 6.35246 15.9622 6.3264 15.9622 6.3264C15.884 6.30033 15.8058 6.30033 15.7276 6.3264C15.7015 6.3264 15.6494 6.35246 15.5712 6.4046C15.3887 6.50886 15.1281 6.63919 14.6849 6.89985L12.1565 8.35955C11.7134 8.62021 11.4528 8.75054 11.2964 8.88087C11.2182 8.933 11.166 8.98514 11.14 8.98514C11.0878 9.03727 11.0618 9.11547 11.0357 9.1676C11.0357 9.19366 11.0357 9.2458 11.0096 9.35006C11.0096 9.55859 10.9836 9.84532 10.9836 10.3666V13.286C10.9836 13.8074 10.9836 14.0941 11.0096 14.3026C11.0096 14.4069 11.0357 14.459 11.0357 14.4851C11.0618 14.5633 11.0878 14.6154 11.14 14.6675C11.166 14.6675 11.1921 14.7197 11.2964 14.7718C11.4788 14.9021 11.7134 15.0325 12.1565 15.2931L14.6849 16.7528C15.1281 17.0135 15.3887 17.1438 15.5712 17.2481C15.6755 17.3002 15.7276 17.3263 15.7276 17.3263C15.8058 17.3523 15.884 17.3523 15.9622 17.3263C15.9883 17.3263 16.0404 17.3002 16.1186 17.2481C16.301 17.1438 16.5617 17.0135 17.0048 16.7528L19.5332 15.2931C19.9764 15.0325 20.237 14.9021 20.3934 14.7718C20.4716 14.7197 20.5237 14.6675 20.5498 14.6675C20.6019 14.6154 20.628 14.5372 20.6541 14.4851C20.6541 14.459 20.6541 14.4069 20.6801 14.3026C20.7062 14.0941 20.7062 13.8074 20.7062 13.286ZM22.2702 7.42117C21.9574 7.08231 21.5403 6.82165 20.7062 6.35246L18.1778 4.89276C17.3437 4.39751 16.9006 4.13685 16.4574 4.05865C16.0665 3.98045 15.6494 3.98045 15.2584 4.05865C14.8153 4.16291 14.3982 4.39751 13.538 4.89276L11.0096 6.35246C10.1755 6.84772 9.7324 7.08231 9.44567 7.42117C9.18501 7.73396 8.97648 8.07282 8.84615 8.46381C8.71582 8.90694 8.71582 9.40219 8.71582 10.3666V13.286C8.71582 14.2765 8.71582 14.7457 8.84615 15.1889C8.97648 15.5799 9.18501 15.9448 9.44567 16.2315C9.75846 16.5704 10.1755 16.831 11.0096 17.3002L13.538 18.7599C14.3722 19.2552 14.8153 19.4898 15.2584 19.594C15.6494 19.6722 16.0665 19.6722 16.4574 19.594C16.9006 19.4898 17.3176 19.2552 18.1778 18.7599L20.7062 17.3002C21.5403 16.805 21.9834 16.5704 22.2702 16.2315C22.5308 15.9187 22.7394 15.5799 22.8697 15.1889C23 14.7457 23 14.2505 23 13.286V10.3666C23 9.37613 23 8.90694 22.8697 8.46381C22.7394 8.07282 22.5308 7.7079 22.2702 7.42117Z" fill="#2D9CDB"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.9904 13.286V10.3666C12.9904 9.84532 12.9904 9.55859 12.9643 9.35006C12.9643 9.2458 12.9383 9.19366 12.9383 9.1676C12.9122 9.0894 12.8861 9.03727 12.834 8.98514C12.8079 8.98514 12.7819 8.933 12.6776 8.88087C12.4951 8.75054 12.2605 8.62021 11.8174 8.35955L9.28901 6.89985C8.84589 6.63919 8.58523 6.50886 8.40276 6.4046C8.2985 6.35246 8.24637 6.3264 8.24637 6.3264C8.16817 6.30033 8.08997 6.30033 8.01177 6.3264C7.98571 6.3264 7.93357 6.35246 7.85538 6.4046C7.67291 6.50886 7.41225 6.63919 6.96913 6.89985L4.44072 8.35955C3.9976 8.62021 3.73694 8.75054 3.58054 8.88087C3.50234 8.933 3.45021 8.98514 3.42414 8.98514C3.37201 9.03727 3.34595 9.11547 3.31988 9.1676C3.31988 9.19366 3.31988 9.2458 3.29381 9.35006C3.29381 9.55859 3.26775 9.84532 3.26775 10.3666V13.286C3.26775 13.8074 3.26775 14.0941 3.29381 14.3026C3.29381 14.4069 3.31988 14.459 3.31988 14.4851C3.34595 14.5633 3.37201 14.6154 3.42414 14.6675C3.45021 14.6675 3.47628 14.7197 3.58054 14.7718C3.763 14.9021 3.9976 15.0325 4.44072 15.2931L6.96913 16.7528C7.41225 17.0135 7.67291 17.1438 7.85538 17.2481C7.95964 17.3002 8.01177 17.3263 8.01177 17.3263C8.08997 17.3523 8.16817 17.3523 8.24637 17.3263C8.27243 17.3263 8.32457 17.3002 8.40276 17.2481C8.58523 17.1438 8.84589 17.0135 9.28901 16.7528L11.8174 15.2931C12.2605 15.0325 12.5212 14.9021 12.6776 14.7718C12.7558 14.7197 12.8079 14.6675 12.834 14.6675C12.8861 14.6154 12.9122 14.5372 12.9383 14.4851C12.9383 14.459 12.9383 14.4069 12.9643 14.3026C12.9904 14.0941 12.9904 13.8074 12.9904 13.286ZM14.5544 7.42117C14.2416 7.08231 13.8245 6.82165 12.9904 6.35246L10.462 4.89276C9.62787 4.39751 9.21081 4.13685 8.74162 4.05865C8.35063 3.98045 7.93357 3.98045 7.54258 4.05865C7.09946 4.16291 6.6824 4.39751 5.82222 4.89276L3.29381 6.35246C2.4597 6.84772 2.01658 7.08231 1.72985 7.42117C1.46919 7.73396 1.26066 8.07282 1.13033 8.46381C1 8.90694 1 9.40219 1 10.3666V13.286C1 14.2765 1 14.7457 1.13033 15.1889C1.26066 15.5799 1.46919 15.9448 1.72985 16.2315C2.04264 16.5704 2.4597 16.831 3.29381 17.3002L5.82222 18.7599C6.65634 19.2552 7.09946 19.4898 7.54258 19.594C7.93357 19.6722 8.35063 19.6722 8.74162 19.594C9.18475 19.4898 9.6018 19.2552 10.462 18.7599L12.9904 17.3002C13.8245 16.805 14.2676 16.5704 14.5544 16.2315C14.815 15.9187 15.0235 15.5799 15.1539 15.1889C15.2842 14.7457 15.2842 14.2505 15.2842 13.286V10.3666C15.2842 9.37613 15.2842 8.90694 15.1539 8.46381C15.0496 8.07282 14.8411 7.7079 14.5544 7.42117Z" fill="#2F80ED"/>
<path d="M12.0002 15.2148C12.0523 15.2409 12.1044 15.293 12.1826 15.3191L14.2679 16.5181C13.9812 16.7527 13.5902 16.9613 12.9907 17.3262L12.0002 17.8996L11.0097 17.3262C10.4101 16.9613 10.0191 16.7527 9.73242 16.5181L11.8177 15.3191C11.8959 15.267 11.948 15.2409 12.0002 15.2148Z" fill="#2F80ED"/>
<path d="M14.2679 7.13443C13.9812 6.89984 13.5902 6.69131 12.9907 6.32638L12.0002 5.75293L11.0097 6.32638C10.4101 6.69131 10.0191 6.89984 9.73242 7.13443L11.8177 8.33347C11.8698 8.35954 11.948 8.41167 12.0002 8.43773C12.0523 8.41167 12.1044 8.35954 12.1826 8.33347L14.2679 7.13443Z" fill="#2D9CDB"/>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" rx="2" fill="url(#paint0_linear_974_321445)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.36698 4C4.22763 4 4.08963 4.02745 3.96088 4.08078C3.83213 4.13411 3.71514 4.21228 3.6166 4.31082C3.51806 4.40936 3.43989 4.52635 3.38656 4.6551C3.33323 4.78385 3.30578 4.92185 3.30578 5.06121C3.30578 5.20057 3.33323 5.33856 3.38656 5.46731C3.43989 5.59606 3.51806 5.71305 3.6166 5.81159C3.71514 5.91013 3.83213 5.9883 3.96088 6.04163C4.08963 6.09496 4.22763 6.12241 4.36698 6.12241H16.1223C16.4038 6.12241 16.6737 6.01061 16.8727 5.81159C17.0717 5.61258 17.1835 5.34266 17.1835 5.06121C17.1835 4.77976 17.0717 4.50983 16.8727 4.31082C16.6737 4.11181 16.4038 4 16.1223 4H4.36698ZM8.61264 6.77488C8.33108 6.77488 8.06105 6.88673 7.86196 7.08583C7.66287 7.28492 7.55102 7.55495 7.55102 7.83651C7.55102 8.11807 7.66287 8.38809 7.86196 8.58719C8.06105 8.78628 8.33108 8.89813 8.61264 8.89813H20.3663C20.6426 8.89039 20.905 8.77518 21.0977 8.57701C21.2904 8.37884 21.3982 8.11333 21.3982 7.83692C21.3982 7.56051 21.2904 7.295 21.0977 7.09683C20.905 6.89866 20.6426 6.78346 20.3663 6.77572L8.61264 6.77488ZM5.02029 10.6122C5.02029 10.0256 5.49527 9.5506 6.08191 9.5506H17.8364C18.1127 9.55835 18.3751 9.67355 18.5678 9.87172C18.7605 10.0699 18.8683 10.3354 18.8683 10.6118C18.8683 10.8882 18.7605 11.1537 18.5678 11.3519C18.3751 11.5501 18.1127 11.6653 17.8364 11.673H6.08191C5.4961 11.673 5.02029 11.198 5.02029 10.6122ZM3.06121 12.4896C2.77976 12.4896 2.50983 12.6015 2.31082 12.8005C2.11181 12.9995 2 13.2694 2 13.5509C2 13.8323 2.11181 14.1022 2.31082 14.3012C2.50983 14.5003 2.77976 14.6121 3.06121 14.6121H14.8165C15.0929 14.6043 15.3552 14.4891 15.5479 14.2909C15.7406 14.0928 15.8484 13.8273 15.8484 13.5509C15.8484 13.2744 15.7406 13.0089 15.5479 12.8108C15.3552 12.6126 15.0929 12.4974 14.8165 12.4896H3.06121ZM5.02029 16.3262C5.02029 15.7395 5.49527 15.2645 6.08191 15.2645H17.8364C18.1179 15.2645 18.3878 15.3763 18.5868 15.5754C18.7858 15.7744 18.8976 16.0443 18.8976 16.3257C18.8976 16.6072 18.7858 16.8771 18.5868 17.0761C18.3878 17.2751 18.1179 17.3869 17.8364 17.3869H6.08191C5.4961 17.3869 5.02029 16.912 5.02029 16.3262ZM12.8575 18.0402C12.576 18.0402 12.3061 18.1521 12.1071 18.3511C11.9081 18.5501 11.7963 18.82 11.7963 19.1015C11.7963 19.3829 11.9081 19.6528 12.1071 19.8518C12.3061 20.0509 12.576 20.1627 12.8575 20.1627H20.9388C21.2202 20.1627 21.4902 20.0509 21.6892 19.8518C21.8882 19.6528 22 19.3829 22 19.1015C22 18.82 21.8882 18.5501 21.6892 18.3511C21.4902 18.1521 21.2202 18.0402 20.9388 18.0402H12.8575Z" fill="white" fill-opacity="0.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.36698 4C4.22763 4 4.08963 4.02745 3.96088 4.08078C3.83213 4.13411 3.71514 4.21228 3.6166 4.31082C3.51806 4.40936 3.43989 4.52635 3.38656 4.6551C3.33323 4.78385 3.30578 4.92185 3.30578 5.06121C3.30578 5.20057 3.33323 5.33856 3.38656 5.46731C3.43989 5.59606 3.51806 5.71305 3.6166 5.81159C3.71514 5.91013 3.83213 5.9883 3.96088 6.04163C4.08963 6.09496 4.22763 6.12241 4.36698 6.12241H12.9391C13.2154 6.11467 13.4778 5.99947 13.6705 5.8013C13.8632 5.60313 13.971 5.33762 13.971 5.06121C13.971 4.7848 13.8632 4.51928 13.6705 4.32111C13.4778 4.12294 13.2154 4.00774 12.9391 4H4.36698ZM8.61264 6.77488C8.33108 6.77488 8.06105 6.88673 7.86196 7.08583C7.66287 7.28492 7.55102 7.55495 7.55102 7.83651C7.55102 8.11807 7.66287 8.38809 7.86196 8.58719C8.06105 8.78628 8.33108 8.89813 8.61264 8.89813H17.1831C17.4594 8.89039 17.7218 8.77518 17.9145 8.57701C18.1072 8.37884 18.215 8.11333 18.215 7.83692C18.215 7.56051 18.1072 7.295 17.9145 7.09683C17.7218 6.89866 17.4594 6.78346 17.1831 6.77572L8.61264 6.77488ZM5.02029 10.6122C5.02029 10.0256 5.49527 9.5506 6.08191 9.5506H14.6532C14.9347 9.5506 15.2046 9.66241 15.4036 9.86142C15.6026 10.0604 15.7144 10.3304 15.7144 10.6118C15.7144 10.8933 15.6026 11.1632 15.4036 11.3622C15.2046 11.5612 14.9347 11.673 14.6532 11.673H6.08191C5.4961 11.673 5.02029 11.198 5.02029 10.6122ZM3.06121 12.4896C2.77976 12.4896 2.50983 12.6015 2.31082 12.8005C2.11181 12.9995 2 13.2694 2 13.5509C2 13.8323 2.11181 14.1022 2.31082 14.3012C2.50983 14.5003 2.77976 14.6121 3.06121 14.6121H11.6333C11.9096 14.6043 12.172 14.4891 12.3647 14.2909C12.5574 14.0928 12.6652 13.8273 12.6652 13.5509C12.6652 13.2744 12.5574 13.0089 12.3647 12.8108C12.172 12.6126 11.9096 12.4974 11.6333 12.4896H3.06121ZM5.02029 16.3262C5.02029 15.7395 5.49527 15.2645 6.08191 15.2645H14.6532C14.9347 15.2645 15.2046 15.3763 15.4036 15.5754C15.6026 15.7744 15.7144 16.0443 15.7144 16.3257C15.7144 16.6072 15.6026 16.8771 15.4036 17.0761C15.2046 17.2751 14.9347 17.3869 14.6532 17.3869H6.08191C5.4961 17.3869 5.02029 16.912 5.02029 16.3262ZM12.8575 18.0402C12.576 18.0402 12.3061 18.1521 12.1071 18.3511C11.9081 18.5501 11.7963 18.82 11.7963 19.1015C11.7963 19.3829 11.9081 19.6528 12.1071 19.8518C12.3061 20.0509 12.576 20.1627 12.8575 20.1627H17.6739C17.9554 20.1627 18.2253 20.0509 18.4243 19.8518C18.6233 19.6528 18.7351 19.3829 18.7351 19.1015C18.7351 18.82 18.6233 18.5501 18.4243 18.3511C18.2253 18.1521 17.9554 18.0402 17.6739 18.0402H12.8575Z" fill="white"/>
<defs>
<linearGradient id="paint0_linear_974_321445" x1="0.5" y1="0.5" x2="24" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#6D7DF2"/>
<stop offset="1" stop-color="#4E13BE"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1003_325088)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.506816 19.883C0.428692 19.8831 0.351614 19.8651 0.281598 19.8304C0.211582 19.7958 0.150522 19.7454 0.103185 19.6833C0.0558469 19.6211 0.0235119 19.5489 0.00870332 19.4721C-0.00610523 19.3954 -0.0029867 19.3163 0.0178155 19.241L4.28982 3.74504C4.33218 3.591 4.41037 3.44917 4.51801 3.33112C4.62565 3.21307 4.75969 3.12215 4.90917 3.06579C5.05866 3.00942 5.21936 2.98922 5.37814 3.00682C5.53693 3.02441 5.6893 3.07932 5.82282 3.16704L11.4448 6.85404C11.6098 6.96207 11.8026 7.01961 11.9998 7.01961C12.197 7.01961 12.3899 6.96207 12.5548 6.85404L18.1998 3.16504C18.3334 3.07754 18.4859 3.02288 18.6446 3.00552C18.8034 2.98815 18.9641 3.00858 19.1134 3.06513C19.2628 3.12169 19.3967 3.21276 19.5042 3.33092C19.6116 3.44909 19.6896 3.59099 19.7318 3.74504L23.9818 19.242C24.0025 19.3173 24.0055 19.3963 23.9905 19.473C23.9756 19.5496 23.9431 19.6217 23.8956 19.6837C23.8482 19.7456 23.7871 19.7958 23.717 19.8302C23.6469 19.8646 23.5699 19.8824 23.4918 19.882H18.0698C19.0569 18.7383 19.6 17.2778 19.5998 15.767V15.59C19.5997 14.1118 19.062 12.684 18.0868 11.573L17.3898 8.07804C17.3756 8.00506 17.3431 7.93688 17.2953 7.87993C17.2475 7.82299 17.186 7.77914 17.1166 7.75253C17.0472 7.72592 16.9721 7.71742 16.8985 7.72784C16.8249 7.73825 16.7551 7.76723 16.6958 7.81204L14.0698 9.78104C13.9775 9.85029 13.8705 9.89724 13.757 9.91823C13.6435 9.93922 13.5268 9.93368 13.4158 9.90204C12.49 9.63752 11.5086 9.63752 10.5828 9.90204C10.472 9.93368 10.3554 9.93921 10.2421 9.91822C10.1288 9.89722 10.0219 9.85027 9.92982 9.78104L7.30182 7.81004C7.24258 7.7658 7.17305 7.73738 7.09979 7.72747C7.02652 7.71756 6.95194 7.72649 6.88309 7.75341C6.81423 7.78034 6.75337 7.82436 6.70626 7.88134C6.65914 7.93831 6.62733 8.00636 6.61382 8.07904L5.93882 11.731C4.95229 12.7339 4.39953 14.0843 4.39982 15.491V15.824C4.39982 17.298 4.92682 18.724 5.88782 19.844L5.91982 19.882L0.506816 19.883Z" fill="#29E154"/>
<path d="M9.21289 16.8431H10.7329V13.2971H9.44289L9.21289 16.8431ZM14.7859 16.8431H13.2659V13.2971H14.5559L14.7859 16.8431Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_1003_325088">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_968_321238)">
<path d="M13.2188 7.96882V7.78132C10.7812 7.78132 12.9844 9.37507 13.2188 7.96882ZM14.3438 7.12507C14.6719 6.14069 16.3594 6.04694 16.5469 7.26569H16.0781C15.9375 6.56257 14.7656 6.51569 14.7656 7.78132C14.7656 8.48444 15.8438 8.90632 16.0781 8.06257H16.5469C16.2656 9.60944 13.7812 9.04694 14.3438 7.12507ZM7.5 6.37507H7.96875V6.79694C8.20312 6.23444 9.23438 6.18757 9.42188 6.84382C9.75 6.14069 11.0625 6.18757 11.0625 7.17194V8.90632H10.5469V7.31257C10.5469 6.60944 9.51562 6.60944 9.51562 7.35944V8.90632H9V7.26569C8.8853 6.82694 8.30086 6.73928 8.0625 7.12507L7.96875 7.35944V8.90632H7.5V6.37507ZM8.57812 18.5157C6.375 18.5157 5.01562 16.9688 5.01562 14.4844C5.01562 12.0001 6.375 10.5001 8.57812 10.5001C10.7812 10.5001 12.1875 12.0469 12.1875 14.4844C12.1875 16.9219 10.8281 18.5157 8.57812 18.5157ZM12.7031 8.90632C11.3438 9.23444 11.1562 7.50007 12.5625 7.45319L13.2188 7.40632V7.21882C13.2656 6.65632 12.3281 6.60944 12.1875 7.12507H11.7188C11.7205 7.00934 11.7529 6.89613 11.8125 6.79694C12.1875 6.14069 13.7344 6.14069 13.7344 7.17194V8.90632H13.2656V8.48444C13.2077 8.59107 13.1275 8.68396 13.0304 8.75676C12.9333 8.82957 12.8217 8.88058 12.7031 8.90632ZM15.8906 18.5157C14.2031 18.4219 13.0312 17.6251 12.9375 16.2188H14.0625C15.1406 19.5938 20.9062 15.9844 15.2344 14.8126C14.3438 14.6251 13.6875 14.2032 13.4062 13.6876C11.625 10.2188 18.5156 9.18757 18.7031 12.7501H17.625C17.2969 10.4532 13.0312 11.7188 14.5781 13.3126C15.2344 13.9688 16.5938 13.9219 17.5781 14.3438C19.9219 15.4219 18.7969 18.6094 15.8906 18.5157ZM8.57812 11.4844C7.07812 11.4844 6.14062 12.6563 6.14062 14.4844C6.14062 16.3126 7.07812 17.4844 8.57812 17.4844C10.0781 17.4844 11.0625 16.3594 11.0625 14.4844C11.0625 12.6094 10.125 11.4844 8.57812 11.4844Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_968_321238">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -0,0 +1,22 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_177_2091)">
<path d="M2.5879 14.0127C2.5879 14.9291 2.78904 15.6327 3.05195 16.0584C3.39664 16.6159 3.91075 16.8521 4.43488 16.8521C5.11092 16.8521 5.72937 16.6843 6.92118 15.0359C7.87597 13.7148 9.00102 11.8603 9.75801 10.6976L11.04 8.72798C11.9305 7.36006 12.9612 5.83941 14.1431 4.80866C15.1079 3.96738 16.1486 3.5 17.196 3.5C18.9546 3.5 20.6296 4.51905 21.9116 6.43031C23.3145 8.52351 23.9956 11.16 23.9956 13.8809C23.9956 15.4983 23.6768 16.6868 23.1343 17.6257C22.6101 18.5338 21.5886 19.441 19.8701 19.441V16.8521C21.3415 16.8521 21.7088 15.5 21.7088 13.9526C21.7088 11.7476 21.1947 9.30052 20.0621 7.55203C19.2584 6.31181 18.2168 5.55396 17.0708 5.55396C15.8314 5.55396 14.8341 6.48874 13.7132 8.15545C13.1173 9.04096 12.5056 10.1201 11.8187 11.3378L11.0625 12.6773C9.54351 15.3706 9.15876 15.9841 8.39928 16.9964C7.06807 18.7692 5.93133 19.441 4.43488 19.441C2.65968 19.441 1.53712 18.6723 0.841894 17.5139C0.274361 16.57 -0.00439453 15.3314 -0.00439453 13.9201L2.5879 14.0127Z" fill="#0081FB"/>
<path d="M2.03516 6.61308C3.22363 4.78112 4.93877 3.5 6.90593 3.5C8.04518 3.5 9.17774 3.83718 10.3604 4.80283C11.654 5.85861 13.0328 7.5971 14.7529 10.4623L15.3697 11.4905C16.8586 13.971 17.7058 15.2471 18.2015 15.8489C18.8392 16.6217 19.2857 16.8521 19.8657 16.8521C21.3371 16.8521 21.7043 15.5 21.7043 13.9526L23.9912 13.8809C23.9912 15.4983 23.6724 16.6868 23.1299 17.6257C22.6057 18.5338 21.5842 19.441 19.8657 19.441C18.7974 19.441 17.851 19.209 16.8044 18.2217C15.9998 17.4638 15.0592 16.1176 14.3356 14.9074L12.1831 11.3119C11.1032 9.5075 10.1125 8.16212 9.53912 7.55284C8.92233 6.8977 8.12946 6.10649 6.8642 6.10649C5.84013 6.10649 4.97047 6.82508 4.2427 7.92426L2.03516 6.61308Z" fill="url(#paint0_linear_177_2091)"/>
<path d="M6.86861 6.10649C5.84454 6.10649 4.97488 6.82508 4.24709 7.92426C3.21802 9.47746 2.5879 11.791 2.5879 14.0127C2.5879 14.9291 2.78904 15.6327 3.05195 16.0584L0.841894 17.5139C0.274361 16.57 -0.00439453 15.3314 -0.00439453 13.9201C-0.00439453 11.3537 0.700011 8.67873 2.03956 6.61308C3.22804 4.78111 4.94316 3.5 6.91032 3.5L6.86861 6.10649Z" fill="url(#paint1_linear_177_2091)"/>
</g>
<defs>
<linearGradient id="paint0_linear_177_2091" x1="3.38795" y1="13.2649" x2="21.4426" y2="14.2616" gradientUnits="userSpaceOnUse">
<stop stop-color="#0064E1"/>
<stop offset="0.4" stop-color="#0064E1"/>
<stop offset="0.83" stop-color="#0073EE"/>
<stop offset="1" stop-color="#0082FB"/>
</linearGradient>
<linearGradient id="paint1_linear_177_2091" x1="3.75135" y1="15.1011" x2="3.75135" y2="9.00842" gradientUnits="userSpaceOnUse">
<stop stop-color="#0082FB"/>
<stop offset="1" stop-color="#0064E0"/>
</linearGradient>
<clipPath id="clip0_177_2091">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,22 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.0548 2.49074C21.0548 3.31406 20.3822 3.98149 19.5525 3.98149C18.7228 3.98149 18.0503 3.31406 18.0503 2.49074C18.0503 1.66743 18.7228 1 19.5525 1C20.3822 1 21.0548 1.66743 21.0548 2.49074Z" fill="url(#paint0_linear_1015_212408)"/>
<path d="M21.0548 2.49074C21.0548 3.31406 20.3822 3.98149 19.5525 3.98149C18.7228 3.98149 18.0503 3.31406 18.0503 2.49074C18.0503 1.66743 18.7228 1 19.5525 1C20.3822 1 21.0548 1.66743 21.0548 2.49074Z" fill="black"/>
<path d="M15.9473 3.98147C15.9473 4.80478 15.2748 5.47221 14.4451 5.47221C13.6154 5.47221 12.9429 4.80478 12.9429 3.98147C12.9429 3.15815 13.6154 2.49072 14.4451 2.49072C15.2748 2.49072 15.9473 3.15815 15.9473 3.98147Z" fill="url(#paint1_linear_1015_212408)"/>
<path d="M15.9473 3.98147C15.9473 4.80478 15.2748 5.47221 14.4451 5.47221C13.6154 5.47221 12.9429 4.80478 12.9429 3.98147C12.9429 3.15815 13.6154 2.49072 14.4451 2.49072C15.2748 2.49072 15.9473 3.15815 15.9473 3.98147Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.36806 11.0707C7.36806 13.6603 8.64858 15.953 10.6155 17.3595C11.7915 16.3135 12.5314 14.7945 12.5314 13.104V8.92791C12.5314 8.29889 12.9591 7.74908 13.5722 7.58965L21.2525 5.59254C22.1362 5.36278 23 6.02432 23 6.93078V12.0122C23 18.0359 18.0791 22.9191 12.009 22.9191H11.991C5.92085 22.9191 1 18.0359 1 12.0122V8.50531C1 7.874 1.43071 7.32276 2.04686 7.16551L5.62675 6.25188C6.50887 6.02675 7.36806 6.68783 7.36806 7.5917V11.0707ZM2.59324 12.0122C2.59324 14.1092 3.29068 16.0445 4.46793 17.6022C5.01957 18.3321 5.85979 18.8168 6.7747 18.8168C7.64565 18.8168 8.4714 18.6248 9.21139 18.2813C7.11318 16.5706 5.77482 13.9758 5.77483 11.0707V7.84658L2.59324 8.6586V12.0122Z" fill="url(#paint2_linear_1015_212408)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.36806 11.0707C7.36806 13.6603 8.64858 15.953 10.6155 17.3595C11.7915 16.3135 12.5314 14.7945 12.5314 13.104V8.92791C12.5314 8.29889 12.9591 7.74908 13.5722 7.58965L21.2525 5.59254C22.1362 5.36278 23 6.02432 23 6.93078V12.0122C23 18.0359 18.0791 22.9191 12.009 22.9191H11.991C5.92085 22.9191 1 18.0359 1 12.0122V8.50531C1 7.874 1.43071 7.32276 2.04686 7.16551L5.62675 6.25188C6.50887 6.02675 7.36806 6.68783 7.36806 7.5917V11.0707ZM2.59324 12.0122C2.59324 14.1092 3.29068 16.0445 4.46793 17.6022C5.01957 18.3321 5.85979 18.8168 6.7747 18.8168C7.64565 18.8168 8.4714 18.6248 9.21139 18.2813C7.11318 16.5706 5.77482 13.9758 5.77483 11.0707V7.84658L2.59324 8.6586V12.0122Z" fill="black"/>
<defs>
<linearGradient id="paint0_linear_1015_212408" x1="14.8" y1="7.73027" x2="13.4094" y2="20.633" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="#2E2E2E"/>
</linearGradient>
<linearGradient id="paint1_linear_1015_212408" x1="14.8002" y1="7.73025" x2="13.4096" y2="20.633" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="#2E2E2E"/>
</linearGradient>
<linearGradient id="paint2_linear_1015_212408" x1="14.8001" y1="7.73013" x2="13.4095" y2="20.6329" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="#2E2E2E"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,9 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.9215 3C16.9812 3 17.8401 3.8343 17.8401 4.863V16.1139C17.8474 16.2863 17.9226 16.4491 18.0499 16.5681C18.1771 16.6872 18.3464 16.7531 18.5221 16.752C18.6976 16.7528 18.8667 16.6868 18.9937 16.5678C19.1207 16.4488 19.1958 16.2861 19.2032 16.1139V9.38909C19.2045 9.14562 19.2546 8.90479 19.3508 8.68035C19.4469 8.4559 19.5871 8.25225 19.7634 8.08101C19.9397 7.90977 20.1486 7.77429 20.3782 7.68232C20.6078 7.59035 20.8536 7.54369 21.1016 7.54499C21.3496 7.54369 21.5955 7.59038 21.8252 7.68241C22.0549 7.77444 22.2638 7.90999 22.4401 8.08133C22.6164 8.25266 22.7566 8.45642 22.8527 8.68097C22.9487 8.90551 22.9988 9.14644 23 9.38999V15.2949C22.999 15.4496 22.9355 15.5977 22.8235 15.7065C22.7114 15.8154 22.56 15.8761 22.4023 15.8754C22.3242 15.8759 22.2468 15.8612 22.1744 15.8323C22.102 15.8034 22.0362 15.7608 21.9806 15.7069C21.925 15.6529 21.8808 15.5888 21.8504 15.5181C21.8201 15.4474 21.8042 15.3716 21.8038 15.2949V9.38999C21.8033 9.29993 21.7847 9.21084 21.7492 9.12782C21.7136 9.04479 21.6618 8.96946 21.5966 8.90611C21.5314 8.84276 21.4541 8.79264 21.3692 8.75861C21.2842 8.72459 21.1933 8.70732 21.1016 8.70779C21.0099 8.70732 20.9189 8.72459 20.834 8.75861C20.7491 8.79264 20.6718 8.84276 20.6066 8.90611C20.5414 8.96946 20.4895 9.04479 20.454 9.12782C20.4184 9.21084 20.3999 9.29993 20.3994 9.38999V16.1148C20.3981 16.3555 20.3485 16.5937 20.2534 16.8156C20.1584 17.0375 20.0197 17.2389 19.8454 17.4082C19.6711 17.5775 19.4645 17.7115 19.2374 17.8024C19.0104 17.8934 18.7673 17.9395 18.5221 17.9382C18.2769 17.9395 18.0338 17.8934 17.8067 17.8024C17.5797 17.7115 17.3731 17.5775 17.1988 17.4082C17.0245 17.2389 16.8858 17.0375 16.7907 16.8156C16.6957 16.5937 16.6461 16.3555 16.6447 16.1148V4.8648C16.6372 4.68199 16.5576 4.5092 16.4229 4.3828C16.2882 4.2564 16.1088 4.18625 15.9224 4.1871C15.7361 4.186 15.5566 4.25593 15.4217 4.38217C15.2868 4.5084 15.207 4.68109 15.1992 4.8639L15.1983 19.1775C15.1953 19.6635 14.9959 20.1286 14.6439 20.4703C14.2919 20.8121 13.816 21.0026 13.3209 21C13.0757 21.0013 12.8326 20.9551 12.6056 20.8642C12.3785 20.7733 12.1719 20.6393 11.9976 20.47C11.8233 20.3007 11.6846 20.0993 11.5896 19.8774C11.4945 19.6555 11.4449 19.4173 11.4436 19.1766V17.436C11.4436 17.1156 11.7113 16.8555 12.0413 16.8555C12.3713 16.8555 12.6389 17.1156 12.6389 17.436V19.1766C12.6389 19.4133 12.7691 19.632 12.9799 19.7508C13.1908 19.8687 13.4511 19.8687 13.6619 19.7508C13.7654 19.6932 13.8514 19.6097 13.9113 19.5089C13.9712 19.408 14.0028 19.2933 14.0029 19.1766V4.863C14.0029 3.8343 14.8618 3 15.9215 3ZM10.7203 3C11.78 3 12.6389 3.8343 12.6389 4.863V15.2337C12.6386 15.3103 12.6228 15.3862 12.5926 15.4569C12.5623 15.5275 12.5182 15.5917 12.4627 15.6456C12.4072 15.6995 12.3414 15.7422 12.2691 15.7711C12.1967 15.8 12.1193 15.8147 12.0413 15.8142C11.9632 15.8147 11.8858 15.8 11.8134 15.7711C11.7411 15.7422 11.6753 15.6995 11.6198 15.6456C11.5643 15.5917 11.5202 15.5275 11.4899 15.4569C11.4597 15.3862 11.4439 15.3103 11.4436 15.2337V4.863C11.4424 4.67578 11.3655 4.49669 11.2299 4.36506C11.0943 4.23344 10.911 4.16004 10.7203 4.161C10.5296 4.16004 10.3464 4.23344 10.2108 4.36506C10.0751 4.49669 9.99829 4.67578 9.99708 4.863V17.4747C9.99417 17.9661 9.79268 18.4362 9.43688 18.7819C9.08108 19.1275 8.60009 19.3203 8.09958 19.3179C7.59892 19.3205 7.11769 19.1278 6.76169 18.7822C6.40569 18.4365 6.20408 17.9662 6.20117 17.4747V9.38999C6.20069 9.29993 6.18214 9.21084 6.1466 9.12782C6.11105 9.04479 6.05919 8.96946 5.99399 8.90611C5.92879 8.84276 5.85152 8.79264 5.76658 8.75861C5.68165 8.72459 5.59073 8.70732 5.499 8.70779C5.40727 8.70732 5.31635 8.72459 5.23142 8.75861C5.14648 8.79264 5.06921 8.84276 5.00401 8.90611C4.93881 8.96946 4.88695 9.04479 4.8514 9.12782C4.81586 9.21084 4.79731 9.29993 4.79683 9.38999V12.81C4.79551 13.0535 4.74536 13.2943 4.64924 13.5187C4.55312 13.7432 4.41292 13.9468 4.23663 14.1181C4.06035 14.2893 3.85143 14.4248 3.62182 14.5168C3.39221 14.6087 3.1464 14.6554 2.89842 14.6541C2.65044 14.6554 2.40462 14.6087 2.17501 14.5168C1.9454 14.4248 1.73649 14.2893 1.5602 14.1181C1.38392 13.9468 1.24371 13.7432 1.14759 13.5187C1.05147 13.2943 1.00132 13.0535 1 12.81L1 11.5698C1 11.2485 1.26767 10.9884 1.59767 10.9884C1.92767 10.9884 2.19625 11.2494 2.19625 11.5698V12.81C2.19625 13.1862 2.51067 13.4913 2.89842 13.4913C3.28617 13.4913 3.60058 13.1862 3.60058 12.81V9.38909C3.60349 8.89769 3.80499 8.42753 4.16078 8.08191C4.51658 7.73629 4.99758 7.5435 5.49808 7.54589C5.99874 7.54326 6.47998 7.73595 6.83598 8.08159C7.19197 8.42723 7.39359 8.89753 7.3965 9.38909V17.4747C7.3965 17.8518 7.71092 18.1569 8.09958 18.1569C8.48733 18.1569 8.80175 17.8518 8.80175 17.4747V4.863C8.80175 3.8343 9.66067 3 10.7203 3Z" fill="url(#paint0_linear_1003_325107)"/>
<defs>
<linearGradient id="paint0_linear_1003_325107" x1="1" y1="12" x2="23" y2="12" gradientUnits="userSpaceOnUse">
<stop stop-color="#E2167E"/>
<stop offset="1" stop-color="#FE603C"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,12 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.5701 13.7056H17.1411V17.1245H20.5701V13.7056Z" fill="#FA500F"/>
<path d="M24.0002 17.1233H13.7144V20.5423H24.0002V17.1233Z" fill="#E10500"/>
<path d="M13.7142 13.7056H10.2852V17.1245H13.7142V13.7056Z" fill="#FA500F"/>
<path d="M6.85622 13.7056H3.42725V17.1245H6.85622V13.7056Z" fill="#FA500F"/>
<path d="M10.2847 17.1233H0V20.5423H10.2847V17.1233Z" fill="#E10500"/>
<path d="M20.5712 6.86914H13.7144V10.288H20.5712V6.86914Z" fill="#FFAF00"/>
<path d="M10.2841 6.86914H3.42725V10.288H10.2841V6.86914Z" fill="#FFAF00"/>
<path d="M20.5688 10.2864H3.42725V13.7053H20.5688V10.2864Z" fill="#FF8205"/>
<path d="M20.5701 3.44995H17.1411V6.86886H20.5701V3.44995Z" fill="#FFD800"/>
<path d="M6.85622 3.44995H3.42725V6.86886H6.85622V3.44995Z" fill="#FFD800"/>
</svg>

After

Width:  |  Height:  |  Size: 865 B

View File

@@ -0,0 +1,9 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.16748 11.386H4.41117V13.6131H2.16748V11.386ZM10.8396 13.6139H13.0833V15.841H10.8396V13.6139ZM17.5706 15.841H15.3269V17.7677H19.5117V13.6139H17.5706V15.841Z" fill="#624AFF"/>
<path d="M13.0833 11.386H15.3269V13.6131H13.0833V11.386ZM2.16748 9.15894H4.41117V11.386H2.16748V9.15894Z" fill="#36CFD1"/>
<path d="M19.5117 11.386H21.7554V13.6131H19.5117V11.386Z" fill="#624AFF"/>
<path d="M19.5117 9.15894H21.7554V11.386H19.5117V9.15894Z" fill="#36CFD1"/>
<path d="M15.3271 7.23218V9.15884H17.5708V11.3859H19.5119V7.23218H15.3271Z" fill="#624AFF"/>
<path d="M8.59619 11.386H10.8399V13.6131H8.59619V11.386Z" fill="#36CFD1"/>
<path d="M6.35216 9.15884H8.59585V7.23218H4.41113V11.3859H6.35216V9.15884ZM6.35216 13.6139H4.41113V17.7676H8.59585V15.8409H6.35216V13.6139Z" fill="#624AFF"/>
</svg>

After

Width:  |  Height:  |  Size: 889 B

View File

@@ -0,0 +1,75 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1004_325132)">
<path d="M5.33654 12.6052C5.32143 12.389 5.29198 12.1726 5.2946 11.9566C5.29847 11.6371 5.36945 11.3285 5.52606 11.0436C5.64028 10.8357 5.78843 10.6525 5.96892 10.4965C6.14747 10.3421 6.3429 10.2093 6.5607 10.1123C6.7265 10.0384 6.89839 9.97835 7.08161 9.9618C7.21022 9.95018 7.34031 9.9351 7.46851 9.9423C7.71936 9.9564 7.96003 10.0193 8.1901 10.1202C8.36697 10.1977 8.53314 10.2918 8.68729 10.4066C8.82885 10.5119 8.95317 10.6335 9.05931 10.773C9.18709 10.941 9.28638 11.1239 9.34234 11.3254C9.38011 11.4615 9.41245 11.6008 9.42706 11.7406C9.44581 11.9202 9.44494 12.1017 9.4514 12.2824C9.45605 12.4126 9.45383 12.5431 9.46356 12.6728C9.48182 12.9163 9.5078 13.1588 9.59208 13.3918C9.65062 13.5536 9.72821 13.7056 9.81912 13.8557C9.75081 13.9311 9.685 14.001 9.62 14.0715C9.60327 14.0897 9.58956 14.1105 9.57368 14.1294C9.50368 14.2128 9.4334 14.296 9.36323 14.3793C9.21228 14.3214 9.06431 14.254 8.90954 14.2085C8.76117 14.1649 8.60685 14.1366 8.45315 14.1153C8.28699 14.0922 8.11878 14.0784 7.95101 14.0723C7.6943 14.0629 7.43719 14.0611 7.18026 14.0614C7.062 14.0615 6.94367 14.0732 6.82554 14.0818C6.76714 14.0861 6.70911 14.0951 6.64622 14.0975C6.61618 14.016 6.58867 13.9396 6.56599 13.8619C6.53214 13.746 6.51888 13.6224 6.42266 13.5317C6.39436 13.505 6.36746 13.475 6.3477 13.4421C6.27837 13.3265 6.21178 13.2093 6.14544 13.0921C6.09994 13.0116 6.05384 12.9394 5.96011 12.895C5.84749 12.8416 5.74732 12.7634 5.64088 12.6973C5.60632 12.6759 5.57103 12.6515 5.53249 12.6411C5.4687 12.6238 5.40201 12.6166 5.33654 12.6052Z" fill="#E95A0F"/>
<path d="M17.1081 14.0585C16.9771 14.0589 16.8461 14.0594 16.7101 14.0545C16.7086 13.9639 16.7126 13.8785 16.7151 13.7932C16.7154 13.7807 16.7116 13.7615 16.7033 13.7571C16.6945 13.7525 16.6774 13.7607 16.665 13.7657C16.6557 13.7694 16.648 13.777 16.6259 13.7925C16.6233 13.7573 16.6187 13.7331 16.6202 13.7093C16.6255 13.6292 16.6443 13.5483 16.6372 13.4694C16.6261 13.3478 16.6524 13.3145 16.5028 13.3163C16.4615 13.3168 16.4634 13.2866 16.4666 13.2597C16.472 13.2127 16.4824 13.1662 16.4858 13.1192C16.4892 13.0733 16.4866 13.0271 16.4866 12.9826C16.4588 12.9777 16.4394 12.9735 16.4199 12.9709C16.3718 12.9647 16.354 12.947 16.3647 12.8933C16.3781 12.8266 16.374 12.7567 16.3786 12.6883C16.3807 12.6579 16.3681 12.6408 16.3373 12.6378C16.2925 12.6335 16.2476 12.6266 16.2028 12.6275C16.152 12.6285 16.1463 12.6033 16.1511 12.5636C16.159 12.4975 16.1647 12.4311 16.1715 12.3648C16.175 12.3306 16.1788 12.2965 16.1835 12.2533C16.1192 12.25 16.0621 12.2448 16.005 12.2451C15.9689 12.2452 15.9487 12.2302 15.9444 12.1983C15.9316 12.1031 15.9174 12.0078 15.9117 11.912C15.9089 11.8644 15.8906 11.8514 15.8463 11.8507C15.7452 11.849 15.6442 11.8444 15.5431 11.8406C15.4642 11.8376 15.4327 11.8112 15.42 11.7355C15.4119 11.6869 15.3904 11.6526 15.3353 11.6483C15.251 11.6417 15.1664 11.6378 15.0826 11.6275C15.0028 11.6177 14.9237 11.6018 14.8446 11.5874C14.7899 11.5774 14.7356 11.5652 14.6812 11.554C14.7303 11.3103 14.8241 11.0827 14.9674 10.8788C15.164 10.599 15.4187 10.3771 15.72 10.2066C15.8926 10.1089 16.0744 10.0338 16.2687 9.98785C16.4501 9.94499 16.6348 9.92716 16.82 9.94128C17.183 9.96895 17.5152 10.0895 17.8265 10.2721C17.9993 10.3734 18.1558 10.4936 18.2868 10.6412C18.3752 10.7407 18.4524 10.8512 18.5234 10.9636C18.6407 11.1492 18.7068 11.3557 18.7478 11.5688C18.7673 11.6697 18.7785 11.7728 18.784 11.8754C18.7922 12.0303 18.7922 12.1855 18.7911 12.346C18.6008 12.4203 18.4145 12.4877 18.2297 12.5585C18.145 12.591 18.0571 12.6156 17.9928 12.6899C17.9413 12.7493 17.8767 12.7994 17.8126 12.8467C17.7047 12.9264 17.6118 13.0165 17.5394 13.1296C17.5031 13.1862 17.4533 13.2398 17.3978 13.2786C17.2741 13.3651 17.2083 13.4801 17.1842 13.6229C17.1596 13.7682 17.1335 13.9133 17.1081 14.0585Z" fill="#ED6D7B"/>
<path d="M4.46465 15.8022C4.457 15.9901 4.45558 16.1785 4.44008 16.3658C4.42158 16.5893 4.37155 16.8066 4.27897 17.0143C4.18094 17.2343 4.04272 17.4252 3.8597 17.5833C3.68461 17.7346 3.48285 17.8399 3.25706 17.9066C3.02082 17.9763 2.77987 17.9929 2.53811 17.9759C2.2901 17.9586 2.06021 17.877 1.8548 17.7348C1.63455 17.5824 1.4677 17.3853 1.33122 17.1604C1.22679 16.9883 1.15583 16.8041 1.1221 16.608C1.09662 16.4599 1.09697 16.3105 1.11771 16.16C1.14632 15.9525 1.21596 15.7597 1.31335 15.5753C1.43988 15.3356 1.61087 15.1312 1.84029 14.9793C2.01258 14.8653 2.20462 14.7916 2.41146 14.7621C2.50698 14.7485 2.60419 14.7446 2.70081 14.7403C2.82884 14.7345 2.95713 14.7343 3.08515 14.7285C3.17821 14.7242 3.27102 14.7148 3.37042 14.7107C3.38511 14.7295 3.39482 14.7447 3.4013 14.761C3.45278 14.8913 3.51647 15.0145 3.60426 15.1259C3.68863 15.233 3.76577 15.3456 3.85148 15.4516C3.89417 15.5044 3.94264 15.5573 3.9997 15.5934C4.08368 15.6464 4.17654 15.6867 4.2678 15.7279C4.33153 15.7566 4.3989 15.7777 4.46465 15.8022Z" fill="#EC663E"/>
<path d="M14.9971 7.73083C15.0384 7.41491 15.1476 7.12721 15.3536 6.87514C15.5316 6.6574 15.7459 6.48751 16.0038 6.36951C16.1635 6.29643 16.3302 6.24559 16.507 6.23413C16.6167 6.22702 16.7275 6.21732 16.8366 6.22496C17.0173 6.23761 17.1921 6.28243 17.3582 6.35529C17.5694 6.44792 17.7551 6.57587 17.9091 6.74455C18.0756 6.9268 18.1848 7.13937 18.2521 7.37413C18.311 7.57954 18.3208 7.79 18.3033 7.99883C18.2775 8.30727 18.1744 8.5927 17.9717 8.83654C17.8572 8.97423 17.7268 9.09657 17.5668 9.19388C17.5093 9.13428 17.4578 9.0755 17.4084 9.01499C17.3468 8.93939 17.2891 8.86065 17.2257 8.78653C17.1759 8.72836 17.1217 8.67355 17.0664 8.62024C17.0273 8.58256 16.9857 8.5463 16.9406 8.51588C16.8857 8.47887 16.8255 8.44947 16.7685 8.41534C16.6764 8.36016 16.5833 8.31266 16.4746 8.28899C16.342 8.2601 16.2041 8.24036 16.0866 8.16331C16.071 8.15305 16.0493 8.15065 16.0299 8.14694C15.8897 8.12009 15.7526 8.08705 15.6272 8.0145C15.5705 7.98168 15.5013 7.96996 15.442 7.94054C15.3896 7.91457 15.3464 7.8704 15.2934 7.84655C15.1969 7.80317 15.0961 7.7689 14.9971 7.73083Z" fill="#EA580E"/>
<path d="M6.71733 9.30394C6.61429 9.24357 6.50481 9.19146 6.40973 9.1209C6.26948 9.01681 6.14801 8.89175 6.05348 8.74484C5.93071 8.55407 5.83996 8.35036 5.81494 8.12463C5.80087 7.99771 5.78844 7.86899 5.79458 7.74197C5.80354 7.55664 5.84804 7.37705 5.9207 7.20353C6.01677 6.97411 6.16303 6.78096 6.35164 6.61877C6.54791 6.44998 6.77815 6.34192 7.03071 6.27542C7.24005 6.2203 7.45375 6.20983 7.66643 6.22578C7.92567 6.24522 8.16262 6.33902 8.37503 6.48592C8.56228 6.61542 8.72015 6.77356 8.8422 6.9704C8.718 7.05849 8.5957 7.14155 8.4709 7.22087C8.28473 7.33918 8.09775 7.45562 7.94773 7.61939C7.85193 7.72398 7.76039 7.8344 7.65224 7.92563C7.46863 8.08051 7.35007 8.28458 7.20512 8.46742C7.0759 8.63042 6.98008 8.8191 6.87453 8.99924C6.81677 9.09782 6.76939 9.20218 6.71733 9.30394Z" fill="#F8AB00"/>
<path d="M12.546 17.9157C12.4656 17.9332 12.3861 17.9591 12.3048 17.9662C12.1793 17.9772 12.0525 17.9815 11.9266 17.9774C11.7159 17.9705 11.5127 17.9275 11.3185 17.8431C11.1542 17.7717 11.0069 17.6788 10.8766 17.5581C10.6151 17.3159 10.4186 17.0354 10.3373 16.688C10.3215 16.6207 10.316 16.5504 10.3129 16.4811C10.3065 16.3333 10.3106 16.1848 10.2995 16.0373C10.2895 15.9046 10.2651 15.7728 10.2515 15.6358C10.2684 15.6212 10.2856 15.6138 10.2926 15.6011C10.3441 15.5078 10.4248 15.4401 10.5004 15.3672C10.5645 15.3054 10.6168 15.2316 10.6834 15.1729C10.7595 15.1056 10.8125 15.0285 10.8398 14.9328C10.8701 14.8264 10.9018 14.7204 10.9328 14.6143C11.0201 14.6332 11.1069 14.6548 11.1949 14.6704C11.2836 14.6861 11.3731 14.6979 11.4628 14.7075C11.5549 14.7173 11.6475 14.7224 11.7448 14.7352C11.757 14.9061 11.7619 15.0715 11.7722 15.2366C11.7796 15.3539 11.7874 15.4719 11.8074 15.5875C11.8338 15.7396 11.8696 15.8904 11.9063 16.0407C11.9444 16.1968 11.9501 16.3585 12.0197 16.5099C12.1303 16.7507 12.2189 17.0011 12.3277 17.2427C12.4059 17.4162 12.4638 17.5929 12.4919 17.7802C12.499 17.8269 12.5274 17.8706 12.546 17.9157Z" fill="#EA5227"/>
<path d="M12.5502 17.9155C12.5272 17.8706 12.4988 17.8269 12.4917 17.7802C12.4636 17.5929 12.4057 17.4163 12.3275 17.2427C12.2187 17.0011 12.1301 16.7507 12.0195 16.5099C11.95 16.3585 11.9442 16.1969 11.9061 16.0407C11.8694 15.8905 11.8336 15.7397 11.8072 15.5875C11.7872 15.4719 11.7794 15.3539 11.772 15.2366C11.7617 15.0715 11.7568 14.9061 11.7495 14.7359C11.8428 14.734 11.9363 14.7411 12.0295 14.739C12.18 14.7355 12.3303 14.726 12.4854 14.7241C12.4953 14.7639 12.499 14.7989 12.5059 14.8332C12.5365 14.9846 12.5662 15.1361 12.6001 15.2867C12.61 15.3304 12.6256 15.3762 12.6513 15.4124C12.7293 15.5221 12.8126 15.6285 12.8959 15.7346C12.9418 15.7931 12.9862 15.8547 13.0414 15.904C13.1355 15.9882 13.2381 16.0633 13.3362 16.1433C13.467 16.2501 13.6025 16.3483 13.7735 16.386C13.7555 16.5039 13.7474 16.6243 13.7172 16.7391C13.665 16.9371 13.5823 17.1237 13.4622 17.2937C13.32 17.4948 13.1454 17.6617 12.9217 17.7721C12.8045 17.8299 12.6773 17.8682 12.5502 17.9155Z" fill="#EA5330"/>
<path d="M22.6633 15.3872C22.7199 15.4806 22.7881 15.5693 22.8303 15.6685C22.8883 15.8048 22.9365 15.9468 22.9705 16.0905C23.0027 16.226 23.0056 16.3656 22.9922 16.507C22.977 16.666 22.9416 16.8178 22.8795 16.964C22.8166 17.1119 22.7327 17.2476 22.6274 17.3718C22.4733 17.5535 22.2874 17.6953 22.074 17.8018C21.9176 17.8799 21.7519 17.9377 21.5758 17.9568C21.4637 17.9689 21.35 17.9818 21.2379 17.9769C20.9735 17.9652 20.7233 17.8978 20.4958 17.7617C20.4295 17.722 20.366 17.6776 20.3027 17.6306C20.3607 17.5714 20.4156 17.5154 20.4737 17.4627C20.6074 17.3415 20.7426 17.2218 20.8774 17.1016C20.888 17.0921 20.9004 17.0845 20.9109 17.075C20.9865 17.0065 21.0718 16.9454 21.1348 16.8673C21.2315 16.7475 21.3533 16.6587 21.474 16.5669C21.5209 16.5311 21.5727 16.4994 21.612 16.4569C21.6759 16.3878 21.73 16.3102 21.7909 16.2383C21.8652 16.1505 21.9404 16.0633 22.019 15.9792C22.0632 15.9318 22.1169 15.8929 22.1633 15.8472C22.3245 15.6882 22.4766 15.5199 22.6633 15.3872Z" fill="#F8AA05"/>
<path d="M14.6804 11.5583C14.7355 11.5652 14.7898 11.5773 14.8445 11.5873C14.9236 11.6018 15.0027 11.6176 15.0825 11.6274C15.1663 11.6377 15.251 11.6417 15.3353 11.6483C15.3904 11.6526 15.4118 11.6868 15.42 11.7354C15.4326 11.8112 15.4642 11.8376 15.543 11.8405C15.6441 11.8444 15.7452 11.849 15.8463 11.8507C15.8906 11.8514 15.9088 11.8644 15.9117 11.912C15.9173 12.0077 15.9316 12.1031 15.9444 12.1983C15.9486 12.2301 15.9688 12.2452 16.005 12.245C16.062 12.2447 16.1191 12.25 16.1834 12.2533C16.1788 12.2964 16.1749 12.3306 16.1714 12.3647C16.1646 12.431 16.159 12.4974 16.151 12.5636C16.1462 12.6033 16.152 12.6284 16.2027 12.6274C16.2475 12.6266 16.2925 12.6335 16.3373 12.6378C16.368 12.6408 16.3807 12.6579 16.3786 12.6883C16.3739 12.7567 16.378 12.8266 16.3647 12.8933C16.354 12.947 16.3718 12.9647 16.4199 12.9709C16.4394 12.9734 16.4587 12.9776 16.4865 12.9826C16.4865 13.027 16.4892 13.0733 16.4858 13.1191C16.4823 13.1662 16.4719 13.2127 16.4665 13.2597C16.4634 13.2865 16.4615 13.3168 16.5028 13.3163C16.6523 13.3144 16.626 13.3478 16.6371 13.4694C16.6443 13.5482 16.6255 13.6292 16.6202 13.7093C16.6186 13.7331 16.6232 13.7573 16.6258 13.7924C16.6479 13.777 16.6556 13.7694 16.6649 13.7656C16.6774 13.7606 16.6945 13.7524 16.7032 13.757C16.7116 13.7614 16.7154 13.7806 16.715 13.7931C16.7126 13.8785 16.7086 13.9638 16.705 14.0537C16.5829 14.0624 16.4605 14.0633 16.3387 14.0715C16.1805 14.0822 16.0227 14.0988 15.86 14.108C15.8482 14.076 15.8347 14.0488 15.835 14.0217C15.8359 13.923 15.7863 13.8456 15.736 13.7656C15.6938 13.6987 15.6405 13.627 15.6327 13.5534C15.6211 13.443 15.5705 13.3842 15.4706 13.3518C15.4586 13.348 15.4471 13.3429 15.4356 13.3378C15.3542 13.3013 15.2663 13.2749 15.228 13.1813C15.2182 13.1572 15.1882 13.1412 15.1686 13.1205C15.142 13.0926 15.1183 13.0618 15.0901 13.0357C15.0612 13.009 15.0318 12.9789 14.9965 12.9637C14.9442 12.9412 14.8868 12.9299 14.8312 12.9149C14.7741 12.8995 14.7166 12.8854 14.6593 12.8708C14.6623 12.7338 14.6781 12.5957 14.6652 12.4602C14.6473 12.2714 14.6276 12.083 14.6374 11.8936C14.6431 11.7829 14.665 11.673 14.6804 11.5583Z" fill="#ED6876"/>
<path d="M6.71924 9.30734C6.7693 9.20223 6.81668 9.09787 6.87444 8.99929C6.97999 8.81915 7.07581 8.63047 7.20503 8.46747C7.34998 8.28462 7.46854 8.08056 7.65215 7.92567C7.7603 7.83444 7.85184 7.72402 7.94764 7.61944C8.09766 7.45567 8.28464 7.33923 8.47081 7.22091C8.59561 7.1416 8.71791 7.05854 8.84375 6.97363C8.97124 7.15144 9.05849 7.34982 9.08918 7.56532C9.11347 7.73593 9.11352 7.90982 9.11916 8.08719C9.06737 8.1044 9.01805 8.11092 8.97476 8.13026C8.90472 8.16157 8.84196 8.21005 8.77029 8.23584C8.55396 8.3137 8.4021 8.47318 8.24832 8.62647C8.16272 8.7118 8.10117 8.82054 8.03174 8.92068C7.98345 8.99032 7.92997 9.05912 7.89715 9.13577C7.85088 9.24384 7.82157 9.35882 7.78501 9.47085C7.65073 9.47141 7.51556 9.48176 7.38236 9.47033C7.16172 9.4514 6.94424 9.41121 6.74246 9.31433C6.73627 9.31136 6.72835 9.31183 6.71924 9.30734Z" fill="#F6A200"/>
<path d="M22.6629 15.3833C22.4767 15.5197 22.3246 15.6881 22.1634 15.8471C22.117 15.8928 22.0633 15.9316 22.0191 15.979C21.9405 16.0631 21.8653 16.1504 21.791 16.2381C21.7301 16.31 21.676 16.3876 21.6121 16.4567C21.5728 16.4992 21.521 16.531 21.4741 16.5667C21.3534 16.6586 21.2316 16.7473 21.1349 16.8672C21.0719 16.9453 20.9866 17.0064 20.9111 17.0748C20.9005 17.0844 20.8881 17.092 20.8775 17.1014C20.7427 17.2216 20.6075 17.3413 20.4738 17.4626C20.4157 17.5153 20.3608 17.5713 20.301 17.6273C20.068 17.4444 19.8931 17.2191 19.7715 16.952C19.8096 16.933 19.849 16.9243 19.8785 16.9027C19.9732 16.8333 20.1006 16.8134 20.1758 16.7146C20.1859 16.7012 20.2046 16.6936 20.22 16.6846C20.4147 16.57 20.6158 16.4644 20.8021 16.3381C20.9143 16.262 21.005 16.1551 21.1025 16.0592C21.1441 16.0183 21.1834 15.9733 21.2146 15.9246C21.3484 15.7156 21.4807 15.5057 21.6544 15.3249C21.7876 15.1863 21.8424 15.0113 21.8999 14.8372C22.0725 14.8817 22.2247 14.966 22.3642 15.0716C22.4795 15.1589 22.5797 15.2615 22.6629 15.3833Z" fill="#F7A80D"/>
<path d="M17.1128 14.0593C17.1332 13.9134 17.1593 13.7684 17.1839 13.6231C17.208 13.4802 17.2738 13.3652 17.3975 13.2788C17.453 13.2399 17.5028 13.1864 17.5391 13.1297C17.6114 13.0167 17.7044 12.9265 17.8122 12.8469C17.8764 12.7995 17.9409 12.7494 17.9925 12.69C18.0568 12.6158 18.1447 12.5912 18.2294 12.5587C18.4142 12.4878 18.6004 12.4204 18.79 12.3511C18.7982 12.4769 18.7972 12.6037 18.8079 12.7295C18.8272 12.9563 18.8523 13.1827 18.9359 13.3981C18.9377 13.4028 18.937 13.4085 18.9357 13.421C18.86 13.4649 18.7847 13.4989 18.7131 13.5393C18.6702 13.5635 18.6287 13.5934 18.5947 13.6283C18.5293 13.6957 18.4742 13.773 18.4064 13.8378C18.3074 13.9326 18.2671 14.0575 18.2084 14.1733C18.2062 14.1776 18.2077 14.1837 18.2074 14.189C18.1149 14.1707 18.0229 14.1499 17.9299 14.1349C17.8244 14.1179 17.7184 14.1021 17.6119 14.093C17.4475 14.0788 17.2826 14.0707 17.1128 14.0593Z" fill="#EF7A72"/>
<path d="M11.4339 14.1435C11.2124 14.0854 11.0114 13.9848 10.8272 13.8541C10.7379 13.7907 10.6589 13.7135 10.5771 13.6378C10.6095 13.6005 10.6377 13.5658 10.6708 13.5362C10.748 13.467 10.7937 13.3778 10.8429 13.2903C10.8966 13.1948 10.9555 13.1019 11.0059 13.0047C11.0346 12.9492 11.0663 12.8878 11.0678 12.8283C11.0691 12.779 11.07 12.7335 11.0959 12.693C11.1887 12.5484 11.2645 12.3954 11.3004 12.2289C11.3234 12.1222 11.3863 12.0296 11.3855 11.9122C11.3848 11.8157 11.4322 11.7188 11.4587 11.6221C11.4937 11.4949 11.539 11.3694 11.5621 11.2402C11.597 11.0452 11.618 10.8478 11.6421 10.6512C11.662 10.4893 11.6777 10.3269 11.6953 10.1648C11.7682 10.1678 11.8411 10.1709 11.919 10.1793C11.9204 10.216 11.9145 10.2473 11.9136 10.2788C11.9091 10.4296 11.9092 10.5805 11.9012 10.7311C11.8947 10.8538 11.8787 10.976 11.8676 11.0985C11.8534 11.2559 11.8406 11.4134 11.8257 11.5708C11.8155 11.6791 11.8064 11.7878 11.79 11.8953C11.7795 11.9639 11.7414 12.0296 11.7776 12.1011C11.7814 12.1086 11.773 12.1212 11.7727 12.1315C11.7703 12.2369 11.7075 12.3379 11.7488 12.4464C11.7499 12.4493 11.7484 12.4533 11.7478 12.4568C11.7173 12.6204 11.6877 12.7841 11.6558 12.9475C11.6424 13.0162 11.6238 13.0839 11.6083 13.1522C11.5919 13.224 11.5799 13.2969 11.5598 13.3675C11.5205 13.5049 11.4437 13.6362 11.4985 13.7867C11.5025 13.7977 11.501 13.8117 11.4987 13.8236C11.4775 13.9303 11.4556 14.0369 11.4339 14.1435Z" fill="#E94E3B"/>
<path d="M11.4375 14.1453C11.4554 14.0368 11.4774 13.9302 11.4985 13.8235C11.5009 13.8116 11.5023 13.7976 11.4983 13.7866C11.4435 13.6361 11.5204 13.5048 11.5596 13.3674C11.5798 13.2968 11.5918 13.2239 11.6081 13.1521C11.6237 13.0838 11.6423 13.0161 11.6557 12.9474C11.6875 12.784 11.7172 12.6203 11.7477 12.4567C11.7483 12.4532 11.7498 12.4492 11.7487 12.4463C11.7073 12.3378 11.7701 12.2368 11.7726 12.1314C11.7728 12.1211 11.7813 12.1085 11.7775 12.101C11.7413 12.0295 11.7794 11.9638 11.7898 11.8952C11.8062 11.7877 11.8154 11.679 11.8256 11.5707C11.8404 11.4133 11.8532 11.2558 11.8675 11.0984C11.8785 10.9759 11.8946 10.8537 11.901 10.731C11.909 10.5804 11.9089 10.4295 11.9134 10.2787C11.9144 10.2472 11.9202 10.2159 11.9238 10.1799C11.9822 10.1748 12.0405 10.1743 12.1039 10.1791C12.1281 10.3394 12.1241 10.4948 12.1216 10.6506C12.1199 10.7575 12.1373 10.8645 12.1409 10.9717C12.1445 11.0804 12.1405 11.1893 12.1421 11.298C12.1431 11.3587 12.1507 11.4193 12.1515 11.48C12.1521 11.5255 12.1464 11.5711 12.1439 11.6167C12.1431 11.6308 12.1424 11.645 12.1435 11.6589C12.1536 11.7797 12.164 11.9005 12.1711 12.0243C12.1628 12.1548 12.1578 12.2823 12.1525 12.4097C12.1454 12.5821 12.1357 12.7544 12.1318 12.9268C12.1298 13.0128 12.1426 13.0992 12.1406 13.1853C12.1376 13.3135 12.1267 13.4416 12.1211 13.5698C12.12 13.5954 12.12 13.6259 12.1327 13.6464C12.1798 13.7231 12.1813 13.808 12.1843 13.8918C12.1882 14.0038 12.1852 14.1161 12.1852 14.2283C12.0606 14.256 11.9364 14.2356 11.8137 14.2186C11.6887 14.2012 11.5654 14.1715 11.4375 14.1453Z" fill="#EA5043"/>
<path d="M5.33548 12.6101C5.40176 12.6167 5.46845 12.6238 5.53224 12.6411C5.57078 12.6516 5.60607 12.6759 5.64063 12.6974C5.74707 12.7634 5.84724 12.8416 5.95986 12.895C6.05359 12.9394 6.09969 13.0117 6.14519 13.0921C6.21153 13.2093 6.27812 13.3265 6.34745 13.4421C6.36721 13.475 6.39412 13.5051 6.42241 13.5317C6.51863 13.6224 6.53189 13.746 6.56574 13.862C6.58842 13.9397 6.61593 14.016 6.64139 14.0969C6.32041 14.129 5.99915 14.1562 5.6875 14.2586C5.67459 14.2341 5.66795 14.2123 5.65734 14.1924C5.60945 14.1027 5.58434 13.9994 5.49461 13.9344C5.46726 13.9145 5.43903 13.8938 5.41785 13.8683C5.32683 13.7586 5.2324 13.653 5.10449 13.5819C5.15267 13.46 5.20577 13.3397 5.24772 13.2158C5.29571 13.074 5.32096 12.9272 5.32393 12.7771C5.325 12.723 5.33094 12.669 5.33548 12.6101Z" fill="#EB5D19"/>
<path d="M11.69 10.1639C11.6772 10.3267 11.6615 10.4891 11.6417 10.651C11.6176 10.8477 11.5965 11.045 11.5616 11.24C11.5385 11.3692 11.4933 11.4947 11.4583 11.622C11.4317 11.7186 11.3843 11.8155 11.385 11.912C11.3858 12.0294 11.3229 12.122 11.2999 12.2287C11.2641 12.3952 11.1882 12.5482 11.0954 12.6928C11.0695 12.7333 11.0687 12.7788 11.0674 12.8282C11.0658 12.8876 11.0342 12.949 11.0054 13.0046C10.955 13.1017 10.8961 13.1946 10.8424 13.2901C10.7932 13.3776 10.7475 13.4668 10.6703 13.536C10.6373 13.5656 10.609 13.6004 10.5752 13.6343C10.4423 13.5218 10.3457 13.3832 10.2561 13.2388C10.1732 13.1053 10.1114 12.9631 10.064 12.8101C10.2088 12.7369 10.3457 12.6627 10.4485 12.5413C10.4564 12.532 10.4696 12.5273 10.4781 12.5185C10.5328 12.4611 10.5926 12.4072 10.6398 12.3443C10.7067 12.2554 10.7581 12.1552 10.8272 12.0681C10.9168 11.9554 10.976 11.8277 11.0453 11.7021C11.0938 11.6955 11.1186 11.668 11.1337 11.629C11.1495 11.5879 11.1625 11.5451 11.1839 11.5069C11.2318 11.4214 11.2889 11.3406 11.3332 11.2535C11.3697 11.1817 11.3932 11.1036 11.4225 11.0283C11.4849 10.8682 11.5018 10.6965 11.5589 10.5337C11.5992 10.4187 11.5931 10.2882 11.6077 10.1646C11.6335 10.1641 11.6593 10.1636 11.69 10.1639Z" fill="#E94C32"/>
<path d="M21.8962 14.8353C21.8424 15.0114 21.7876 15.1863 21.6545 15.3249C21.4807 15.5057 21.3484 15.7156 21.2147 15.9246C21.1835 15.9733 21.1441 16.0183 21.1025 16.0593C21.0051 16.1552 20.9143 16.262 20.8021 16.3381C20.6158 16.4645 20.4148 16.5701 20.2201 16.6846C20.2046 16.6937 20.1859 16.7013 20.1758 16.7146C20.1006 16.8135 19.9732 16.8333 19.8785 16.9027C19.849 16.9243 19.8097 16.9331 19.771 16.9482C19.7338 16.8439 19.6956 16.7402 19.669 16.6338C19.6523 16.5671 19.653 16.4963 19.6509 16.4224C19.6717 16.4141 19.6876 16.4111 19.7033 16.4072C19.8756 16.3634 20.0462 16.3219 20.1805 16.1914C20.2834 16.0913 20.4024 16.0069 20.513 15.9142C20.58 15.8582 20.6549 15.8075 20.7086 15.7409C20.8699 15.5407 21.0231 15.3343 21.1781 15.1294C21.2067 15.0916 21.2381 15.0522 21.2525 15.0087C21.2817 14.9204 21.3001 14.8288 21.323 14.7385C21.5179 14.7415 21.7078 14.7723 21.8962 14.8353Z" fill="#F7A617"/>
<path d="M13.7744 16.3814C13.6026 16.3482 13.4671 16.25 13.3363 16.1432C13.2383 16.0632 13.1356 15.9881 13.0415 15.904C12.9863 15.8546 12.9419 15.793 12.896 15.7345C12.8127 15.6284 12.7294 15.5221 12.6514 15.4123C12.6257 15.3761 12.6101 15.3303 12.6003 15.2867C12.5663 15.136 12.5366 14.9845 12.5061 14.8332C12.4991 14.7988 12.4954 14.7638 12.4902 14.7247C12.6561 14.7015 12.8221 14.6826 12.9957 14.665C13.025 14.7256 13.0488 14.7842 13.0679 14.8443C13.0995 14.9439 13.1526 15.0268 13.2316 15.0996C13.3085 15.1704 13.3765 15.2516 13.4402 15.3343C13.5437 15.4689 13.6908 15.5367 13.8421 15.6004C13.8307 15.6794 13.8157 15.7581 13.8087 15.8375C13.7983 15.9561 13.7936 16.0751 13.7864 16.1939C13.7827 16.2549 13.779 16.3159 13.7744 16.3814Z" fill="#EA553A"/>
<path d="M13.6676 13.4764C13.624 13.5307 13.5839 13.5882 13.5361 13.6388C13.3963 13.7868 13.235 13.909 13.0471 14.0056C13.0126 13.945 12.9855 13.8857 12.9579 13.8224C12.9217 13.6858 12.8897 13.5523 12.8494 13.4212C12.7993 13.2584 12.734 13.1006 12.7258 12.9268C12.7224 12.8538 12.7119 12.775 12.6483 12.7181C12.6369 12.7079 12.6342 12.6857 12.6324 12.6686C12.6169 12.5273 12.6031 12.3858 12.5878 12.2445C12.5818 12.1888 12.5836 12.1295 12.5637 12.0786C12.5243 11.9777 12.5142 11.8742 12.5127 11.7689C12.5117 11.7041 12.5243 11.6388 12.5212 11.5741C12.5139 11.4225 12.502 11.271 12.4896 11.1196C12.4824 11.0323 12.4684 10.9455 12.4617 10.8582C12.4567 10.793 12.4586 10.7273 12.4605 10.6648C12.471 10.7267 12.4723 10.7872 12.487 10.8444C12.5089 10.9292 12.5439 11.0107 12.5668 11.0953C12.6019 11.2252 12.5836 11.3631 12.64 11.492C12.687 11.5992 12.7096 11.7165 12.746 11.8283C12.7703 11.9029 12.8132 11.974 12.8236 12.0499C12.8358 12.1388 12.89 12.1983 12.9366 12.2698C12.944 12.3102 12.9518 12.3461 12.9587 12.3822C12.9773 12.48 12.993 12.5763 13.0512 12.6646C13.1208 12.7702 13.1748 12.8857 13.2357 12.9968C13.2795 13.0766 13.3032 13.1675 13.3765 13.2311C13.4661 13.3089 13.5538 13.3889 13.6429 13.4675C13.6489 13.4728 13.6593 13.4735 13.6676 13.4764Z" fill="#EA5453"/>
<path d="M14.9959 7.7356C15.0957 7.76902 15.1965 7.80329 15.293 7.84667C15.3461 7.87052 15.3893 7.91469 15.4416 7.94066C15.501 7.97008 15.5702 7.9818 15.6269 8.01462C15.7523 8.08717 15.8893 8.12021 16.0295 8.14706C16.0489 8.15077 16.0707 8.15317 16.0863 8.16343C16.2038 8.24048 16.3417 8.26022 16.4743 8.28911C16.5829 8.31278 16.6761 8.36028 16.7682 8.41546C16.8252 8.44959 16.8854 8.47899 16.9403 8.516C16.9853 8.54642 17.027 8.58268 17.0661 8.62036C17.1213 8.67367 17.1756 8.72848 17.2253 8.78665C17.2887 8.86077 17.3464 8.93951 17.4081 9.01511C17.4574 9.07562 17.509 9.1344 17.563 9.1955C17.454 9.25715 17.3444 9.32297 17.2284 9.37543C17.1446 9.41332 17.0524 9.43345 16.9595 9.45687C16.9282 9.3816 16.9012 9.31095 16.8742 9.24032C16.8655 9.21748 16.8607 9.192 16.847 9.17239C16.7975 9.10124 16.7412 9.03435 16.6944 8.96162C16.6218 8.84877 16.5274 8.7606 16.4106 8.69215C16.3087 8.63242 16.2105 8.56658 16.1095 8.50539C16.0394 8.46294 15.969 8.42037 15.8954 8.38427C15.8396 8.3569 15.7744 8.34673 15.7206 8.31663C15.5334 8.21189 15.338 8.12668 15.1322 8.06423C15.0842 8.04969 15.0347 8.04016 14.9858 8.02832C14.9889 7.93229 14.992 7.83626 14.9959 7.7356Z" fill="#EA5B15"/>
<path d="M12.9584 13.8265C12.9856 13.8857 13.0127 13.9449 13.0433 14.0059C12.8795 14.1043 12.6982 14.1652 12.5076 14.197C12.4045 14.2141 12.2993 14.2192 12.1901 14.229C12.1851 14.1161 12.1881 14.0038 12.1842 13.8917C12.1812 13.8079 12.1797 13.723 12.1326 13.6464C12.12 13.6258 12.1199 13.5953 12.1211 13.5697C12.1266 13.4415 12.1376 13.3134 12.1405 13.1852C12.1425 13.0991 12.1297 13.0128 12.1317 12.9267C12.1357 12.7543 12.1453 12.582 12.1525 12.4096C12.1577 12.2822 12.1627 12.1548 12.174 12.0266C12.2347 12.1348 12.2898 12.2435 12.3431 12.3529C12.3554 12.378 12.3713 12.407 12.3686 12.4324C12.3519 12.5898 12.4327 12.7175 12.5098 12.8395C12.6188 13.012 12.6886 13.1957 12.7312 13.3913C12.7561 13.5055 12.7827 13.6185 12.8614 13.7117C12.8938 13.7499 12.9261 13.7882 12.9584 13.8265Z" fill="#EA504B"/>
<path d="M21.3202 14.7348C21.3001 14.8287 21.2816 14.9204 21.2524 15.0086C21.238 15.0522 21.2066 15.0916 21.1781 15.1293C21.023 15.3342 20.8698 15.5407 20.7085 15.7408C20.6548 15.8074 20.5799 15.8581 20.513 15.9142C20.4023 16.0068 20.2834 16.0912 20.1804 16.1913C20.0462 16.3219 19.8755 16.3634 19.7032 16.4071C19.6876 16.4111 19.6717 16.414 19.6515 16.4176C19.6395 16.2367 19.6318 16.0557 19.6289 15.8701C19.6427 15.8644 19.6527 15.8656 19.6604 15.862C19.7758 15.8081 19.8869 15.7445 20.0153 15.721C20.0337 15.7177 20.0513 15.7045 20.0668 15.6928C20.1649 15.6186 20.263 15.5443 20.3598 15.4685C20.4142 15.426 20.482 15.39 20.5165 15.3349C20.6394 15.1384 20.76 14.9392 20.8108 14.7097C20.9417 14.7162 21.0725 14.7229 21.2034 14.729C21.2414 14.7307 21.2795 14.7304 21.3202 14.7348Z" fill="#F6A320"/>
<path d="M4.46846 15.7999C4.39903 15.7778 4.33166 15.7568 4.26793 15.728C4.17668 15.6869 4.08381 15.6465 3.99983 15.5935C3.94277 15.5575 3.8943 15.5045 3.85161 15.4517C3.7659 15.3457 3.68876 15.2331 3.60439 15.126C3.5166 15.0146 3.45291 14.8914 3.40143 14.7612C3.39495 14.7448 3.38524 14.7296 3.37549 14.7104C3.44998 14.6934 3.52575 14.6783 3.6021 14.6668C3.80742 14.6358 3.99889 14.566 4.18735 14.4775C4.19494 14.487 4.19703 14.4941 4.20142 14.4993C4.26622 14.577 4.33062 14.6551 4.39661 14.7318C4.44169 14.7843 4.48439 14.8401 4.53669 14.8849C4.59844 14.9378 4.6694 14.9805 4.73636 15.0277C4.63903 15.2006 4.55751 15.38 4.51097 15.5726C4.49312 15.6464 4.4848 15.7224 4.46846 15.7999Z" fill="#EC6333"/>
<path d="M7.79004 9.47151C7.82155 9.35874 7.85085 9.24376 7.89713 9.13569C7.92994 9.05904 7.98343 8.99025 8.03171 8.9206C8.10115 8.82046 8.16269 8.71172 8.2483 8.62639C8.40208 8.4731 8.55394 8.31362 8.77026 8.23577C8.84194 8.20997 8.9047 8.16149 8.97473 8.13019C9.01802 8.11084 9.06734 8.10432 9.11835 8.09204C9.13955 8.2891 9.15373 8.48655 9.20882 8.6834C9.04052 8.76763 8.89458 8.87553 8.76816 9.00194C8.65471 9.11539 8.56004 9.24737 8.46307 9.37548C8.42781 9.42208 8.40984 9.48112 8.38398 9.53449C8.19009 9.49215 7.99445 9.46549 7.79004 9.47151Z" fill="#F49700"/>
<path d="M12.958 13.8225C12.9261 13.7883 12.8938 13.75 12.8614 13.7118C12.7827 13.6186 12.7561 13.5056 12.7312 13.3914C12.6886 13.1958 12.6188 13.0121 12.5098 12.8396C12.4327 12.7176 12.3519 12.5899 12.3686 12.4325C12.3713 12.4071 12.3554 12.3781 12.3431 12.353C12.2898 12.2436 12.2347 12.1349 12.1772 12.0236C12.1639 11.9005 12.1535 11.7798 12.1435 11.659C12.1423 11.645 12.143 11.6308 12.1438 11.6168C12.1463 11.5712 12.152 11.5255 12.1514 11.48C12.1507 11.4193 12.143 11.3587 12.1421 11.2981C12.1404 11.1893 12.1444 11.0804 12.1408 10.9717C12.1372 10.8646 12.1198 10.7575 12.1215 10.6507C12.124 10.4948 12.1281 10.3394 12.1089 10.1798C12.2109 10.1713 12.313 10.1673 12.4199 10.1684C12.4357 10.3363 12.4466 10.4992 12.4574 10.662C12.4586 10.7274 12.4567 10.7931 12.4617 10.8583C12.4684 10.9456 12.4825 11.0324 12.4897 11.1197C12.5021 11.2711 12.5139 11.4226 12.5212 11.5742C12.5244 11.6389 12.5118 11.7041 12.5127 11.769C12.5143 11.8743 12.5243 11.9778 12.5638 12.0787C12.5837 12.1296 12.5818 12.1889 12.5879 12.2446C12.6031 12.3859 12.617 12.5274 12.6324 12.6686C12.6343 12.6858 12.637 12.708 12.6484 12.7182C12.712 12.7751 12.7224 12.8539 12.7258 12.9269C12.734 13.1007 12.7994 13.2585 12.8495 13.4213C12.8898 13.5524 12.9218 13.6859 12.958 13.8225Z" fill="#EA544C"/>
<path d="M14.1222 12.032C14.1359 12.3013 14.104 12.5647 14.0115 12.8244C13.9178 12.7725 13.8135 12.7319 13.7462 12.6588C13.6652 12.5708 13.5945 12.4736 13.5102 12.3858C13.4176 12.2894 13.3279 12.1848 13.2805 12.0554C13.2746 12.0393 13.2621 12.0255 13.2523 12.0069C13.2021 11.9087 13.1684 11.81 13.1656 11.698C13.1565 11.622 13.1524 11.5499 13.1372 11.48C13.1131 11.369 13.0759 11.2624 13.0598 11.1476C13.0325 10.952 12.9814 10.7599 13.0016 10.5598C13.0042 10.534 12.9998 10.5072 12.9964 10.4812C12.9806 10.358 12.964 10.2349 12.9478 10.1117C12.9774 10.1077 13.0071 10.1037 13.0413 10.1046C13.0603 10.1979 13.0734 10.2864 13.0897 10.3744C13.1095 10.481 13.1293 10.5876 13.1543 10.6931C13.1656 10.7407 13.1974 10.7842 13.2058 10.8319C13.2254 10.9421 13.2574 11.0469 13.3068 11.148C13.3386 11.2129 13.3587 11.283 13.3885 11.3489C13.4197 11.4178 13.4567 11.4843 13.4903 11.5523C13.5313 11.6352 13.5738 11.7117 13.6657 11.7587C13.7476 11.8007 13.815 11.8689 13.8942 11.9172C13.9665 11.9613 14.0459 11.9942 14.1222 12.032Z" fill="#EC5C61"/>
<path d="M13.4238 10.0271C13.624 9.97555 13.8183 9.9081 14.0117 9.82568C14.0468 9.86145 14.0737 9.8973 14.1067 9.9267C14.1321 9.94937 14.166 9.98054 14.1945 9.97898C14.2776 9.97442 14.3292 10.0075 14.3831 10.0662C14.4433 10.1318 14.5218 10.1815 14.5924 10.2381C14.5367 10.3145 14.4785 10.3893 14.4256 10.4675C14.2764 10.6878 14.1752 10.9269 14.1339 11.1889C14.1279 11.2264 14.1199 11.2637 14.1081 11.3049C13.9528 11.2367 13.8204 11.146 13.7516 10.9884C13.7398 10.9613 13.7233 10.936 13.7084 10.9103C13.69 10.8785 13.6695 10.8477 13.6524 10.8153C13.6352 10.7828 13.6206 10.7489 13.6056 10.7153C13.5885 10.6769 13.5674 10.6393 13.5569 10.5991C13.5432 10.5468 13.55 10.4868 13.5273 10.4397C13.4638 10.308 13.4459 10.1675 13.4238 10.0271Z" fill="#ED676F"/>
<path d="M14.6583 12.8755C14.7163 12.8855 14.7738 12.8996 14.8309 12.915C14.8865 12.93 14.9439 12.9413 14.9962 12.9638C15.0314 12.979 15.0609 13.0091 15.0897 13.0358C15.118 13.0619 15.1417 13.0927 15.1682 13.1206C15.1879 13.1413 15.2179 13.1573 15.2277 13.1814C15.2659 13.275 15.3538 13.3015 15.4353 13.3379C15.4467 13.343 15.4583 13.3481 15.4703 13.352C15.5702 13.3843 15.6208 13.4431 15.6324 13.5535C15.6402 13.6271 15.6935 13.6988 15.7356 13.7657C15.786 13.8457 15.8356 13.9231 15.8347 14.0219C15.8344 14.0489 15.8478 14.0761 15.8551 14.1074C15.6388 14.1345 15.4217 14.153 15.206 14.2039C15.1611 14.1186 15.1216 14.0375 15.0797 13.9575C15.0676 13.9345 15.0522 13.9113 15.0328 13.8941C14.9528 13.823 14.8709 13.7538 14.7891 13.6846C14.7269 13.632 14.6646 13.5793 14.6006 13.5288C14.5703 13.505 14.5359 13.4862 14.5034 13.4651C14.546 13.33 14.5912 13.1957 14.6299 13.0596C14.6463 13.0017 14.6488 12.94 14.6583 12.8755Z" fill="#ED656E"/>
<path d="M13.4192 10.0271C13.446 10.1676 13.4638 10.3081 13.5273 10.4397C13.5501 10.4869 13.5433 10.5468 13.557 10.5992C13.5675 10.6393 13.5886 10.6769 13.6057 10.7154C13.6206 10.749 13.6353 10.7828 13.6525 10.8154C13.6696 10.8478 13.69 10.8785 13.7085 10.9103C13.7234 10.9361 13.7399 10.9613 13.7517 10.9884C13.8205 11.1461 13.9529 11.2368 14.1072 11.3093C14.1079 11.3637 14.1017 11.4176 14.1025 11.4714C14.1043 11.6064 14.1086 11.7413 14.1132 11.8762C14.1148 11.9249 14.1199 11.9735 14.1226 12.027C14.0456 11.9941 13.9661 11.9612 13.8938 11.9171C13.8147 11.8688 13.7473 11.8006 13.6653 11.7586C13.5735 11.7116 13.531 11.635 13.49 11.5521C13.4564 11.4842 13.4193 11.4177 13.3881 11.3487C13.3583 11.2829 13.3382 11.2127 13.3065 11.1479C13.257 11.0468 13.2251 10.9419 13.2055 10.8317C13.1971 10.784 13.1653 10.7406 13.154 10.693C13.129 10.5875 13.1091 10.4808 13.0894 10.3742C13.0731 10.2863 13.06 10.1977 13.0454 10.1052C13.1581 10.079 13.2709 10.0573 13.3836 10.0353C13.394 10.0332 13.4042 10.0298 13.4192 10.0271Z" fill="#EC6168"/>
<path d="M11.0414 11.7027C10.976 11.8278 10.9168 11.9555 10.8273 12.0683C10.7582 12.1553 10.7068 12.2556 10.6399 12.3445C10.5926 12.4073 10.5328 12.4612 10.4781 12.5186C10.4696 12.5275 10.4564 12.5322 10.4486 12.5414C10.3458 12.6629 10.2089 12.7371 10.0635 12.8061C10.0176 12.6905 9.9879 12.5709 9.98504 12.4461C9.98105 12.2724 9.9778 12.0986 9.97944 11.92C10.0605 11.8893 10.1368 11.8648 10.2118 11.8367C10.2308 11.8296 10.2456 11.8112 10.2619 11.7976C10.3354 11.7366 10.4018 11.6635 10.4842 11.6177C10.5683 11.5709 10.6409 11.521 10.6883 11.4383C10.6951 11.4264 10.7067 11.4163 10.718 11.4078C10.7964 11.349 10.8551 11.2749 10.9021 11.1907C10.9095 11.1775 10.9293 11.1708 10.9468 11.1626C10.9777 11.1775 11.0042 11.1933 11.0327 11.2039C11.0752 11.2198 11.0805 11.2456 11.0636 11.2829C11.0476 11.3182 11.0345 11.3547 11.0193 11.3902C11.0057 11.4219 11.0145 11.4459 11.0455 11.4597C11.0761 11.4734 11.0796 11.4931 11.0653 11.5192C11.041 11.5636 11.0163 11.6077 10.9901 11.6551C11.0059 11.6698 11.0236 11.6862 11.0414 11.7027Z" fill="#E94C28"/>
<path d="M13.2526 12.0107C13.262 12.0255 13.2745 12.0393 13.2804 12.0553C13.3278 12.1847 13.4175 12.2894 13.5101 12.3858C13.5944 12.4736 13.6651 12.5708 13.7461 12.6588C13.8134 12.7319 13.9177 12.7725 14.0094 12.828C13.9433 13.065 13.8278 13.2787 13.6712 13.4751C13.6595 13.4737 13.6491 13.473 13.6431 13.4676C13.554 13.3891 13.4663 13.3091 13.3766 13.2313C13.3034 13.1676 13.2797 13.0768 13.2359 12.9969C13.1749 12.8858 13.121 12.7704 13.0513 12.6648C12.9931 12.5765 12.9775 12.4802 12.9588 12.3823C12.952 12.3463 12.9442 12.3104 12.9399 12.2671C12.9359 12.2001 12.9287 12.1404 12.9209 12.0754C12.9454 12.0907 12.9677 12.1045 12.99 12.1183C12.9946 12.116 12.9993 12.1136 13.004 12.1112C12.996 12.055 12.9879 11.9989 12.9806 11.9478C13.0206 11.9528 13.0521 11.9567 13.0836 11.9606C13.0836 11.9293 13.0836 11.898 13.0836 11.8699C13.141 11.9177 13.1968 11.9642 13.2526 12.0107Z" fill="#EB5659"/>
<path d="M20.806 14.709C20.76 14.9392 20.6393 15.1385 20.5164 15.3349C20.4819 15.3901 20.4141 15.4261 20.3598 15.4686C20.2629 15.5443 20.1649 15.6186 20.0667 15.6928C20.0512 15.7045 20.0336 15.7177 20.0152 15.7211C19.8868 15.7446 19.7757 15.8082 19.6603 15.862C19.6526 15.8656 19.6426 15.8645 19.6295 15.8656C19.5957 15.7164 19.566 15.5671 19.5396 15.412C19.5901 15.3893 19.6414 15.3787 19.6841 15.354C19.7449 15.3187 19.8073 15.2802 19.8547 15.2302C19.9413 15.1389 20.0118 15.033 20.0993 14.9426C20.1923 14.8466 20.2503 14.7341 20.2989 14.6143C20.4663 14.6456 20.6337 14.6769 20.806 14.709Z" fill="#F5A02D"/>
<path d="M13.2521 12.0068C13.1967 11.9642 13.141 11.9177 13.0836 11.8698C13.0836 11.8979 13.0836 11.9292 13.0836 11.9606C13.0521 11.9566 13.0206 11.9527 12.9806 11.9477C12.9879 11.9988 12.9959 12.055 13.0039 12.1111C12.9993 12.1135 12.9946 12.1159 12.9899 12.1183C12.9677 12.1045 12.9454 12.0906 12.9209 12.0754C12.9287 12.1403 12.9358 12.2 12.9399 12.2626C12.8902 12.1984 12.8359 12.1389 12.8237 12.05C12.8133 11.9742 12.7704 11.903 12.7462 11.8284C12.7098 11.7166 12.6871 11.5994 12.6402 11.4921C12.5838 11.3633 12.602 11.2253 12.5669 11.0954C12.544 11.0108 12.509 10.9293 12.4871 10.8445C12.4724 10.7873 12.4711 10.7268 12.4607 10.6649C12.4466 10.4992 12.4357 10.3364 12.4248 10.1691C12.5232 10.1571 12.6217 10.1496 12.7251 10.147C12.7481 10.2784 12.7648 10.4051 12.7847 10.5313C12.7984 10.6175 12.8156 10.7031 12.8329 10.7887C12.8482 10.8641 12.8655 10.9391 12.8824 11.0142C12.8985 11.0854 12.8854 11.1629 12.9325 11.2275C12.9914 11.3082 13.0107 11.4029 13.0357 11.4966C13.0569 11.5764 13.0989 11.648 13.1654 11.7027C13.1682 11.8099 13.202 11.9086 13.2521 12.0068Z" fill="#EB5A57"/>
<path d="M10.9287 14.6124C10.9013 14.7204 10.8696 14.8263 10.8394 14.9327C10.8121 15.0285 10.7591 15.1056 10.6829 15.1728C10.6164 15.2316 10.564 15.3053 10.5 15.3671C10.4244 15.4401 10.3437 15.5077 10.2922 15.601C10.2851 15.6138 10.268 15.6211 10.2518 15.6314C10.2258 15.5473 10.2071 15.4616 10.1803 15.3784C10.1209 15.1944 10.0452 15.0176 9.92529 14.8598C10.0063 14.7827 10.0859 14.7114 10.1608 14.6358C10.1955 14.6008 10.2211 14.5574 10.2512 14.5181C10.2897 14.4678 10.3286 14.4178 10.3673 14.3677C10.4711 14.4184 10.5734 14.4723 10.6791 14.519C10.7588 14.5542 10.8428 14.5804 10.9287 14.6124Z" fill="#EA541C"/>
<path d="M14.9852 8.03271C15.0348 8.04004 15.0844 8.04957 15.1323 8.06412C15.3382 8.12657 15.5336 8.21178 15.7208 8.31652C15.7746 8.34661 15.8398 8.35679 15.8955 8.38416C15.9691 8.42025 16.0396 8.46282 16.1097 8.50527C16.2107 8.56647 16.3088 8.6323 16.4107 8.69203C16.5275 8.76048 16.6219 8.84865 16.6946 8.96151C16.7414 9.03423 16.7976 9.10113 16.8472 9.17228C16.8608 9.19189 16.8656 9.21737 16.8744 9.2402C16.9014 9.31083 16.9284 9.38149 16.9554 9.45612C16.8282 9.47475 16.7008 9.48939 16.5684 9.49899C16.5604 9.47676 16.5576 9.45953 16.5543 9.44239C16.52 9.26125 16.4013 9.12209 16.3035 8.97358C16.2705 8.92356 16.2187 8.883 16.1691 8.84622C16.0674 8.77065 15.9622 8.69931 15.8567 8.62862C15.7842 8.58005 15.7117 8.53038 15.6342 8.49055C15.5465 8.44552 15.4547 8.40718 15.362 8.37276C15.2344 8.32534 15.1042 8.28432 14.9751 8.24056C14.9782 8.17278 14.9813 8.105 14.9852 8.03271Z" fill="#EB5D19"/>
<path d="M14.9742 8.24512C15.1041 8.2844 15.2343 8.32542 15.3619 8.37284C15.4546 8.40726 15.5464 8.4456 15.6341 8.49062C15.7116 8.53045 15.7841 8.58013 15.8566 8.62869C15.9621 8.69938 16.0673 8.77073 16.169 8.8463C16.2186 8.88308 16.2704 8.92364 16.3034 8.97366C16.4012 9.12217 16.5199 9.26133 16.5542 9.44246C16.5575 9.45961 16.5603 9.47684 16.5634 9.49835C16.4177 9.49605 16.272 9.48944 16.1216 9.47793C16.0896 9.37512 16.0715 9.27701 15.9878 9.2002C15.8181 9.04462 15.6567 8.88053 15.4915 8.72027C15.484 8.71302 15.4738 8.708 15.4641 8.70346C15.2929 8.62326 15.1215 8.54331 14.9502 8.4633C14.9579 8.39207 14.9656 8.32083 14.9742 8.24512Z" fill="#EB5E24"/>
<path d="M10.9437 11.161C10.9297 11.1707 10.9099 11.1774 10.9025 11.1907C10.8554 11.2749 10.7968 11.349 10.7184 11.4077C10.707 11.4162 10.6955 11.4264 10.6886 11.4383C10.6413 11.521 10.5686 11.5708 10.4845 11.6176C10.4022 11.6635 10.3358 11.7365 10.2623 11.7975C10.2459 11.8111 10.2312 11.8295 10.2121 11.8366C10.1372 11.8647 10.0608 11.8892 9.98058 11.915C9.97919 11.7966 9.98278 11.6782 9.98469 11.5597C9.98502 11.5396 9.97816 11.5194 9.97973 11.4947C10.1292 11.4761 10.2366 11.3936 10.3422 11.3072C10.3725 11.2823 10.4083 11.263 10.4351 11.2351C10.542 11.1237 10.6465 11.01 10.7515 10.8968C10.7683 10.8786 10.7887 10.8607 10.7975 10.8388C10.8592 10.6847 10.9226 10.5311 10.9765 10.3744C11.0072 10.2851 11.0209 10.1902 11.0422 10.0979C11.0971 10.1055 11.152 10.1131 11.2114 10.1258C11.2015 10.2211 11.1863 10.311 11.1728 10.4012C11.1465 10.577 11.1092 10.7499 11.0422 10.9158C11.0092 10.9975 10.9765 11.0793 10.9437 11.161Z" fill="#E9511F"/>
<path d="M13.8454 15.5981C13.6905 15.5366 13.5435 15.4688 13.4399 15.3342C13.3763 15.2515 13.3082 15.1703 13.2314 15.0995C13.1523 15.0267 13.0992 14.9437 13.0676 14.8441C13.0486 14.7841 13.0247 14.7255 12.9995 14.6632C13.164 14.6207 13.3286 14.5716 13.4892 14.4983C13.5959 14.6288 13.698 14.7559 13.7981 14.8844C13.8644 14.9695 13.941 15.0411 14.0456 15.0795C13.9649 15.2332 13.8974 15.3919 13.8552 15.56C13.8522 15.5718 13.851 15.5839 13.8454 15.5981Z" fill="#EA5741"/>
<path d="M10.9473 11.1627C10.9766 11.0794 11.0093 10.9976 11.0423 10.916C11.1092 10.7501 11.1466 10.5771 11.1729 10.4013C11.1863 10.3112 11.2016 10.2212 11.216 10.1267C11.2986 10.1301 11.3812 10.1377 11.4638 10.1458C11.5092 10.1503 11.5545 10.1556 11.604 10.1627C11.5935 10.2884 11.5997 10.4189 11.5593 10.5339C11.5022 10.6967 11.4853 10.8684 11.423 11.0286C11.3936 11.1038 11.3702 11.1819 11.3336 11.2537C11.2893 11.3408 11.2322 11.4216 11.1843 11.5071C11.1629 11.5453 11.15 11.5881 11.1341 11.6292C11.1191 11.6683 11.0942 11.6957 11.0458 11.7023C11.024 11.6863 11.0063 11.6699 10.9905 11.6552C11.0167 11.6078 11.0414 11.5636 11.0657 11.5193C11.08 11.4931 11.0765 11.4734 11.046 11.4598C11.0149 11.446 11.0061 11.422 11.0197 11.3903C11.0349 11.3547 11.048 11.3182 11.064 11.283C11.081 11.2456 11.0757 11.2198 11.0331 11.204C11.0046 11.1934 10.9781 11.1776 10.9473 11.1627Z" fill="#EA522A"/>
<path d="M5.10123 13.5835C5.2325 13.6529 5.32693 13.7585 5.41795 13.8682C5.43913 13.8938 5.46736 13.9145 5.4947 13.9343C5.58444 13.9993 5.60954 14.1026 5.65744 14.1923C5.66805 14.2122 5.67469 14.2341 5.68331 14.2591C5.6055 14.2986 5.52395 14.3282 5.4504 14.3708C5.34578 14.4315 5.24704 14.5018 5.14083 14.5662C5.10372 14.5266 5.07297 14.4875 5.03916 14.4511C4.92725 14.3307 4.81425 14.2113 4.70166 14.0915C4.83081 13.9684 4.94527 13.8337 5.03988 13.6834C5.06015 13.6512 5.07858 13.618 5.10123 13.5835Z" fill="#EB5E24"/>
<path d="M10.3657 14.3642C10.3286 14.4177 10.2897 14.4677 10.2512 14.518C10.2211 14.5573 10.1955 14.6007 10.1609 14.6356C10.0859 14.7112 10.0064 14.7826 9.92507 14.8561C9.78106 14.6683 9.60468 14.5193 9.40036 14.4007C9.38981 14.3946 9.37784 14.3908 9.36475 14.3826C9.43314 14.2959 9.50342 14.2127 9.57341 14.1293C9.5893 14.1104 9.60301 14.0896 9.61974 14.0714C9.68474 14.0009 9.75055 13.931 9.81944 13.8594C9.87291 13.9161 9.92421 13.9734 9.97281 14.0328C10.0787 14.1623 10.2104 14.2618 10.3523 14.35C10.3568 14.3528 10.3602 14.3572 10.3657 14.3642Z" fill="#E95514"/>
<path d="M4.69821 14.093C4.81411 14.2114 4.92712 14.3309 5.03903 14.4512C5.07283 14.4876 5.10359 14.5267 5.13731 14.5678C4.99698 14.6912 4.86995 14.8242 4.76812 14.9788C4.75861 14.9933 4.75112 15.009 4.73932 15.0259C4.66897 14.9805 4.59802 14.9378 4.53626 14.8849C4.48396 14.8401 4.44127 14.7843 4.39618 14.7318C4.3302 14.6551 4.2658 14.577 4.201 14.4993C4.19661 14.494 4.19452 14.487 4.19092 14.477C4.37321 14.3654 4.54575 14.2447 4.69821 14.093Z" fill="#EB5F2D"/>
<path d="M8.38818 9.53538C8.40984 9.48118 8.42781 9.42214 8.46307 9.37554C8.56004 9.24743 8.65471 9.11545 8.76816 9.002C8.89458 8.87559 9.04052 8.76769 9.20932 8.68774C9.26239 8.81131 9.31191 8.93636 9.3582 9.06571C9.29548 9.10909 9.23277 9.14433 9.17747 9.1884C9.12941 9.2267 9.08899 9.27433 9.04653 9.31904C8.9883 9.38033 8.92869 9.44067 8.87465 9.50537C8.83186 9.5566 8.79656 9.61378 8.75794 9.66832C8.63609 9.62428 8.51424 9.58025 8.38818 9.53538Z" fill="#F28D00"/>
<path d="M18.2099 14.1922C18.2078 14.1836 18.2064 14.1775 18.2086 14.1732C18.2673 14.0574 18.3076 13.9325 18.4066 13.8378C18.4744 13.773 18.5294 13.6956 18.5949 13.6283C18.6288 13.5933 18.6704 13.5634 18.7133 13.5392C18.7848 13.4988 18.8602 13.4648 18.9361 13.425C18.9554 13.4593 18.9714 13.4973 18.99 13.5339C19.0341 13.6203 19.0794 13.706 19.1233 13.7993C19.1084 13.8202 19.095 13.8343 19.0804 13.8471C18.995 13.9222 18.9027 13.9911 18.8255 14.0735C18.7496 14.1545 18.6888 14.2489 18.6214 14.3374C18.485 14.2901 18.3486 14.2427 18.2099 14.1922Z" fill="#F08369"/>
<path d="M18.6235 14.3406C18.689 14.249 18.7497 14.1545 18.8257 14.0736C18.9029 13.9912 18.9952 13.9223 19.0806 13.8472C19.0952 13.8344 19.1086 13.8203 19.1241 13.803C19.2303 13.92 19.3342 14.0414 19.4399 14.1612C19.4606 14.1846 19.4881 14.2023 19.5125 14.2291C19.442 14.3087 19.3712 14.3814 19.3011 14.4548C19.234 14.5251 19.1675 14.5961 19.1007 14.6667C18.9595 14.5349 18.8013 14.4271 18.6235 14.3406Z" fill="#F18B5E"/>
<path d="M20.2946 14.6136C20.2503 14.7341 20.1923 14.8467 20.0993 14.9427C20.0118 15.0331 19.9413 15.139 19.8547 15.2303C19.8073 15.2803 19.7449 15.3188 19.6841 15.354C19.6414 15.3788 19.5901 15.3894 19.539 15.4079C19.4922 15.3025 19.4491 15.1955 19.4072 15.0814C19.4589 15.0349 19.5153 15.0009 19.5584 14.955C19.6384 14.8698 19.7119 14.7787 19.7857 14.6881C19.839 14.6226 19.8883 14.554 19.9395 14.4868C20.0564 14.5288 20.1734 14.5708 20.2946 14.6136Z" fill="#F49C3A"/>
<path d="M8.76123 9.67094C8.79699 9.61379 8.83228 9.55661 8.87507 9.50539C8.92911 9.44068 8.98872 9.38035 9.04695 9.31905C9.08942 9.27434 9.12984 9.22672 9.1779 9.18841C9.2332 9.14434 9.29591 9.1091 9.35908 9.06958C9.44608 9.19394 9.5294 9.31874 9.6127 9.45027C9.55963 9.51647 9.50731 9.57659 9.45336 9.63527C9.36244 9.73416 9.27048 9.83214 9.17896 9.9305C9.05139 9.8284 8.91286 9.74312 8.76123 9.67094Z" fill="#F08000"/>
<path d="M9.18018 9.93371C9.27002 9.83214 9.36198 9.73416 9.4529 9.63527C9.50685 9.57658 9.55917 9.51647 9.61371 9.45361C9.69135 9.51973 9.765 9.5921 9.84448 9.65777C9.90317 9.70627 9.96946 9.74604 10.0354 9.79497C9.97539 9.87846 9.91971 9.96401 9.84748 10.0331C9.75076 10.1257 9.64123 10.2055 9.53719 10.2908C9.47508 10.2208 9.4158 10.1482 9.34994 10.0818C9.29812 10.0295 9.23818 9.98493 9.18018 9.93371Z" fill="#ED6E04"/>
<path d="M11.0394 10.0942C11.0205 10.1902 11.0068 10.2851 10.9761 10.3743C10.9223 10.5311 10.8588 10.6847 10.7971 10.8388C10.7884 10.8606 10.768 10.8786 10.7511 10.8968C10.6462 11.01 10.5416 11.1236 10.4347 11.2351C10.4079 11.263 10.3721 11.2823 10.3418 11.3071C10.2362 11.3935 10.1289 11.4761 9.98011 11.4902C9.96079 11.3869 9.94583 11.2836 9.93555 11.1759C10.0699 11.1137 10.1995 11.0559 10.329 10.9978C10.3354 10.995 10.3404 10.9892 10.3457 10.9844C10.4331 10.9027 10.5227 10.8231 10.6072 10.7385C10.6545 10.6911 10.7074 10.6414 10.7334 10.5825C10.8057 10.4187 10.8972 10.2607 10.9215 10.0796C10.96 10.0832 10.9985 10.0869 11.0394 10.0942Z" fill="#EA541C"/>
<path d="M19.9362 14.4849C19.8886 14.5538 19.8392 14.6224 19.7859 14.6879C19.7121 14.7785 19.6386 14.8696 19.5586 14.9548C19.5155 15.0007 19.4591 15.0347 19.407 15.0773C19.3195 14.9344 19.2277 14.7923 19.1021 14.6697C19.1673 14.5959 19.2338 14.525 19.3009 14.4547C19.371 14.3813 19.4418 14.3085 19.5138 14.2322C19.6545 14.3136 19.7936 14.3984 19.9362 14.4849Z" fill="#F3944D"/>
<path d="M14.5004 13.467C14.5362 13.4862 14.5706 13.505 14.6008 13.5289C14.6648 13.5794 14.7271 13.632 14.7894 13.6846C14.8712 13.7538 14.953 13.823 15.033 13.8941C15.0524 13.9113 15.0679 13.9345 15.08 13.9575C15.1218 14.0375 15.1614 14.1186 15.2019 14.2032C15.0846 14.2528 14.9674 14.2985 14.8458 14.3411C14.7605 14.2421 14.6796 14.1461 14.5982 14.0505C14.5764 14.0248 14.5536 13.9999 14.5308 13.9751C14.4922 13.9333 14.4553 13.8897 14.4138 13.8509C14.3858 13.8247 14.3511 13.8054 14.3193 13.783C14.3786 13.6783 14.4379 13.5737 14.5004 13.467Z" fill="#EC6168"/>
<path d="M15.7138 9.53461C15.6103 9.57114 15.5068 9.60765 15.4034 9.64431C15.4002 9.64545 15.3976 9.64821 15.3904 9.64712C15.2698 9.44516 15.096 9.30136 14.9087 9.17079C14.8622 9.13839 14.8134 9.10924 14.7656 9.07859C14.7985 8.9932 14.8314 8.90781 14.8691 8.81836C14.9786 8.86157 15.085 8.90573 15.1873 8.95756C15.2308 8.97962 15.2668 9.01665 15.3044 9.04886C15.3379 9.07755 15.3669 9.11142 15.4016 9.13856C15.4464 9.17364 15.5082 9.19532 15.5391 9.23872C15.6053 9.33193 15.6564 9.43536 15.7138 9.53461Z" fill="#EC663E"/>
<path d="M14.316 13.7847C14.3511 13.8054 14.3858 13.8247 14.4138 13.8509C14.4554 13.8897 14.4923 13.9333 14.5308 13.9752C14.5536 14 14.5764 14.0248 14.5983 14.0505C14.6796 14.1461 14.7605 14.2421 14.842 14.3416C14.6998 14.4142 14.5664 14.4967 14.4419 14.5981C14.2959 14.4387 14.1548 14.2811 14.0137 14.1234C14.1026 14.0249 14.1917 13.9265 14.2804 13.8277C14.2921 13.8147 14.3019 13.8001 14.316 13.7847Z" fill="#EB5E5B"/>
<path d="M10.5407 9.99463C10.6047 10.0089 10.6687 10.0232 10.7347 10.0455C10.7259 10.1014 10.7054 10.1495 10.706 10.1973C10.7073 10.3191 10.6574 10.4138 10.5673 10.4932C10.5447 10.5131 10.5275 10.5387 10.5056 10.5595C10.4234 10.6379 10.3403 10.7154 10.2572 10.7928C10.2524 10.7973 10.244 10.798 10.2375 10.8009C10.1535 10.8376 10.0696 10.8743 9.98573 10.9112C9.9498 10.927 9.91403 10.9431 9.87818 10.9591C9.85308 10.8945 9.82798 10.8298 9.80615 10.7608C9.88936 10.7094 9.9757 10.6701 10.0477 10.6135C10.1533 10.5304 10.2539 10.4397 10.3466 10.3432C10.4077 10.2795 10.4847 10.2228 10.5013 10.1257C10.5089 10.0811 10.5272 10.0383 10.5407 9.99463Z" fill="#EA580E"/>
<path d="M9.87744 10.9635C9.914 10.9434 9.94977 10.9272 9.9857 10.9114C10.0696 10.8745 10.1535 10.8378 10.2374 10.8011C10.244 10.7982 10.2524 10.7975 10.2572 10.793C10.3403 10.7156 10.4233 10.6381 10.5056 10.5598C10.5274 10.5389 10.5447 10.5133 10.5673 10.4934C10.6574 10.414 10.7073 10.3193 10.7059 10.1975C10.7054 10.1497 10.7259 10.1016 10.7369 10.0493C10.7961 10.0553 10.855 10.0655 10.9178 10.0778C10.8976 10.2609 10.806 10.4189 10.7337 10.5827C10.7077 10.6416 10.6548 10.6912 10.6075 10.7387C10.523 10.8232 10.4334 10.9029 10.346 10.9845C10.3407 10.9894 10.3357 10.9952 10.3294 10.998C10.1999 11.0561 10.0702 11.1138 9.93652 11.1717C9.91392 11.1037 9.89532 11.0357 9.87744 10.9635Z" fill="#E95514"/>
<path d="M9.53809 10.2946C9.64154 10.2055 9.75107 10.1257 9.8478 10.0332C9.92002 9.96405 9.9757 9.8785 10.0392 9.79663C10.1402 9.83928 10.2407 9.88557 10.343 9.93925C10.298 10.0143 10.2557 10.0856 10.2032 10.1488C10.1402 10.2247 10.0713 10.2966 9.99992 10.3652C9.91291 10.4487 9.8206 10.527 9.73058 10.6076C9.66661 10.5046 9.60264 10.4015 9.53809 10.2946Z" fill="#EB620B"/>
<path d="M14.0473 15.0762C13.9411 15.0411 13.8645 14.9696 13.7981 14.8845C13.698 14.7559 13.596 14.6288 13.4932 14.4977C13.5868 14.4347 13.6821 14.3749 13.7846 14.3164C13.8022 14.3273 13.8133 14.3363 13.8228 14.3468C13.9195 14.4546 14.0149 14.5636 14.1132 14.6701C14.1537 14.714 14.2002 14.7528 14.244 14.7939C14.179 14.8869 14.114 14.9799 14.0473 15.0762Z" fill="#EA544C"/>
<path d="M15.7183 9.53513C15.6566 9.43521 15.6055 9.33178 15.5392 9.23857C15.5084 9.19517 15.4466 9.17349 15.4018 9.13841C15.3671 9.11127 15.3381 9.0774 15.3046 9.04871C15.267 9.0165 15.231 8.97947 15.1875 8.95741C15.0852 8.90558 14.9788 8.86142 14.8701 8.81406C14.883 8.75627 14.8998 8.69859 14.9225 8.6377C15.0523 8.68733 15.1862 8.72542 15.2979 8.79659C15.4529 8.89539 15.6138 8.99255 15.7291 9.14133C15.7551 9.17488 15.7849 9.20586 15.815 9.23609C15.8864 9.30792 15.9255 9.39461 15.9426 9.49194C15.8693 9.50657 15.796 9.52119 15.7183 9.53513Z" fill="#EC6333"/>
<path d="M13.1655 11.6979C13.099 11.6479 13.057 11.5764 13.0358 11.4966C13.0108 11.4029 12.9915 11.3082 12.9326 11.2275C12.8855 11.1629 12.8987 11.0854 12.8826 11.0142C12.8656 10.9391 12.8483 10.8641 12.833 10.7886C12.8157 10.7031 12.7985 10.6175 12.7848 10.5313C12.7649 10.4051 12.7482 10.2784 12.73 10.1476C12.7995 10.1325 12.8691 10.1215 12.9433 10.1111C12.964 10.2348 12.9806 10.3579 12.9964 10.4811C12.9997 10.5071 13.0042 10.5339 13.0016 10.5597C12.9813 10.7598 13.0324 10.9519 13.0598 11.1475C13.0759 11.2623 13.113 11.3689 13.1371 11.4799C13.1523 11.5498 13.1565 11.6219 13.1655 11.6979Z" fill="#EB5E5B"/>
<path d="M14.7626 9.08032C14.8137 9.10913 14.8626 9.13829 14.9091 9.17068C15.0964 9.30125 15.2702 9.44505 15.3869 9.64757C15.2995 9.69775 15.2116 9.74428 15.1165 9.78958C14.9898 9.62034 14.8371 9.48676 14.6603 9.37872C14.6427 9.36801 14.6215 9.363 14.6021 9.35535C14.6274 9.31444 14.654 9.27417 14.6778 9.23245C14.7062 9.18301 14.7322 9.13231 14.7626 9.08032Z" fill="#EC644B"/>
<path d="M15.9474 9.49271C15.9253 9.39466 15.8863 9.30797 15.8148 9.23614C15.7847 9.20591 15.7549 9.17493 15.7289 9.14138C15.6137 8.9926 15.4528 8.89544 15.2977 8.79664C15.186 8.72547 15.0521 8.68738 14.9243 8.63403C14.9279 8.57832 14.9353 8.52312 14.9464 8.46558C15.1214 8.54324 15.2928 8.6232 15.464 8.70339C15.4737 8.70793 15.484 8.71295 15.4914 8.7202C15.6566 8.88046 15.818 9.04455 15.9877 9.20013C16.0714 9.27694 16.0895 9.37505 16.1167 9.47714C16.0619 9.48535 16.0071 9.48939 15.9474 9.49271Z" fill="#EB5F2D"/>
<path d="M9.73242 10.6107C9.82072 10.527 9.91304 10.4487 10.0001 10.3651C10.0715 10.2965 10.1403 10.2247 10.2033 10.1487C10.2558 10.0855 10.2981 10.0143 10.3451 9.94263C10.4076 9.95684 10.4699 9.97503 10.5365 9.994C10.5273 10.0384 10.509 10.0813 10.5014 10.1259C10.4848 10.223 10.4078 10.2796 10.3467 10.3433C10.254 10.4399 10.1534 10.5306 10.0478 10.6136C9.97579 10.6703 9.88945 10.7096 9.80577 10.7571C9.7794 10.7096 9.75677 10.6617 9.73242 10.6107Z" fill="#E95A0F"/>
<path d="M14.5981 9.35571C14.6216 9.36302 14.6428 9.36802 14.6603 9.37873C14.8372 9.48678 14.9898 9.62035 15.1126 9.78999C15.0346 9.85091 14.9532 9.9102 14.8669 9.96767C14.8543 9.9541 14.8485 9.94022 14.8384 9.93092C14.6983 9.80241 14.5576 9.67453 14.417 9.5465C14.4686 9.49336 14.5204 9.44039 14.5717 9.3869C14.5804 9.37777 14.5867 9.3664 14.5981 9.35571Z" fill="#EB5E5B"/>
<path d="M14.2475 14.7926C14.2004 14.753 14.1539 14.7142 14.1133 14.6703C14.0151 14.5638 13.9197 14.4548 13.8229 14.347C13.8135 14.3365 13.8023 14.3275 13.7886 14.3162C13.8592 14.2519 13.9332 14.1892 14.0104 14.125C14.1548 14.2811 14.2959 14.4388 14.4386 14.5997C14.3771 14.6657 14.314 14.7284 14.2475 14.7926Z" fill="#EB5A57"/>
<path d="M14.4132 9.5481C14.5571 9.67471 14.6979 9.80259 14.838 9.9311C14.8481 9.9404 14.8538 9.95428 14.863 9.96942C14.8164 10.0149 14.7683 10.0569 14.7131 10.0978C14.6673 10.0654 14.6313 10.0304 14.5896 10.0037C14.455 9.91725 14.3403 9.80964 14.2319 9.69469C14.2913 9.6463 14.3506 9.59791 14.4132 9.5481Z" fill="#EC6168"/>
<path d="M14.2285 9.69507C14.3407 9.80949 14.4554 9.9171 14.59 10.0035C14.6317 10.0302 14.6678 10.0653 14.7097 10.0981C14.6752 10.1447 14.6373 10.1899 14.5961 10.2366C14.5222 10.1815 14.4437 10.1319 14.3834 10.0663C14.3296 10.0076 14.2779 9.97448 14.1949 9.97903C14.1664 9.9806 14.1325 9.94943 14.1071 9.92676C14.0741 9.89736 14.0472 9.86151 14.0161 9.82515C14.0846 9.77978 14.1546 9.73768 14.2285 9.69507Z" fill="#ED656E"/>
</g>
<defs>
<clipPath id="clip0_1004_325132">
<rect width="22" height="12" fill="white" transform="translate(1 6)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.738 5.77611C19.901 5.56711 20.044 5.37611 20.195 5.19111C20.265 5.10411 20.259 5.03811 20.191 4.94711C19.536 4.08611 19.474 3.13011 19.851 2.16011C20.134 1.43011 20.76 1.08811 21.525 1.01511C22.002 0.970106 22.47 1.01911 22.904 1.25111C23.474 1.55611 23.806 2.02111 23.914 2.66311C24 3.17511 23.984 3.67511 23.839 4.17111C23.582 5.04911 22.951 5.50411 22.086 5.61911C21.368 5.71511 20.64 5.72711 19.916 5.77611C19.86 5.78011 19.803 5.77611 19.738 5.77611Z" fill="#027AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.962 1.84399H13.636L10.211 9.65399H5.369V1.87799H1.5V22H5.37V13.523H12.194C12.7704 13.523 13.3349 13.3582 13.8208 13.0482C14.3068 12.7382 14.694 12.2957 14.937 11.773V22H18.807V13.523C18.8071 12.5454 18.4371 11.6039 17.7716 10.8879C17.106 10.1718 16.194 9.73423 15.219 9.66299V9.65299H13.094C13.606 9.47807 14.0765 9.19956 14.4762 8.83482C14.8759 8.47008 15.1961 8.02693 15.417 7.53299L17.962 1.84399Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show More