Compare commits

..

76 Commits

Author SHA1 Message Date
wanglin2
516676b484 更新群二维码 2023-08-04 20:14:26 +08:00
wanglin2
10ed3d4f7c Merge branch 'feature' into main 2023-08-01 18:55:55 +08:00
wanglin2
8fc7f7d32c 打包 2023-08-01 18:55:32 +08:00
wanglin2
27a0efa4e0 Demo:1.打包不修改静态资源的文件名;2.支持运行时设置静态资源路径 2023-08-01 18:54:40 +08:00
wanglin2
7d227e901a Merge branch 'feature' into main 2023-08-01 09:51:30 +08:00
wanglin2
080d7489e7 打包 2023-08-01 09:51:12 +08:00
wanglin2
b11bd5a7ef Demo:提供应用接管模式,方便对接自己的存储服务 2023-08-01 09:49:44 +08:00
wanglin2
80ae38d295 Merge branch 'feature' into main 2023-07-31 09:48:07 +08:00
wanglin2
a4b7915196 Doc:update 2023-07-31 09:45:20 +08:00
wanglin2
4d4f1b993e Merge branch 'feature' into main 2023-07-30 21:55:37 +08:00
wanglin2
b814bd35ca 打包0.6.11-fix.1 2023-07-30 21:55:20 +08:00
wanglin2
c57361a360 Fix:修复节点文字为白色时编辑的时候看不见的问题 2023-07-30 21:53:32 +08:00
wanglin2
f8c2a62bd6 Merge branch 'feature' into main 2023-07-30 10:58:19 +08:00
wanglin2
59241717f5 打包0.6.11 2023-07-30 10:57:42 +08:00
wanglin2
e90509cac9 Doc: update 2023-07-30 10:56:35 +08:00
wanglin2
8a8cc26c1d Feat:优化小地图,去除小地图内的节点内容,优化性能 2023-07-30 10:51:38 +08:00
wanglin2
1d443b9f94 Doc: update 2023-07-30 09:44:00 +08:00
wanglin2
60a4f443a7 Demo:节点图片上传支持输入网络图片 2023-07-30 09:41:58 +08:00
wanglin2
72c2540dcc Merge branch 'feature' into main 2023-07-29 23:18:46 +08:00
wanglin2
18cec3b75a 打包 2023-07-29 23:18:18 +08:00
wanglin2
d4aae5268e Demo:1.新增主题;2.主题列表新增tab分类 2023-07-29 23:16:59 +08:00
wanglin2
99ca0738d4 Merge branch 'feature' into main 2023-07-29 19:50:07 +08:00
wanglin2
408ca6d711 Doc:updagte 2023-07-29 19:49:08 +08:00
wanglin2
99dcb55397 Merge branch 'feature' into main 2023-07-29 19:23:43 +08:00
wanglin2
e11b6647b8 打包0.6.10 2023-07-29 19:22:40 +08:00
wanglin2
78f5d4ec88 Demo:支持点击节点内的图标显示一个图标快捷替换和删除悬浮面板 2023-07-29 16:08:12 +08:00
wanglin2
20eba7b29b Demo:修复在搜索框回车后输入框焦点丢失的问题 2023-07-29 14:24:50 +08:00
wanglin2
4c9698a147 Fix:1.修复内部数据深拷贝位置不正确的问题;2.修复富文本节点换行不生效的问题;3.修复切换主题等场景时节点换行会丢失的问题; 2023-07-29 14:23:57 +08:00
wanglin2
55da8eac83 Fix:修复调整图片大小的按钮在节点操作后没有更新的问题 2023-07-29 10:45:25 +08:00
wanglin2
17ea049393 Demo:调整添加节点图标的UI;新增节点图标;新增贴纸 2023-07-29 10:36:57 +08:00
wanglin2
d2e468287d Demo:优化搜索,鼠标不在搜索区域内不聚焦,解决鼠标不在搜索区域内无法删除输入的文字的问题 2023-07-28 21:29:05 +08:00
wanglin2
ad6085890e Demo:1.支持通过图标调出搜索;2.支持通过图标切换暗黑模式 2023-07-28 17:45:53 +08:00
wanglin2
cd4f1b1bd8 Feat:搜索支持搜索空白字符和替换为空白字符 2023-07-28 17:34:55 +08:00
wanglin2
a2acf810cb Fix:修复搜索定位到某个节点后删除该节点,再次搜索搜索结果未更新的问题 2023-07-28 17:05:44 +08:00
wanglin2
14bd7c3705 Merge branch 'feature' into main 2023-07-28 16:47:17 +08:00
wanglin2
5d0c9dcab1 打包0.6.9-fix.1 2023-07-28 16:46:38 +08:00
wanglin2
def2f02eea 1.修复搜索进行一次单个替换后再全部替换不正确的问题;2.不会再直接修改传入的data对象,内部会深拷贝一份 2023-07-28 16:36:56 +08:00
wanglin2
a74a60c22d 更新群二维码 2023-07-28 09:38:00 +08:00
wanglin2
74d37f2cbc Merge branch 'feature' into main 2023-07-28 09:36:54 +08:00
wanglin2
6ca9a116c2 打包0.6.9 2023-07-28 09:36:25 +08:00
wanglin2
8e59677623 Doc: update 2023-07-28 09:33:18 +08:00
wanglin2
d06f57a5dc Demo:优化暗黑模式 2023-07-28 08:55:35 +08:00
wanglin2
07be48d342 Feat:支持搜索和替换 2023-07-28 08:50:29 +08:00
wanglin2
5a5c7702f5 修改注释 2023-07-28 08:48:51 +08:00
wanglin2
7e1a43143d Demo:切换主题时支持选择是否覆盖设置过的基础样式 2023-07-26 09:17:48 +08:00
wanglin2
5ff9137745 Fix:1.修复节点处于编辑中时添加新节点时新节点的焦点丢失问题;2.修复连续按tab键无法连续创建子节点的问题 2023-07-26 09:04:24 +08:00
wanglin2
8e30d4a94f Fix:修复自定义节点内容时,二次创建根实例时节点内容不渲染的问题 2023-07-25 18:35:41 +08:00
wanglin2
4b2ebb2e1c Doc: update 2023-07-25 16:29:14 +08:00
wanglin2
8c79ffd723 Feat:导出svg时替换svg中存在的 字符,防止导出的svg报错 2023-07-25 09:38:50 +08:00
wanglin2
839c79405f Fix:修复给概要节点设置样式概要节点会消失的问题 2023-07-25 09:25:42 +08:00
wanglin2
d645adfd37 Merge branch 'feature' into main 2023-07-24 14:20:43 +08:00
wanglin2
1b1551c6e3 Demo:完善暗黑模式 2023-07-24 14:20:29 +08:00
wanglin2
78638dc291 更新群二维码 2023-07-24 11:26:55 +08:00
wanglin2
e972924143 打包0.6.8 2023-07-24 11:25:10 +08:00
wanglin2
8871d8727b Doc: update 2023-07-24 11:21:09 +08:00
wanglin2
55945a1a2c Demo:支持根据主题自动切换为暗黑模式 2023-07-24 10:25:02 +08:00
wanglin2
d5e4044fb2 Demo:支持夜间模式 2023-07-24 10:12:53 +08:00
wanglin2
4ee458c509 Demo:修复节点正在编辑时切换富文本编辑配置输入框出现异常的问题 2023-07-24 08:53:08 +08:00
wanglin2
a76ec0dad8 Feat:修改复制、剪切、粘贴逻辑;支持粘贴剪切板中的数据 2023-07-21 17:40:09 +08:00
wanglin2
f2b247e85c Demo:修复基础样式-设置节点外边距未保存的问题 2023-07-21 14:10:40 +08:00
wanglin2
3aed09a8c3 Feat:修改插入概要的快捷键为Ctrl+G 2023-07-21 11:28:49 +08:00
wanglin2
17b7a023ba Merge branch 'main' of https://github.com/wanglin2/mind-map into feature 2023-07-19 09:02:05 +08:00
wanglin2
10cb36829f Doc: update 2023-07-19 09:01:47 +08:00
wanglin2
90a55bb995 Merge branch 'feature' into main 2023-07-18 10:55:57 +08:00
wanglin2
08a37d8971 Doc: update 2023-07-18 10:55:28 +08:00
wanglin2
89983f9f47 Merge branch 'feature' into main 2023-07-18 09:30:32 +08:00
wanglin2
b71a80e383 打包0.6.7 2023-07-18 09:29:19 +08:00
wanglin2
2bf146816b Doc:update 2023-07-18 09:21:58 +08:00
wanglin2
daf9888da4 Fix:修复节点收起再展开后展开收起按钮占位元素丢失的问题 2023-07-18 08:44:44 +08:00
wanglin2
b42cee7a2f Feat:支持根据id定位到某个节点、优化大纲的节点定位 2023-07-18 08:35:40 +08:00
wanglin2
adccef5699 Feat:修改节点uid的创建 2023-07-17 09:59:47 +08:00
wanglin2
94230f8ec6 Fix:修复大纲里创建新节点时节点样式丢失的问题 2023-07-17 09:43:22 +08:00
wanglin2
a161661c6b 删除节点过渡动画效果 2023-07-17 09:07:58 +08:00
wanglin2
08b971cd9a Demo:优化大纲编辑 2023-07-16 22:20:09 +08:00
wanglin2
b64c8f132b Demo:优化页面:侧边栏按钮支持收起;优化小屏适配 2023-07-15 17:29:26 +08:00
wanglin2
d6181591c5 Fix:修复只读模式下可以缩放图片的bug 2023-07-15 15:26:57 +08:00
380 changed files with 6655 additions and 483 deletions

View File

@@ -11,13 +11,13 @@
本项目包含两部分:
1.一个js思维导图库不依赖任何框架你可以使用它来快速完成Web思维导图产品的开发。
1.一个 js 思维导图库,不依赖任何框架,你可以使用它来快速完成 Web 思维导图产品的开发。
开发文档:[https://wanglin2.github.io/mind-map/#/doc/zh/](https://wanglin2.github.io/mind-map/#/doc/zh/)
开发文档:[https://wanglin2.github.io/mind-map/#/doc/zh/](https://wanglin2.github.io/mind-map/#/doc/zh/)
2.一个Web思维导图基于思维导图库、Vue2.x、ElementUI开发可以操作电脑本地文件所以你可以直接把它当做一个在线版思维导图应用使用如果觉得github的响应速度慢你也可以部署到你的服务器上。
2.一个 Web 思维导图基于思维导图库、Vue2.x、ElementUI 开发,可以操作电脑本地文件,所以你可以直接把它当做一个在线版思维导图应用使用,如果觉得 github 的响应速度慢,你也可以部署到你的服务器上。
在线地址:[https://wanglin2.github.io/mind-map/](https://wanglin2.github.io/mind-map/)
在线地址:[https://wanglin2.github.io/mind-map/](https://wanglin2.github.io/mind-map/)
另外也提供了客户端可供下载使用,支持`Windows``Mac``Linux`,下载地址:
@@ -28,18 +28,15 @@ Github[releases](https://github.com/wanglin2/mind-map/releases)。
# 特性
- [x] 插件化架构,除核心功能外,其他功能作为插件提供,按需使用,减小打包体积
- [x] 支持逻辑结构图、思维导图、组织结构图、目录组织图、时间轴、鱼骨图六种结构
- [x] 支持逻辑结构图、思维导图、组织结构图、目录组织图、时间轴(横向、竖向)、鱼骨图结构
- [x] 内置多种主题,允许高度自定义样式,支持注册新主题
- [x] 支持快捷键
- [x] 节点内容支持图片、图标、超链接、备注、标签、概要
- [x] 支持前进后退
- [x] 支持拖动、缩放
- [x] 支持右键和Ctrl+左键两种多选方式
- [x] 支持节点自由拖拽、拖拽调整
- [x] 支持多种节点形状
- [x] 支持导出为`json``png``svg``pdf``markdown`,支持从`json``xmind``markdown`导入
- [x] 支持小地图、支持水印
- [x] 支持关联线
- [x] 节点内容支持文本(普通文本、富文本)、图片、图标、超链接、备注、标签、概要
- [x] 节点支持拖拽(拖拽移动、自由调整)、多种节点形状,支持使用 DDM 完全自定义节点内容
- [x] 支持画布拖动、缩放
- [x] 支持鼠标按键拖动选择和Ctrl+左键两种多选节点方式
- [x] 支持导出为`json``png``svg``pdf``markdown``xmind`,支持从`json``xmind``markdown`导入
- [x] 支持快捷键、前进后退、关联线、搜索替换、小地图、水印
- [x] 提供丰富的配置,满足各种场景各种使用习惯
# 安装
@@ -136,4 +133,20 @@ const mindMap = new MindMap({
<img src="./web/src/assets/avatar/suka.jpg" style="width: 50px;height: 50px;" />
<span>suka</span>
</span>
<span>
<img src="./web/src/assets/avatar/Chris.jpg" style="width: 50px;height: 50px;" />
<span>Chris</span>
</span>
<span>
<img src="./web/src/assets/avatar/水车.jpg" style="width: 50px;height: 50px;" />
<span>水车</span>
</span>
<span>
<img src="./web/src/assets/avatar/仓鼠.jpg" style="width: 50px;height: 50px;" />
<span>仓鼠</span>
</span>
<span>
<img src="./web/src/assets/avatar/千帆.jpg" style="width: 50px;height: 50px;" />
<span>千帆</span>
</span>
</p>

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 182 KiB

View File

@@ -10,6 +10,7 @@ import AssociativeLine from './src/plugins/AssociativeLine'
import RichText from './src/plugins/RichText'
import NodeImgAdjust from './src/plugins/NodeImgAdjust.js'
import TouchEvent from './src/plugins/TouchEvent.js'
import Search from './src/plugins/Search.js'
import xmind from './src/parse/xmind.js'
import markdown from './src/parse/markdown.js'
import icons from './src/svg/icons.js'
@@ -36,5 +37,6 @@ MindMap
.usePlugin(RichText)
.usePlugin(TouchEvent)
.usePlugin(NodeImgAdjust)
.usePlugin(Search)
export default MindMap

View File

@@ -7,9 +7,9 @@ import Style from './src/core/render/node/Style'
import KeyCommand from './src/core/command/KeyCommand'
import Command from './src/core/command/Command'
import BatchExecution from './src/utils/BatchExecution'
import { layoutValueList, CONSTANTS } from './src/constants/constant'
import { layoutValueList, CONSTANTS, commonCaches } from './src/constants/constant'
import { SVG } from '@svgdotjs/svg.js'
import { simpleDeepClone } from './src/utils'
import { simpleDeepClone, getType } from './src/utils'
import defaultTheme, { checkIsNodeSizeIndependenceConfig } from './src/themes/default'
import { defaultOpt } from './src/constants/defaultOptions'
@@ -32,12 +32,12 @@ class MindMap {
this.svg = SVG().addTo(this.el).size(this.width, this.height)
this.draw = this.svg.group()
// 节点id
this.uid = 1
// 初始化主题
this.initTheme()
// 初始化缓存数据
this.initCache()
// 事件类
this.event = new Event({
mindMap: this
@@ -81,6 +81,8 @@ class MindMap {
// 配置参数处理
handleOpt(opt) {
// 深拷贝一份节点数据
opt.data = simpleDeepClone(opt.data || {})
// 检查布局配置
if (!layoutValueList.includes(opt.layout)) {
opt.layout = CONSTANTS.LAYOUT.LOGICAL_STRUCTURE
@@ -132,6 +134,23 @@ class MindMap {
this.event.off(event, fn)
}
// 初始化缓存数据
initCache() {
Object.keys(commonCaches).forEach((key) => {
let type = getType(commonCaches[key])
let value = ''
switch(type) {
case 'Boolean':
value = false
break
default:
value = null
break
}
commonCaches[key] = value
})
}
// 设置主题
initTheme() {
// 合并主题配置
@@ -238,7 +257,7 @@ class MindMap {
// 获取思维导图数据,节点树、主题、布局等
getData(withConfig) {
let nodeData = this.command.removeDataUid(this.command.getCopyData())
let nodeData = this.command.getCopyData()
let data = {}
if (withConfig) {
data = {

View File

@@ -1,11 +1,11 @@
{
"name": "simple-mind-map",
"version": "0.6.0",
"version": "0.6.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "0.6.0",
"version": "0.6.7",
"license": "MIT",
"dependencies": {
"@svgdotjs/svg.js": "^3.0.16",

View File

@@ -1,6 +1,6 @@
{
"name": "simple-mind-map",
"version": "0.6.6",
"version": "0.6.11-fix.1",
"description": "一个简单的web在线思维导图",
"authors": [
{

View File

@@ -27,130 +27,162 @@ export const themeList = [
{
name: '默认',
value: 'default',
dark: false
},
{
name: '暗色2',
value: 'dark2',
dark: true
},
{
name: '天清绿',
value: 'skyGreen',
dark: false
},
{
name: '脑图经典2',
value: 'classic2',
dark: false
},
{
name: '脑图经典3',
value: 'classic3',
dark: false
},
{
name: '经典绿',
value: 'classicGreen',
dark: false
},
{
name: '经典蓝',
value: 'classicBlue',
dark: false
},
{
name: '天空蓝',
value: 'blueSky',
dark: false
},
{
name: '脑残粉',
value: 'brainImpairedPink',
dark: false
},
{
name: '暗色',
value: 'dark',
dark: true
},
{
name: '泥土黄',
value: 'earthYellow',
dark: false
},
{
name: '清新绿',
value: 'freshGreen',
dark: false
},
{
name: '清新红',
value: 'freshRed',
dark: false
},
{
name: '浪漫紫',
value: 'romanticPurple',
dark: false
},
{
name: '粉红葡萄',
value: 'pinkGrape',
dark: false
},
{
name: '薄荷',
value: 'mint',
dark: false
},
{
name: '金色vip',
value: 'gold',
dark: false
},
{
name: '活力橙',
value: 'vitalityOrange',
dark: false
},
{
name: '绿叶',
value: 'greenLeaf',
dark: false
},
{
name: '脑图经典',
value: 'classic',
dark: true
},
{
name: '脑图经典4',
value: 'classic4',
dark: false
},
{
name: '小黄人',
value: 'minions',
dark: false
},
{
name: '简约黑',
value: 'simpleBlack',
dark: false
},
{
name: '课程绿',
value: 'courseGreen',
dark: false
},
{
name: '咖啡',
value: 'coffee',
dark: false
},
{
name: '红色精神',
value: 'redSpirit',
dark: false
},
{
name: '黑色幽默',
value: 'blackHumour',
dark: true
},
{
name: '深夜办公室',
value: 'lateNightOffice',
dark: true
},
{
name: '黑金',
value: 'blackGold',
dark: true
},
{
name: '牛油果',
value: 'avocado',
dark: false
},
{
name: '秋天',
value: 'autumn',
dark: false
},
{
name: '橙汁',
value: 'orangeJuice',
dark: true
}
]
@@ -213,6 +245,10 @@ export const CONSTANTS = {
TOP: 'top',
RIGHT: 'right',
BOTTOM: 'bottom'
},
PASTE_TYPE: {
CLIP_BOARD: 'clipBoard',
CANVAS: 'canvas'
}
}
@@ -288,4 +324,9 @@ export const nodeDataNoStylePropList = [
'resetRichText',
'uid',
'activeStyle'
]
]
// 数据缓存
export const commonCaches = {
measureCustomNodeContentSizeEl: null
}

View File

@@ -79,10 +79,6 @@ export const defaultOpt = {
},
// 是否只有当鼠标在画布内才响应快捷键事件
enableShortcutOnlyWhenMouseInSvg: true,
// 是否开启节点动画过渡
enableNodeTransitionMove: true,
// 如果开启节点动画过渡可以通过该属性设置过渡的时间单位ms
nodeTransitionMoveDuration: 300,
// 初始根节点的位置
initRootNodePosition: null,
// 导出png、svg、pdf时的图形内边距

View File

@@ -89,7 +89,7 @@ class Command {
this.history.shift()
}
this.activeHistoryIndex = this.history.length - 1
this.mindMap.emit('data_change', this.removeDataUid(data))
this.mindMap.emit('data_change', data)
this.mindMap.emit(
'back_forward',
this.activeHistoryIndex,
@@ -110,7 +110,7 @@ class Command {
this.history.length
)
let data = simpleDeepClone(this.history[this.activeHistoryIndex])
this.mindMap.emit('data_change', this.removeDataUid(data))
this.mindMap.emit('data_change', data)
return data
}
}
@@ -125,7 +125,7 @@ class Command {
this.activeHistoryIndex += step
this.mindMap.emit('back_forward', this.activeHistoryIndex, this.history.length)
let data = simpleDeepClone(this.history[this.activeHistoryIndex])
this.mindMap.emit('data_change', this.removeDataUid(data))
this.mindMap.emit('data_change', data)
return data
}
}

View File

@@ -57,8 +57,11 @@ export default class KeyCommand {
}
Object.keys(this.shortcutMap).forEach(key => {
if (this.checkKey(e, key)) {
e.stopPropagation()
e.preventDefault()
// 粘贴事件不组织因为要监听paste事件
if (!this.checkKey(e, 'Control+v')) {
e.stopPropagation()
e.preventDefault()
}
this.shortcutMap[key].forEach(fn => {
fn()
})

View File

@@ -7,7 +7,13 @@ import Timeline from '../../layouts/Timeline'
import VerticalTimeline from '../../layouts/VerticalTimeline'
import Fishbone from '../../layouts/Fishbone'
import TextEdit from './TextEdit'
import { copyNodeTree, simpleDeepClone, walk } from '../../utils'
import {
copyNodeTree,
simpleDeepClone,
walk,
bfsWalk,
loadImage
} from '../../utils'
import { shapeList } from './node/Shape'
import { lineStyleProps } from '../../themes/default'
import { CONSTANTS } from '../../constants/constant'
@@ -29,7 +35,7 @@ const layouts = {
// 竖向时间轴
[CONSTANTS.LAYOUT.VERTICAL_TIMELINE]: VerticalTimeline,
// 鱼骨图
[CONSTANTS.LAYOUT.FISHBONE]: Fishbone,
[CONSTANTS.LAYOUT.FISHBONE]: Fishbone
}
// 渲染
@@ -42,7 +48,7 @@ class Render {
this.themeConfig = this.mindMap.themeConfig
this.draw = this.mindMap.draw
// 渲染树,操作过程中修改的都是这里的数据
this.renderTree = merge({}, this.mindMap.opt.data || {})
this.renderTree = merge({},this.mindMap.opt.data || {})
// 是否重新渲染
this.reRender = false
// 是否正在渲染中
@@ -60,6 +66,12 @@ class Render {
this.root = null
// 文本编辑框需要再bindEvent之前实例化否则单击事件只能触发隐藏文本编辑框而无法保存文本修改
this.textEdit = new TextEdit(this)
// 当前复制的数据
this.lastBeingCopyData = null
this.beingCopyData = null
this.beingPasteText = ''
this.beingPasteImgSize = 0
this.currentBeingPasteType = ''
// 布局
this.setLayout()
// 绑定事件
@@ -82,18 +94,24 @@ class Render {
// 绑定事件
bindEvent() {
// 点击事件
this.mindMap.on('draw_click', (e) => {
this.mindMap.on('draw_click', e => {
// 清除激活状态
let isTrueClick = true
let { useLeftKeySelectionRightKeyDrag } = this.mindMap.opt
if (useLeftKeySelectionRightKeyDrag) {
let mousedownPos = this.mindMap.event.mousedownPos
isTrueClick = Math.abs(e.clientX - mousedownPos.x) <= 5 && Math.abs(e.clientY - mousedownPos.y) <= 5
isTrueClick =
Math.abs(e.clientX - mousedownPos.x) <= 5 &&
Math.abs(e.clientY - mousedownPos.y) <= 5
}
if (isTrueClick && this.activeNodeList.length > 0) {
this.mindMap.execCommand('CLEAR_ACTIVE_NODE')
}
})
// 粘贴事件
this.mindMap.on('paste', data => {
this.onPaste(data)
})
}
// 注册命令
@@ -195,6 +213,9 @@ class Render {
// 设置节点形状
this.setNodeShape = this.setNodeShape.bind(this)
this.mindMap.command.add('SET_NODE_SHAPE', this.setNodeShape)
// 定位节点
this.goTargetNode = this.goTargetNode.bind(this)
this.mindMap.command.add('GO_TARGET_NODE', this.goTargetNode)
}
// 注册快捷键
@@ -212,7 +233,7 @@ class Render {
}
this.mindMap.keyCommand.addShortcut('Enter', this.insertNodeWrap)
// 插入概要
this.mindMap.keyCommand.addShortcut('Control+s', this.addGeneralization)
this.mindMap.keyCommand.addShortcut('Control+g', this.addGeneralization)
// 展开/收起节点
this.toggleActiveExpand = this.toggleActiveExpand.bind(this)
this.mindMap.keyCommand.addShortcut('/', this.toggleActiveExpand)
@@ -239,6 +260,14 @@ class Render {
// 下移节点
this.mindMap.keyCommand.addShortcut('Control+Down', this.downNode)
// 复制节点、剪切节点、粘贴节点的快捷键需开发者自行注册实现可参考demo
this.copy = this.copy.bind(this)
this.mindMap.keyCommand.addShortcut('Control+c', this.copy)
this.mindMap.keyCommand.addShortcut('Control+v', () => {
// 隐藏输入框可能会失去焦点,所以要重新聚焦
this.textEdit.focusHiddenInput()
})
this.cut = this.cut.bind(this)
this.mindMap.keyCommand.addShortcut('Control+x', this.cut)
}
// 开启文字编辑,会禁用回车键和删除键相关快捷键防止冲突
@@ -259,7 +288,6 @@ class Render {
// 渲染
render(callback = () => {}, source) {
let t = Date.now()
// 如果当前还没有渲染完毕,不再触发渲染
if (this.isRendering) {
// 等待当前渲染完毕后再进行一次渲染
@@ -279,7 +307,7 @@ class Render {
// 计算布局
this.layout.doLayout(root => {
// 删除本次渲染时不再需要的节点
Object.keys(this.lastNodeCache).forEach((uid) => {
Object.keys(this.lastNodeCache).forEach(uid => {
if (!this.nodeCache[uid]) {
this.lastNodeCache[uid].destroy()
if (this.lastNodeCache[uid].parent) {
@@ -290,7 +318,7 @@ class Render {
// 更新根节点
this.root = root
// 渲染节点
const onEnd = () => {
this.root.render(() => {
this.isRendering = false
this.mindMap.emit('node_tree_render_end')
callback && callback()
@@ -299,22 +327,13 @@ class Render {
this.render(callback, source)
} else {
// 触发一次保存,因为修改了渲染树的数据
if (this.mindMap.richText && [CONSTANTS.CHANGE_THEME, CONSTANTS.SET_DATA].includes(source)) {
if (
this.mindMap.richText &&
[CONSTANTS.CHANGE_THEME, CONSTANTS.SET_DATA].includes(source)
) {
this.mindMap.command.addHistory()
}
}
}
let { enableNodeTransitionMove, nodeTransitionMoveDuration } =
this.mindMap.opt
this.root.render(() => {
let dur = Date.now() - t
if (enableNodeTransitionMove && dur <= nodeTransitionMoveDuration) {
setTimeout(() => {
onEnd()
}, nodeTransitionMoveDuration - dur);
} else {
onEnd()
}
})
})
this.mindMap.emit('node_active', null, this.activeNodeList)
@@ -416,7 +435,7 @@ class Render {
// 规范指定节点数据
formatAppointNodes(appointNodes) {
if (!appointNodes) return []
return Array.isArray(appointNodes) ? appointNodes: [appointNodes]
return Array.isArray(appointNodes) ? appointNodes : [appointNodes]
}
// 插入同级节点,多个节点只会操作第一个节点
@@ -425,7 +444,11 @@ class Render {
if (this.activeNodeList.length <= 0 && appointNodes.length <= 0) {
return
}
let { defaultInsertSecondLevelNodeText, defaultInsertBelowSecondLevelNodeText } = this.mindMap.opt
this.textEdit.hideEditTextBox()
let {
defaultInsertSecondLevelNodeText,
defaultInsertBelowSecondLevelNodeText
} = this.mindMap.opt
let list = appointNodes.length > 0 ? appointNodes : this.activeNodeList
let first = list[0]
if (first.isGeneralization) {
@@ -434,16 +457,22 @@ class Render {
if (first.isRoot) {
this.insertChildNode(openEdit, appointNodes, appointData)
} else {
let text = first.layerIndex === 1 ? defaultInsertSecondLevelNodeText : defaultInsertBelowSecondLevelNodeText
let text =
first.layerIndex === 1
? defaultInsertSecondLevelNodeText
: defaultInsertBelowSecondLevelNodeText
if (first.layerIndex === 1) {
first.parent.destroy()
}
let index = this.getNodeIndex(first)
let isRichText = !!this.mindMap.richText
first.parent.nodeData.children.splice(index + 1, 0, {
inserting: openEdit,
data: {
text: text,
expand: true,
richText: isRichText,
resetRichText: isRichText,
...(appointData || {})
},
children: []
@@ -458,7 +487,11 @@ class Render {
if (this.activeNodeList.length <= 0 && appointNodes.length <= 0) {
return
}
let { defaultInsertSecondLevelNodeText, defaultInsertBelowSecondLevelNodeText } = this.mindMap.opt
this.textEdit.hideEditTextBox()
let {
defaultInsertSecondLevelNodeText,
defaultInsertBelowSecondLevelNodeText
} = this.mindMap.opt
let list = appointNodes.length > 0 ? appointNodes : this.activeNodeList
list.forEach(node => {
if (node.isGeneralization) {
@@ -467,12 +500,17 @@ class Render {
if (!node.nodeData.children) {
node.nodeData.children = []
}
let text = node.isRoot ? defaultInsertSecondLevelNodeText : defaultInsertBelowSecondLevelNodeText
let text = node.isRoot
? defaultInsertSecondLevelNodeText
: defaultInsertBelowSecondLevelNodeText
let isRichText = !!this.mindMap.richText
node.nodeData.children.push({
inserting: openEdit,
data: {
text: text,
expand: true,
richText: isRichText,
resetRichText: isRichText,
...(appointData || {})
},
children: []
@@ -540,13 +578,81 @@ class Render {
this.mindMap.render()
}
// 复制节点
copy() {
this.beingCopyData = this.copyNode()
}
// 剪切节点
cut() {
this.mindMap.execCommand('CUT_NODE', copyData => {
this.beingCopyData = copyData
})
}
// 粘贴节点
paste() {
if (this.beingCopyData) {
this.mindMap.execCommand('PASTE_NODE', this.beingCopyData)
}
}
// 粘贴事件
async onPaste({ text, img }) {
// 检查剪切板数据是否有变化
// 通过图片大小来判断图片是否发生变化,可能是不准确的,但是目前没有其他好方法
const imgSize = img ? img.size : 0
if (this.beingPasteText !== text || this.beingPasteImgSize !== imgSize) {
this.currentBeingPasteType = CONSTANTS.PASTE_TYPE.CLIP_BOARD
this.beingPasteText = text
this.beingPasteImgSize = imgSize
}
// 检查要粘贴的节点数据是否有变化,节点优先级高于剪切板
if (this.lastBeingCopyData !== this.beingCopyData) {
this.lastBeingCopyData = this.beingCopyData
this.currentBeingPasteType = CONSTANTS.PASTE_TYPE.CANVAS
}
// 粘贴剪切板的数据
if (this.currentBeingPasteType === CONSTANTS.PASTE_TYPE.CLIP_BOARD) {
// 存在文本,则创建子节点
if (text) {
this.mindMap.execCommand('INSERT_CHILD_NODE', false, [], {
text
})
}
// 存在图片,则添加到当前激活节点
if (img) {
try {
let imgData = await loadImage(img)
if (this.activeNodeList.length > 0) {
this.activeNodeList.forEach(node => {
this.mindMap.execCommand('SET_NODE_IMAGE', node, {
url: imgData.url,
title: '',
width: imgData.size.width,
height: imgData.size.height
})
})
}
} catch (error) {
console.log(error)
}
}
} else {
// 粘贴节点数据
this.paste()
}
}
// 将节点移动到另一个节点的前面
insertBefore(node, exist) {
if (node.isRoot) {
return
}
// 如果是二级节点变成了下级节点,或是下级节点变成了二级节点,节点样式需要更新
let nodeLayerChanged = (node.layerIndex === 1 && exist.layerIndex !== 1) || (node.layerIndex !== 1 && exist.layerIndex === 1)
let nodeLayerChanged =
(node.layerIndex === 1 && exist.layerIndex !== 1) ||
(node.layerIndex !== 1 && exist.layerIndex === 1)
// 移动节点
let nodeParent = node.parent
let nodeBorthers = nodeParent.children
@@ -583,7 +689,9 @@ class Render {
return
}
// 如果是二级节点变成了下级节点,或是下级节点变成了二级节点,节点样式需要更新
let nodeLayerChanged = (node.layerIndex === 1 && exist.layerIndex !== 1) || (node.layerIndex !== 1 && exist.layerIndex === 1)
let nodeLayerChanged =
(node.layerIndex === 1 && exist.layerIndex !== 1) ||
(node.layerIndex !== 1 && exist.layerIndex === 1)
// 移动节点
let nodeParent = node.parent
let nodeBorthers = nodeParent.children
@@ -623,7 +731,7 @@ class Render {
}
let isAppointNodes = appointNodes.length > 0
let list = isAppointNodes ? appointNodes : this.activeNodeList
let root = list.find((node) => {
let root = list.find(node => {
return node.isRoot
})
if (root) {
@@ -709,7 +817,7 @@ class Render {
// 粘贴节点到节点
pasteNode(data) {
if (this.activeNodeList.length <= 0) {
if (this.activeNodeList.length <= 0 || !data) {
return
}
this.activeNodeList.forEach(item => {
@@ -864,10 +972,11 @@ class Render {
}
// 设置节点文本
setNodeText(node, text, richText) {
setNodeText(node, text, richText, resetRichText) {
this.setNodeDataRender(node, {
text,
richText
richText,
resetRichText
})
}
@@ -992,6 +1101,20 @@ class Render {
})
}
// 定位到指定节点
goTargetNode(node, callback = () => {}) {
let uid = typeof node === 'string' ? node : node.nodeData.data.uid
if (!uid) return
this.expandToNodeUid(uid, () => {
let targetNode = this.findNodeByUid(uid)
if (targetNode) {
targetNode.active()
this.moveNodeToCenter(targetNode)
callback()
}
})
}
// 更新节点数据
setNodeData(node, data) {
Object.keys(data).forEach(key => {
@@ -1000,7 +1123,7 @@ class Render {
}
// 设置节点数据,并判断是否渲染
setNodeDataRender(node, data) {
setNodeDataRender(node, data, notRender = false) {
this.setNodeData(node, data)
let changed = node.reRender()
if (changed) {
@@ -1008,7 +1131,7 @@ class Render {
// 概要节点
node.generalizationBelongNode.updateGeneralization()
}
this.mindMap.render()
if (!notRender) this.mindMap.render()
}
}
@@ -1028,6 +1151,44 @@ class Render {
this.mindMap.view.translateY(offsetY)
this.mindMap.view.setScale(1)
}
// 展开到指定uid的节点
expandToNodeUid(uid, callback = () => {}) {
let parentsList = []
const cache = {}
bfsWalk(this.renderTree, (node, parent) => {
if (node.data.uid === uid) {
parentsList = parent ? [...cache[parent.data.uid], parent] : []
return 'stop'
} else {
cache[node.data.uid] = parent ? [...cache[parent.data.uid], parent] : []
}
})
let needRender = false
parentsList.forEach(node => {
if (!node.data.expand) {
needRender = true
node.data.expand = true
}
})
if (needRender) {
this.mindMap.render(callback)
} else {
callback()
}
}
// 根据uid找到对应的节点实例
findNodeByUid(uid) {
let res = null
walk(this.root, null, node => {
if (node.nodeData.data.uid === uid) {
res = node
return true
}
})
return res
}
}
export default Render

View File

@@ -10,11 +10,14 @@ export default class TextEdit {
this.currentNode = null
// 文本编辑框
this.textEditNode = null
// 隐藏的文本输入框
this.hiddenInputEl = null
// 文本编辑框是否显示
this.showTextEdit = false
// 如果编辑过程中缩放画布了,那么缓存当前编辑的内容
this.cacheEditingText = ''
this.bindEvent()
this.createHiddenInput()
}
// 事件
@@ -46,6 +49,10 @@ export default class TextEdit {
this.mindMap.on('before_node_active', () => {
this.hideEditTextBox()
})
// 节点激活事件
this.mindMap.on('node_active', () => {
this.focusHiddenInput()
})
// 注册编辑快捷键
this.mindMap.keyCommand.addShortcut('F2', () => {
if (this.renderer.activeNodeList.length <= 0) {
@@ -56,12 +63,52 @@ export default class TextEdit {
this.mindMap.on('scale', this.onScale)
}
// 创建一个隐藏的文本输入框
createHiddenInput() {
if (this.hiddenInputEl) return
this.hiddenInputEl = document.createElement('input')
this.hiddenInputEl.type = 'text'
this.hiddenInputEl.style.cssText = `
position: fixed;
left: -99999px;
top: -99999px;
`
// 监听粘贴事件
this.hiddenInputEl.addEventListener('paste', async event => {
event.preventDefault()
const text = (event.clipboardData || window.clipboardData).getData('text')
const files = event.clipboardData.files
let img = null
if (files.length > 0) {
for (let i = 0; i < files.length; i++) {
if (/^image\//.test(files[i].type)) {
img = files[i]
break
}
}
}
this.mindMap.emit('paste', {
text,
img
})
})
document.body.appendChild(this.hiddenInputEl)
}
// 让隐藏的文本输入框聚焦
focusHiddenInput() {
if (this.hiddenInputEl) this.hiddenInputEl.focus()
}
// 注册临时快捷键
registerTmpShortcut() {
// 注册回车快捷键
this.mindMap.keyCommand.addShortcut('Enter', () => {
this.hideEditTextBox()
})
this.mindMap.keyCommand.addShortcut('Tab', () => {
this.hideEditTextBox()
})
}
// 显示文本编辑框
@@ -96,7 +143,8 @@ export default class TextEdit {
onScale() {
if (!this.currentNode) return
if (this.mindMap.richText) {
this.mindMap.richText.cacheEditingText = this.mindMap.richText.getEditText()
this.mindMap.richText.cacheEditingText =
this.mindMap.richText.getEditText()
this.mindMap.richText.showTextEdit = false
} else {
this.cacheEditingText = this.getEditText()
@@ -124,7 +172,9 @@ export default class TextEdit {
let scale = this.mindMap.view.scale
let lineHeight = node.style.merge('lineHeight')
let fontSize = node.style.merge('fontSize')
let textLines = (this.cacheEditingText || node.nodeData.data.text).split(/\n/gim)
let textLines = (this.cacheEditingText || node.nodeData.data.text).split(
/\n/gim
)
let isMultiLine = node._textData.node.attr('data-ismultiLine') === 'true'
node.style.domText(this.textEditNode, scale, isMultiLine)
this.textEditNode.style.zIndex = this.mindMap.opt.nodeTextEditZIndex
@@ -134,9 +184,12 @@ export default class TextEdit {
this.textEditNode.style.left = rect.left + 'px'
this.textEditNode.style.top = rect.top + 'px'
this.textEditNode.style.display = 'block'
this.textEditNode.style.maxWidth = this.mindMap.opt.textAutoWrapWidth * scale + 'px'
this.textEditNode.style.maxWidth =
this.mindMap.opt.textAutoWrapWidth * scale + 'px'
if (isMultiLine && lineHeight !== 1) {
this.textEditNode.style.transform = `translateY(${-((lineHeight * fontSize - fontSize) / 2) * scale}px)`
this.textEditNode.style.transform = `translateY(${
-((lineHeight * fontSize - fontSize) / 2) * scale
}px)`
}
this.showTextEdit = true
// 选中文本

View File

@@ -266,6 +266,7 @@ class Node {
paddingY += this.shapePadding.paddingY
// 节点形状
this.shapeNode = this.shapeInstance.createShape()
this.shapeNode.addClass('smm-node-shape')
this.group.add(this.shapeNode)
this.updateNodeShape()
// 渲染一个隐藏的矩形区域,用来触发展开收起按钮的显示
@@ -365,8 +366,8 @@ class Node {
this._unVisibleRectRegionNode.fill({
color: 'transparent'
})
this.group.add(this._unVisibleRectRegionNode)
}
this.group.add(this._unVisibleRectRegionNode)
this.renderer.layout.renderExpandBtnRect(this._unVisibleRectRegionNode, this.expandBtnSize, width, height, this)
}
}
@@ -476,8 +477,6 @@ class Node {
return
}
let {
enableNodeTransitionMove,
nodeTransitionMoveDuration,
alwaysShowExpandBtn
} = this.mindMap.opt
if (alwaysShowExpandBtn) {
@@ -503,13 +502,7 @@ class Node {
let t = this.group.transform()
// 如果节点位置没有变化,则返回
if (this.left === t.translateX && this.top === t.translateY) return
if (!isLayout && enableNodeTransitionMove) {
this.group
.animate(nodeTransitionMoveDuration)
.translate(this.left - t.translateX, this.top - t.translateY)
} else {
this.group.translate(this.left - t.translateX, this.top - t.translateY)
}
this.group.translate(this.left - t.translateX, this.top - t.translateY)
}
// 重新渲染节点,即重新创建节点内容、计算节点大小、计算节点内容布局、更新展开收起按钮,概要及位置
@@ -531,8 +524,6 @@ class Node {
// 递归渲染
render(callback = () => {}) {
let { enableNodeTransitionMove, nodeTransitionMoveDuration } =
this.mindMap.opt
// 节点
// 重新渲染连线
this.renderLine()
@@ -541,6 +532,7 @@ class Node {
isLayout = true
// 创建组
this.group = new G()
this.group.addClass('smm-node')
this.group.css({
cursor: 'default'
})
@@ -580,13 +572,7 @@ class Node {
})
)
} else {
if (enableNodeTransitionMove && !isLayout) {
setTimeout(() => {
callback()
}, nodeTransitionMoveDuration)
} else {
callback()
}
callback()
}
// 手动插入的节点立即获得焦点并且开启编辑模式
if (this.nodeData.inserting) {

View File

@@ -4,8 +4,8 @@ function setData(data = {}) {
}
// 设置文本
function setText(text, richText) {
this.mindMap.execCommand('SET_NODE_TEXT', this, text, richText)
function setText(text, richText, resetRichText) {
this.mindMap.execCommand('SET_NODE_TEXT', this, text, richText, resetRichText)
}
// 设置图片

View File

@@ -1,7 +1,7 @@
import { measureText, resizeImgSize, getTextFromHtml } from '../../../utils'
import { measureText, resizeImgSize, removeHtmlStyle, addHtmlStyle, checkIsRichText } from '../../../utils'
import { Image, SVG, A, G, Rect, Text, ForeignObject } from '@svgdotjs/svg.js'
import iconsSvg from '../../../svg/icons'
import { CONSTANTS } from '../../../constants/constant'
import { CONSTANTS, commonCaches } from '../../../constants/constant'
// 创建图片节点
function createImgNode() {
@@ -64,6 +64,9 @@ function createIconNode() {
node = new Image().load(src)
}
node.size(iconSize, iconSize)
node.on('click', e => {
this.mindMap.emit('node_icon_click', this, item, e)
})
return {
node,
width: iconSize,
@@ -88,8 +91,21 @@ function createRichTextNode() {
}
}
if (recoverText) {
let text = getTextFromHtml(this.nodeData.data.text)
this.nodeData.data.text = `<p><span style="${this.style.createStyleText()}">${text}</span></p>`
let text = this.nodeData.data.text
// 判断节点内容是否是富文本
let isRichText = checkIsRichText(text)
// 样式字符串
let style = this.style.createStyleText()
if (isRichText) {
// 如果是富文本那么线移除内联样式
text = removeHtmlStyle(text)
// 再添加新的内联样式
text = addHtmlStyle(text, 'span', style)
} else {
// 非富文本
text = `<p><span style="${style}">${text}</span></p>`
}
this.nodeData.data.text = text
}
let html = `<div>${this.nodeData.data.text}</div>`
let div = document.createElement('div')
@@ -293,20 +309,19 @@ function createNoteNode() {
}
// 测量自定义节点内容元素的宽高
let warpEl = null
function measureCustomNodeContentSize (content) {
if (!warpEl) {
warpEl = document.createElement('div')
warpEl.style.cssText = `
if (!commonCaches.measureCustomNodeContentSizeEl) {
commonCaches.measureCustomNodeContentSizeEl = document.createElement('div')
commonCaches.measureCustomNodeContentSizeEl.style.cssText = `
position: fixed;
left: -99999px;
top: -99999px;
`
this.mindMap.el.appendChild(warpEl)
this.mindMap.el.appendChild(commonCaches.measureCustomNodeContentSizeEl)
}
warpEl.innerHTML = ''
warpEl.appendChild(content)
let rect = warpEl.getBoundingClientRect()
commonCaches.measureCustomNodeContentSizeEl.innerHTML = ''
commonCaches.measureCustomNodeContentSizeEl.appendChild(content)
let rect = commonCaches.measureCustomNodeContentSizeEl.getBoundingClientRect()
return {
width: rect.width,
height: rect.height

View File

@@ -1,4 +1,5 @@
import Node from './Node'
import { createUid } from '../../../utils/index'
// 检查是否存在概要
function checkHasGeneralization () {
@@ -18,7 +19,7 @@ function createGeneralizationNode () {
data: {
data: this.nodeData.data.generalization
},
uid: this.mindMap.uid++,
uid: createUid(),
renderer: this.renderer,
mindMap: this.mindMap,
draw: this.draw,
@@ -35,15 +36,14 @@ function createGeneralizationNode () {
// 更新概要节点
function updateGeneralization () {
if (this.isGeneralization) return
this.removeGeneralization()
this.createGeneralizationNode()
}
// 渲染概要节点
function renderGeneralization () {
if (this.isGeneralization) {
return
}
if (this.isGeneralization) return
if (!this.checkHasGeneralization()) {
this.removeGeneralization()
this._generalizationNodeWidth = 0
@@ -66,6 +66,7 @@ function renderGeneralization () {
// 删除概要节点
function removeGeneralization () {
if (this.isGeneralization) return
if (this._generalizationLine) {
this._generalizationLine.remove()
this._generalizationLine = null
@@ -86,6 +87,7 @@ function removeGeneralization () {
// 隐藏概要节点
function hideGeneralization () {
if (this.isGeneralization) return
if (this._generalizationLine) {
this._generalizationLine.hide()
}
@@ -96,6 +98,7 @@ function hideGeneralization () {
// 显示概要节点
function showGeneralization () {
if (this.isGeneralization) return
if (this._generalizationLine) {
this._generalizationLine.show()
}

View File

@@ -1,6 +1,7 @@
import Node from '../core/render/node/Node'
import { CONSTANTS, initRootNodePositionMap } from '../constants/constant'
import Lru from '../utils/Lru'
import { createUid } from '../utils/index'
// 布局基类
class Base {
@@ -101,7 +102,7 @@ class Base {
}
} else {
// 创建新节点
let uid = this.mindMap.uid++
let uid = data.data.uid || createUid()
newNode = new Node({
data,
uid,

View File

@@ -11,7 +11,7 @@ import {
import associativeLineControlsMethods from './associativeLine/associativeLineControls'
import associativeLineTextMethods from './associativeLine/associativeLineText'
// 关联线
// 关联线插件
class AssociativeLine {
constructor(opt = {}) {
this.mindMap = opt.mindMap

View File

@@ -1,8 +1,7 @@
import { bfsWalk, throttle } from '../utils'
import Base from '../layouts/Base'
// 节点拖动
// 节点拖动插件
class Drag extends Base {
// 构造函数
constructor({ mindMap }) {

View File

@@ -1,9 +1,9 @@
import { imgToDataUrl, downloadFile, readBlob } from '../utils'
import { imgToDataUrl, downloadFile, readBlob, removeHTMLEntities } from '../utils'
import { SVG } from '@svgdotjs/svg.js'
import drawBackgroundImageToCanvas from '../utils/simulateCSSBackgroundInCanvas'
import { transformToMarkdown } from '../parse/toMarkdown'
// 导出
// 导出插件
class Export {
// 构造函数
constructor(opt) {
@@ -154,6 +154,7 @@ class Export {
*/
async png(name, transparent = false) {
let { node, str } = await this.getSvgData()
str = removeHTMLEntities(str)
// 如果开启了富文本则使用htmltocanvas转换为图片
if (this.mindMap.richText) {
let res = await this.mindMap.richText.handleExportPng(node.node)
@@ -207,6 +208,7 @@ class Export {
node.first().before(SVG(`<title>${name}</title>`))
await this.drawBackgroundToSvg(node)
let str = node.svg()
str = removeHTMLEntities(str)
// 转换成blob数据
let blob = new Blob([str], {
type: 'image/svg+xml'

View File

@@ -1,6 +1,6 @@
import JsPDF from 'jspdf'
// 导出PDF需要通过Export插件使用
// 导出PDF插件需要通过Export插件使用
class ExportPDF {
// 构造函数
constructor(opt) {

View File

@@ -1,6 +1,6 @@
import xmind from '../parse/xmind'
// 导出XMind需要通过Export插件使用
// 导出XMind插件需要通过Export插件使用
class ExportXMind {
// 构造函数
constructor(opt) {

View File

@@ -1,7 +1,7 @@
import { bfsWalk } from '../utils'
import { CONSTANTS } from '../constants/constant'
// 键盘导航
// 键盘导航插件
class KeyboardNavigation {
// 构造函数
constructor(opt) {
@@ -28,8 +28,7 @@ class KeyboardNavigation {
this.focus(dir)
} else {
let root = this.mindMap.renderer.root
this.mindMap.renderer.moveNodeToCenter(root)
root.active()
this.mindMap.execCommand('GO_TARGET_NODE', root)
}
}
@@ -81,8 +80,7 @@ class KeyboardNavigation {
// 找到了则让目标节点聚焦
if (targetNode) {
this.mindMap.renderer.moveNodeToCenter(targetNode)
targetNode.active()
this.mindMap.execCommand('GO_TARGET_NODE', targetNode)
}
}

View File

@@ -1,4 +1,6 @@
// 小地图类
import { isWhite, isTransparent, getVisibleColorFromTheme } from '../utils/index'
// 小地图插件
class MiniMap {
// 构造函数
constructor(opt) {
@@ -20,7 +22,7 @@ class MiniMap {
* boxHeight小地图容器的高度
*/
calculationMiniMap(boxWidth, boxHeight) {
let { svgHTML, rect, origWidth, origHeight, scaleX, scaleY } =
let { svg, rect, origWidth, origHeight, scaleX, scaleY } =
this.mindMap.getSvgData()
// 计算数据
let boxRatio = boxWidth / boxHeight
@@ -65,8 +67,10 @@ class MiniMap {
Math.max(0, ((_rectY2 - origHeight) / _rectHeight) * actHeight) +
miniMapBoxTop +
'px'
this.removeNodeContent(svg)
return {
svgHTML, // 小地图html
svgHTML: svg.svg(), // 小地图html
viewBoxStyle, // 视图框的位置信息
miniMapBoxScale, // 视图框的缩放值
miniMapBoxLeft, // 视图框的left值
@@ -74,6 +78,26 @@ class MiniMap {
}
}
// 移除节点的内容
removeNodeContent(svg) {
if (svg.hasClass('smm-node')) {
let shape = svg.findOne('.smm-node-shape')
let fill = shape.attr('fill')
if (isWhite(fill) || isTransparent(fill)) {
shape.attr('fill', getVisibleColorFromTheme(this.mindMap.themeConfig))
}
svg.clear()
svg.add(shape)
return
}
let children = svg.children()
if (children && children.length > 0) {
children.forEach((node) => {
this.removeNodeContent(node)
})
}
}
// 小地图鼠标按下事件
onMousedown(e) {
this.isMousedown = true

View File

@@ -47,7 +47,7 @@ class NodeImgAdjust {
// 节点图片鼠标移动事件
onNodeImgMousemove(node, img) {
// 如果当前正在拖动调整中那么直接返回
if (this.isMousedown || this.isAdjusted) return
if (this.isMousedown || this.isAdjusted || this.mindMap.opt.readonly) return
// 如果在当前节点内移动,以及自定义元素已经是显示状态,那么直接返回
if (this.node === node && this.isShowHandleEl) return
// 更新当前节点信息
@@ -208,7 +208,10 @@ class NodeImgAdjust {
// 渲染完成事件
onRenderEnd() {
if (!this.isAdjusted) return
if (!this.isAdjusted) {
this.hideHandleEl()
return
}
this.isAdjusted = false
}

View File

@@ -1,7 +1,7 @@
import Quill from 'quill'
import 'quill/dist/quill.snow.css'
import html2canvas from 'html2canvas'
import { walk, getTextFromHtml } from '../utils'
import { walk, getTextFromHtml, isWhite, getVisibleColorFromTheme } from '../utils'
import { CONSTANTS } from '../constants/constant'
let extended = false
@@ -28,7 +28,7 @@ let fontSizeList = new Array(100).fill(0).map((_, index) => {
return index + 'px'
})
// 节点支持富文本编辑功能
// 富文本编辑插件
class RichText {
constructor({ mindMap, pluginOpt }) {
this.mindMap = mindMap
@@ -176,11 +176,12 @@ class RichText {
}
// 使用节点的填充色,否则如果节点颜色是白色的话编辑时看不见
let bgColor = node.style.merge('fillColor')
let color = node.style.merge('color')
this.textEditNode.style.marginLeft = `-${paddingX * scaleX}px`
this.textEditNode.style.marginTop = `-${paddingY * scaleY}px`
this.textEditNode.style.zIndex = this.mindMap.opt.nodeTextEditZIndex
this.textEditNode.style.backgroundColor =
bgColor === 'transparent' ? '#fff' : bgColor
bgColor === 'transparent' ? isWhite(color) ? getVisibleColorFromTheme(this.mindMap.themeConfig) : '#fff' : bgColor
this.textEditNode.style.minWidth = originWidth + paddingX * 2 + 'px'
this.textEditNode.style.minHeight = originHeight + 'px'
this.textEditNode.style.left = rect.left + 'px'
@@ -268,6 +269,12 @@ class RichText {
handler: function () {
// 覆盖默认的回车键换行
}
},
tab: {
key: 9,
handler: function () {
// 覆盖默认的tab键
}
}
}
}

View File

@@ -0,0 +1,160 @@
import { bfsWalk, getTextFromHtml, isUndef } from '../utils/index'
// 搜索插件
class Search {
// 构造函数
constructor({ mindMap }) {
this.mindMap = mindMap
// 是否正在搜索
this.isSearching = false
// 搜索文本
this.searchText = ''
// 匹配的节点列表
this.matchNodeList = []
// 当前所在的节点列表索引
this.currentIndex = -1
// 不要复位搜索文本
this.notResetSearchText = false
this.onDataChange = this.onDataChange.bind(this)
this.mindMap.on('data_change', this.onDataChange)
}
// 节点数据改变了,需要重新搜索
onDataChange() {
if (this.notResetSearchText) {
this.notResetSearchText = false
return
}
this.searchText = ''
}
// 搜索
search(text, callback) {
if (isUndef(text)) return this.endSearch()
text = String(text)
this.isSearching = true
if (this.searchText === text) {
// 和上一次搜索文本一样,那么搜索下一个
this.searchNext(callback)
} else {
// 和上次搜索文本不一样,那么重新开始
this.searchText = text
this.doSearch()
this.searchNext(callback)
}
this.emitEvent()
}
// 结束搜索
endSearch() {
if (!this.isSearching) return
this.searchText = ''
this.matchNodeList = []
this.currentIndex = -1
this.notResetSearchText = false
this.isSearching = false
this.emitEvent()
}
// 搜索匹配的节点
doSearch() {
this.matchNodeList = []
this.currentIndex = -1
bfsWalk(this.mindMap.renderer.root, node => {
let { richText, text } = node.nodeData.data
if (richText) {
text = getTextFromHtml(text)
}
if (text.includes(this.searchText)) {
this.matchNodeList.push(node)
}
})
}
// 搜索下一个,定位到下一个匹配节点
searchNext(callback) {
if (!this.isSearching || this.matchNodeList.length <= 0) return
if (this.currentIndex < this.matchNodeList.length - 1) {
this.currentIndex++
} else {
this.currentIndex = 0
}
let currentNode = this.matchNodeList[this.currentIndex]
this.notResetSearchText = true
this.mindMap.execCommand('GO_TARGET_NODE', currentNode, () => {
this.notResetSearchText = false
callback()
})
}
// 替换当前节点
replace(replaceText) {
if (
isUndef(replaceText) ||
!this.isSearching ||
this.matchNodeList.length <= 0
)
return
replaceText = String(replaceText)
let currentNode = this.matchNodeList[this.currentIndex]
if (!currentNode) return
let text = this.getReplacedText(currentNode, this.searchText, replaceText)
this.notResetSearchText = true
currentNode.setText(text, currentNode.nodeData.data.richText, true)
this.matchNodeList = this.matchNodeList.filter(node => {
return currentNode !== node
})
if (this.currentIndex > this.matchNodeList.length - 1) {
this.currentIndex = -1
} else {
this.currentIndex--
}
this.emitEvent()
}
// 替换所有
replaceAll(replaceText) {
if (
isUndef(replaceText) ||
!this.isSearching ||
this.matchNodeList.length <= 0
)
return
replaceText = String(replaceText)
this.matchNodeList.forEach(node => {
let text = this.getReplacedText(node, this.searchText, replaceText)
this.mindMap.renderer.setNodeDataRender(
node,
{
text,
resetRichText: !!node.nodeData.data.richText
},
true
)
})
this.mindMap.render()
this.mindMap.command.addHistory()
this.endSearch()
}
// 获取某个节点替换后的文本
getReplacedText(node, searchText, replaceText) {
let { richText, text } = node.nodeData.data
if (richText) {
text = getTextFromHtml(text)
}
return text.replaceAll(searchText, replaceText)
}
// 发送事件
emitEvent() {
this.mindMap.emit('search_info_change', {
currentIndex: this.currentIndex,
total: this.matchNodeList.length
})
}
}
Search.instanceName = 'search'
export default Search

View File

@@ -1,7 +1,6 @@
import { bfsWalk, throttle } from '../utils'
// 选择节点类
// 节点选择插件
class Select {
// 构造函数
constructor({ mindMap }) {

View File

@@ -1,5 +1,4 @@
// 手势事件支持
// 手势事件支持插件
class TouchEvent {
// 构造函数
constructor({ mindMap }) {

View File

@@ -2,7 +2,7 @@ import { Text, G } from '@svgdotjs/svg.js'
import { degToRad, camelCaseToHyphen } from '../utils'
import merge from 'deepmerge'
// 水印
// 水印插件
class Watermark {
constructor(opt = {}) {
this.mindMap = opt.mindMap

View File

@@ -1,3 +1,5 @@
import { v4 as uuidv4 } from 'uuid'
// 深度优先遍历树
export const walk = (
root,
@@ -31,9 +33,11 @@ export const walk = (
// 广度优先遍历树
export const bfsWalk = (root, callback) => {
callback(root)
let stack = [root]
let isStop = false
if (callback(root, null) === 'stop') {
isStop = true
}
while (stack.length) {
if (isStop) {
break
@@ -41,8 +45,9 @@ export const bfsWalk = (root, callback) => {
let cur = stack.shift()
if (cur.children && cur.children.length) {
cur.children.forEach(item => {
if (isStop) return
stack.push(item)
if (callback(item) === 'stop') {
if (callback(item, cur) === 'stop') {
isStop = true
}
})
@@ -424,3 +429,114 @@ export const getImageSize = src => {
}
})
}
// 创建节点唯一的id
export const createUid = () => {
return uuidv4()
}
// 加载图片文件
export const loadImage = imgFile => {
return new Promise((resolve, reject) => {
let fr = new FileReader()
fr.readAsDataURL(imgFile)
fr.onload = async e => {
let url = e.target.result
let size = await getImageSize(url)
resolve({
url,
size
})
}
fr.onerror = error => {
reject(error)
}
})
}
// 移除字符串中的html实体
export const removeHTMLEntities = (str) => {
[['&nbsp;', '&#160;']].forEach((item) => {
str = str.replaceAll(item[0], item[1])
})
return str
}
// 获取一个数据的类型
export const getType = (data) => {
return Object.prototype.toString.call(data).slice(7, -1)
}
// 判断一个数据是否是null和undefined和空字符串
export const isUndef = (data) => {
return data === null || data === undefined || data === ''
}
// 移除html字符串中节点的内联样式
export const removeHtmlStyle = (html) => {
return html.replaceAll(/(<[^\s]+)\s+style=["'][^'"]+["']\s*(>)/g, '$1$2')
}
// 给html标签中指定的标签添加内联样式
export const addHtmlStyle = (html, tag, style) => {
const reg = new RegExp(`(<${tag}[^>]*)(>[^<>]*</${tag}>)`, 'g')
return html.replaceAll(reg, `$1 style="${style}"$2`)
}
// 检查一个字符串是否是富文本字符
let checkIsRichTextEl = null
export const checkIsRichText = (str) => {
if (!checkIsRichTextEl) {
checkIsRichTextEl = document.createElement('div')
}
checkIsRichTextEl.innerHTML = str
for (let c = checkIsRichTextEl.childNodes, i = c.length; i--;) {
if (c[i].nodeType == 1) return true
}
return false
}
// 搜索和替换html字符串中指定的文本
let replaceHtmlTextEl = null
export const replaceHtmlText = (html, searchText, replaceText) => {
if (!replaceHtmlTextEl) {
replaceHtmlTextEl = document.createElement('div')
}
replaceHtmlTextEl.innerHTML = html
let walk = (root) => {
let childNodes = root.childNodes
childNodes.forEach((node) => {
if (node.nodeType === 1) {// 元素节点
walk(node)
} else if (node.nodeType === 3) {// 文本节点
root.replaceChild(document.createTextNode(node.nodeValue.replaceAll(searchText, replaceText)), node)
}
})
}
walk(replaceHtmlTextEl)
return replaceHtmlTextEl.innerHTML
}
// 判断一个颜色是否是白色
export const isWhite = (color) => {
color = String(color).replaceAll(/\s+/g, '')
return ['#fff', '#ffffff', '#FFF', '#FFFFFF', 'rgb(255,255,255)'].includes(color) || /rgba\(255,255,255,[^)]+\)/.test(color)
}
// 判断一个颜色是否是透明
export const isTransparent = (color) => {
color = String(color).replaceAll(/\s+/g, '')
return ['', 'transparent'].includes(color) || /rgba\(\d+,\d+,\d+,0\)/.test(color)
}
// 从当前主题里获取一个非透明非白色的颜色
export const getVisibleColorFromTheme = (themeConfig) => {
let { lineColor, root, second, node } = themeConfig
let list = [lineColor, root.fillColor, root.color, second.fillColor, second.color, node.fillColor, node.color, root.borderColor, second.borderColor, node.borderColor]
for(let i = 0; i < list.length; i++) {
let color = list[i]
if (!isTransparent(color) && !isWhite(color)) {
return color
}
}
}

15
web/package-lock.json generated
View File

@@ -35,7 +35,8 @@
"prettier": "^1.19.1",
"vconsole": "^3.15.1",
"vue-template-compiler": "^2.6.11",
"webpack": "^4.44.2"
"webpack": "^4.44.2",
"webpack-dynamic-public-path": "^1.0.8"
}
},
"node_modules/@achrinza/node-ipc": {
@@ -16224,6 +16225,12 @@
"decamelize": "^1.2.0"
}
},
"node_modules/webpack-dynamic-public-path": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/webpack-dynamic-public-path/-/webpack-dynamic-public-path-1.0.8.tgz",
"integrity": "sha512-AF6onorpvmiC+I/dQ19SOi+oN66oEy9h4deam7gPs1Qa1mOQ9i7IRsOahaukohKAciys7NfX+YFboRn4rmpuKw==",
"dev": true
},
"node_modules/webpack-log": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
@@ -29476,6 +29483,12 @@
}
}
},
"webpack-dynamic-public-path": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/webpack-dynamic-public-path/-/webpack-dynamic-public-path-1.0.8.tgz",
"integrity": "sha512-AF6onorpvmiC+I/dQ19SOi+oN66oEy9h4deam7gPs1Qa1mOQ9i7IRsOahaukohKAciys7NfX+YFboRn4rmpuKw==",
"dev": true
},
"webpack-log": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",

View File

@@ -6,10 +6,11 @@
"serve": "vue-cli-service serve",
"build": "vue-cli-service build && node ../copy.js",
"lint": "vue-cli-service lint",
"buildLibrary": "vue-cli-service build --target lib --name simpleMindMap ../simple-mind-map/full.js --dest ../simple-mind-map/dist && esbuild ../simple-mind-map/full.js --bundle --external:buffer --format=esm --outfile=../simple-mind-map/dist/simpleMindMap.esm.js",
"buildLibrary": "vue-cli-service build --target lib --name simpleMindMap ../simple-mind-map/full.js --dest ../simple-mind-map/dist && esbuild ../simple-mind-map/full.js --bundle --external:buffer --format=esm --outfile=../simple-mind-map/dist/simpleMindMap.esm.js && esbuild ../simple-mind-map/full.js --bundle --minify --external:buffer --format=esm --outfile=../simple-mind-map/dist/simpleMindMap.esm.min.js",
"format": "prettier --write src/* src/*/* src/*/*/* src/*/*/*/*",
"buildDoc": "node ./scripts/buildDoc.js",
"autoBuildDoc": "node ./scripts/autoBuildDoc.js"
"autoBuildDoc": "node ./scripts/autoBuildDoc.js",
"createNodeImageList": "node ./scripts/createNodeImageList.js"
},
"dependencies": {
"@toast-ui/editor": "^3.1.5",
@@ -39,7 +40,8 @@
"prettier": "^1.19.1",
"vconsole": "^3.15.1",
"vue-template-compiler": "^2.6.11",
"webpack": "^4.44.2"
"webpack": "^4.44.2",
"webpack-dynamic-public-path": "^1.0.8"
},
"eslintConfig": {
"root": true,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 KiB

View File

@@ -4,8 +4,14 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
<link rel="icon" href="./dist/logo.ico">
<link rel="icon" href="dist/logo.ico">
<title>思绪思维导图</title>
<script>
// 自定义静态资源的路径
window.externalPublicPath = './dist/'
// 接管应用
window.takeOverApp = false
</script>
</head>
<body>
<noscript>
@@ -13,5 +19,73 @@
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script>
const getDataFromBackend = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve({
mindMapData: {
root:{
"data": {
"text": "根节点"
},
"children": []
},
theme:{
"template":"avocado",
"config":{}
},
layout:"logicalStructure",
config: {},
view: null,
},
lang: 'zh',
localConfig: null
})
}, 200)
})
}
const setTakeOverAppMethods = (data) => {
window.takeOverAppMethods = {}
// 获取思维导图数据的函数
window.takeOverAppMethods.getMindMapData = () => {
return data.mindMapData
}
// 保存思维导图数据的函数
window.takeOverAppMethods.saveMindMapData = (data) => {
console.log(data)
}
// 获取语言的函数
window.takeOverAppMethods.getLanguage = () => {
return data.lang
}
// 保存语言的函数
window.takeOverAppMethods.saveLanguage = (lang) => {
console.log(lang)
}
// 获取本地配置的函数
window.takeOverAppMethods.getLocalConfig = () => {
return data.localConfig
}
// 保存本地配置的函数
window.takeOverAppMethods.saveLocalConfig = (config) => {
console.log(config)
}
}
window.onload = async () => {
if (!window.takeOverApp) return
// 请求数据
const data = await getDataFromBackend()
// 设置全局的方法
setTakeOverAppMethods(data)
// 思维导图实例创建完成事件
window.$bus.$on('app_inited', (mindMap) => {
console.log(mindMap)
})
// 可以通过window.$bus.$on()来监听应用的一些事件
// 实例化页面
window.initApp()
}
</script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -0,0 +1,50 @@
const path = require('path')
const fs = require('fs')
const fileDest = path.join(__dirname, '../src/assets/svg')
const targetDest = path.join(__dirname, '../src/config/image.js')
const run = (dir) => {
let dirs = fs.readdirSync(dir)
dirs.forEach(item => {
let cur = path.join(dir, item)
if (fs.statSync(cur).isDirectory()) {
walkDir(cur, item)
}
})
}
const list = []
const importList = []
const walkDir = (dir, item) => {
let files = fs.readdirSync(dir)
let name = files.find((file) => {
return !/\./.test(file)
})
let fileList = files.filter((file) => {
return /\.svg$/.test(file)
})
let itemList = []
fileList.forEach((file) => {
let fileName = item + '_' + file.replace(/\.svg$/, '').replaceAll('-', '')
importList.push(`import ${fileName} from '../assets/svg/${item}/${file}'`)
itemList.push({
url: fileName,
width: 100,
height: 100
})
})
list.push({
name,
list: itemList
})
const content = `
// 该文件请运行npm run createNodeImageList命令自动生成
${importList.join('\n')}
export default ${JSON.stringify(list, null, 2).replace(/(url":\s*)"([^"]+)"(,)/g, '$1$2$3')}
`
fs.writeFileSync(targetDest, content)
}
run(fileDest)
console.log('运行成功')

BIN
web/src/.DS_Store vendored

Binary file not shown.

View File

@@ -6,6 +6,8 @@ const SIMPLE_MIND_MAP_DATA = 'SIMPLE_MIND_MAP_DATA'
const SIMPLE_MIND_MAP_LANG = 'SIMPLE_MIND_MAP_LANG'
const SIMPLE_MIND_MAP_LOCAL_CONFIG = 'SIMPLE_MIND_MAP_LOCAL_CONFIG'
let mindMapData = null
/**
* @Author: 王林
* @Date: 2021-08-02 22:36:48
@@ -29,6 +31,10 @@ const copyMindMapTreeData = (tree, root) => {
* @Desc: 获取缓存的思维导图数据
*/
export const getData = () => {
if (window.takeOverApp) {
mindMapData = window.takeOverAppMethods.getMindMapData()
return mindMapData
}
let store = localStorage.getItem(SIMPLE_MIND_MAP_DATA)
if (store === null) {
return simpleDeepClone(exampleData)
@@ -48,8 +54,18 @@ export const getData = () => {
*/
export const storeData = data => {
try {
let originData = getData()
let originData = null
if (window.takeOverApp) {
originData = mindMapData
} else {
originData = getData()
}
originData.root = copyMindMapTreeData({}, data)
if (window.takeOverApp) {
mindMapData = originData
window.takeOverAppMethods.saveMindMapData(originData)
return
}
Vue.prototype.$bus.$emit('write_local_file', originData)
let dataStr = JSON.stringify(originData)
localStorage.setItem(SIMPLE_MIND_MAP_DATA, dataStr)
@@ -65,11 +81,21 @@ export const storeData = data => {
*/
export const storeConfig = config => {
try {
let originData = getData()
let originData = null
if (window.takeOverApp) {
originData = mindMapData
} else {
originData = getData()
}
originData = {
...originData,
...config
}
if (window.takeOverApp) {
mindMapData = originData
window.takeOverAppMethods.saveMindMapData(originData)
return
}
Vue.prototype.$bus.$emit('write_local_file', originData)
let dataStr = JSON.stringify(originData)
localStorage.setItem(SIMPLE_MIND_MAP_DATA, dataStr)
@@ -85,6 +111,10 @@ export const storeConfig = config => {
* @Desc: 存储语言
*/
export const storeLang = lang => {
if (window.takeOverApp) {
window.takeOverAppMethods.saveLanguage(lang)
return
}
localStorage.setItem(SIMPLE_MIND_MAP_LANG, lang)
}
@@ -95,6 +125,9 @@ export const storeLang = lang => {
* @Desc: 获取存储的语言
*/
export const getLang = () => {
if (window.takeOverApp) {
return window.takeOverAppMethods.getLanguage() || 'zh'
}
let lang = localStorage.getItem(SIMPLE_MIND_MAP_LANG)
if (lang) {
return lang
@@ -110,6 +143,9 @@ export const getLang = () => {
* @Desc: 存储本地配置
*/
export const storeLocalConfig = config => {
if (window.takeOverApp) {
return window.takeOverAppMethods.saveLocalConfig(config)
}
localStorage.setItem(SIMPLE_MIND_MAP_LOCAL_CONFIG, JSON.stringify(config))
}
@@ -120,6 +156,9 @@ export const storeLocalConfig = config => {
* @Desc: 获取本地配置
*/
export const getLocalConfig = () => {
if (window.takeOverApp) {
return window.takeOverAppMethods.getLocalConfig()
}
let config = localStorage.getItem(SIMPLE_MIND_MAP_LOCAL_CONFIG)
if (config) {
return JSON.parse(config)

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 2479351 */
src: url('iconfont.woff2?t=1689210173189') format('woff2'),
url('iconfont.woff?t=1689210173189') format('woff'),
url('iconfont.ttf?t=1689210173189') format('truetype');
src: url('iconfont.woff2?t=1690537337895') format('woff2'),
url('iconfont.woff?t=1690537337895') format('woff'),
url('iconfont.ttf?t=1690537337895') format('truetype');
}
.iconfont {
@@ -13,6 +13,34 @@
-moz-osx-font-smoothing: grayscale;
}
.iconlieri:before {
content: "\e60b";
}
.iconmoon_line:before {
content: "\e745";
}
.iconsousuo:before {
content: "\e693";
}
.iconjiantouyou:before {
content: "\e62d";
}
.iconbianji1:before {
content: "\e60a";
}
.icondaohang1:before {
content: "\e632";
}
.iconyanjing:before {
content: "\e8bf";
}
.iconwangzhan:before {
content: "\e628";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
web/src/assets/img/oreo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
web/src/assets/img/rose.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M401.9 584.7h16v16h-16zM385.9 600.7h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16zM146.1 584.7h16v16h-16zM162.1 569h-16v-15.7h16V569z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V506z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V443z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V380z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V317z m0-31.4h-16v-15.7h16v15.7zM146.1 238.1h16v16h-16zM385.9 254.1h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16zM401.9 238.1h16v16h-16zM417.9 569h-16v-15.7h16V569z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V506z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V443z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V380z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16V317z m0-31.4h-16v-15.7h16v15.7zM860.1 682.9h16v16h-16zM844.2 698.9h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16zM604.3 682.9h16v16h-16zM620.3 667.1h-16v-15.7h16v15.7z m0-31.4h-16V620h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V557h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V494h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V431h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V368h16v15.7zM604.3 336.2h16v16h-16zM844.2 352.2h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16zM860.1 336.2h16v16h-16zM876.1 667.1h-16v-15.7h16v15.7z m0-31.4h-16V620h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V557h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V494h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V431h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.5h-16V368h16v15.7z" fill="#0A0408" /><path d="M246.9 107.8h531.6v531.6H246.9z" fill="#FFFFFF" /><path d="M786.5 647.4H238.9V99.8h547.6v547.6z m-531.6-16h515.6V115.8H254.9v515.6z" fill="#0A0408" /><path d="M305.1 166h415.1v415.1H305.1z" fill="#55B7A8" /><path d="M389.9 238.2h195.3v16H389.9zM384.6 338.8h256.2v16H384.6zM384.6 441.2h256.2v16H384.6z" fill="#0A0408" /><path d="M868.8 918H156.5l-50-415.4h812.3z" fill="#FFFFFF" /><path d="M875.9 926H149.4L97.5 494.6h830.4l-52 431.4z m-712.3-16h698.1l48.1-399.4H115.5L163.6 910z" fill="#0A0408" /><path d="M809.6 866.5H215.8L174.1 554h677.2z" fill="#F4BE6F" /><path d="M154.1 639.7h154.3v16H154.1zM154.1 717.9h258.3v16H154.1z" fill="#FFFFFF" /><path d="M842.7 318.8h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M901.6 377.7h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /><path d="M128.6 220.8h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M187.5 279.7h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M153.9 105.9h715.4v812.8H153.9z" fill="#55B7A8" /><path d="M877.3 926.8H145.9V97.9h731.4v828.9z m-715.4-16h699.4V113.9H161.9v796.9z" fill="#0A0408" /><path d="M221.3 182.9h580.5v658.8H221.3z" fill="#FFFFFF" /><path d="M793.8 833.8h16v16h-16zM777.7 849.8h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0H568v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0H439v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0H310v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16zM213.3 833.8h16v16h-16zM229.3 818.1h-16v-15.7h16v15.7z m0-31.4h-16V771h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V724z m0-31.3h-16V677h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16V332h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V285z m0-31.4h-16V238h16v15.6z m0-31.3h-16v-15.7h16v15.7zM213.3 174.9h16v16h-16zM777.7 190.9h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0H568v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0H439v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16z m-32.3 0H310v-16h16.1v16z m-32.3 0h-16.1v-16h16.1v16z m-32.2 0h-16.1v-16h16.1v16zM793.8 174.9h16v16h-16zM809.8 818.1h-16v-15.7h16v15.7z m0-31.4h-16V771h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V724z m0-31.3h-16V677h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16V332h16v15.7z m0-31.3h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V285z m0-31.4h-16V238h16v15.6z m0-31.3h-16v-15.7h16v15.7z" fill="#0A0408" /><path d="M364.5 306.6m-44.8 0a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0-89.6 0Z" fill="#DC444A" /><path d="M364.5 359.4c-29.1 0-52.8-23.7-52.8-52.8s23.7-52.8 52.8-52.8 52.8 23.7 52.8 52.8-23.7 52.8-52.8 52.8z m0-89.6c-20.3 0-36.8 16.5-36.8 36.8s16.5 36.8 36.8 36.8 36.8-16.5 36.8-36.8-16.5-36.8-36.8-36.8zM459.3 262.6h144.1v16H459.3zM459.3 332.2h244.1v16H459.3z" fill="#0A0408" /><path d="M364.5 516.3m-44.8 0a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0-89.6 0Z" fill="#DC444A" /><path d="M364.5 569.1c-29.1 0-52.8-23.7-52.8-52.8s23.7-52.8 52.8-52.8 52.8 23.7 52.8 52.8-23.7 52.8-52.8 52.8z m0-89.6c-20.3 0-36.8 16.5-36.8 36.8 0 20.3 16.5 36.8 36.8 36.8s36.8-16.5 36.8-36.8c0-20.3-16.5-36.8-36.8-36.8zM459.3 472.3h144.1v16H459.3zM459.3 541.9h244.1v16H459.3z" fill="#0A0408" /><path d="M364.5 726m-44.8 0a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0-89.6 0Z" fill="#DC444A" /><path d="M364.5 778.8c-29.1 0-52.8-23.7-52.8-52.8s23.7-52.8 52.8-52.8 52.8 23.7 52.8 52.8-23.7 52.8-52.8 52.8z m0-89.6c-20.3 0-36.8 16.5-36.8 36.8 0 20.3 16.5 36.8 36.8 36.8s36.8-16.5 36.8-36.8c0-20.3-16.5-36.8-36.8-36.8zM459.3 682h144.1v16H459.3zM459.3 751.6h244.1v16H459.3z" fill="#0A0408" /><path d="M359 72.4h305.2v75.9H359z" fill="#EBB866" /><path d="M672.2 156.2H351V64.4h321.2v91.8z m-305.2-16h289.2V80.4H367v59.8z" fill="#0A0408" /><path d="M808.3 807.9m-141.7 0a141.7 141.7 0 1 0 283.4 0 141.7 141.7 0 1 0-283.4 0Z" fill="#EBB866" /><path d="M808.3 957.6c-82.5 0-149.7-67.1-149.7-149.7s67.1-149.7 149.7-149.7S958 725.4 958 807.9s-67.2 149.7-149.7 149.7z m0-283.4c-73.7 0-133.7 60-133.7 133.7s60 133.7 133.7 133.7S942 881.6 942 807.9s-60-133.7-133.7-133.7z" fill="#0A0408" /><path d="M810.3 727.1l26 52.5 58 8.5-42 40.9 9.9 57.8-51.9-27.3-51.9 27.3 9.9-57.8-41.9-40.9 58-8.5z" fill="#FFFFFF" /><path d="M872.8 901.4l-62.5-32.9-62.5 32.9 11.9-69.6-50.6-49.3 69.9-10.2 31.3-63.3 31.3 63.3 69.9 10.2-50.6 49.3 11.9 69.6z m-62.5-51l41.3 21.7-7.9-45.9 33.4-32.5L831 787l-20.6-41.8-20.7 41.8-46.1 6.7 33.4 32.5-7.9 45.9 41.2-21.7z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M74 183.7h216V918H74z" fill="#55B7A8" /><path d="M298 926H66V175.7h232V926zM82 910h200V191.7H82V910z" fill="#0A0408" /><path d="M125.6 246.6h116.8v229.2H125.6z" fill="#FFFFFF" /><path d="M250.4 483.8H117.6V238.6h132.8v245.2z m-116.8-16h100.8V254.6H133.6v213.2z" fill="#0A0408" /><path d="M178.8 783.9m-55.2 0a55.2 55.2 0 1 0 110.4 0 55.2 55.2 0 1 0-110.4 0Z" fill="#FFFFFF" /><path d="M178.8 847.1c-34.8 0-63.2-28.3-63.2-63.2s28.3-63.2 63.2-63.2c34.8 0 63.2 28.3 63.2 63.2s-28.4 63.2-63.2 63.2z m0-110.4c-26 0-47.2 21.2-47.2 47.2s21.2 47.2 47.2 47.2 47.2-21.2 47.2-47.2-21.2-47.2-47.2-47.2z" fill="#0A0408" /><path d="M519.4 224.2L728 168.3l190.1 709.3-208.6 55.9" fill="#FFFFFF" /><path d="M517.346 216.397l7.727-2.07 4.14 15.454-7.727 2.07zM544.1 225.8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-7.9l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4zM663 194l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4zM722.4 178.1l-4.2-15.5 15.5-4.1 4.1 15.4zM904.2 856.5l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4L866 652l4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1L837 544l-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.2-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.9l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1z m-8.3-30.8l-4.1-15.4 15.5-4.1 4.1 15.4-15.5 4.1zM908.303 871.94l15.454-4.142 4.143 15.455-15.455 4.142zM734.2 935.1l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-7.9l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-7.9l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4z m29.7-8l-4.1-15.5 14.9-4 4.1 15.5-14.9 4zM707.443 925.66l7.727-2.07 4.141 15.454-7.727 2.07z" fill="#0A0408" /><path d="M583.619 272.12l112.817-30.229 59.317 221.385-112.817 30.228z" fill="#FFFFFF" /><path d="M637.3 503.3l-63.5-236.8L702.1 232l63.5 236.8-128.3 34.5z m-43.9-225.6l55.2 205.9 97.4-26.1-55.2-205.9-97.4 26.1z" fill="#0A0408" /><path d="M722.664239 791.097256a55.2 55.2 0 1 0 106.63871-28.571762 55.2 55.2 0 1 0-106.63871 28.571762Z" fill="#FFFFFF" /><path d="M776 840c-27.9 0-53.5-18.6-61-46.8-9-33.7 11-68.4 44.7-77.4s68.4 11 77.4 44.7c9 33.6-11 68.4-44.7 77.4-5.5 1.4-11 2.1-16.4 2.1z m0-110.4c-4 0-8.1 0.5-12.2 1.6-25.1 6.7-40.1 32.7-33.4 57.8 6.7 25.1 32.7 40.1 57.8 33.4 25.1-6.7 40.1-32.7 33.4-57.8-5.7-21-24.8-35-45.6-35z" fill="#0A0408" /><path d="M888.182 860.34l47.04-12.603 12.603 47.04-47.04 12.603z" fill="#DC444A" /><path d="M895.2 917.2l-16.8-62.5 62.5-16.8 16.8 62.5-62.5 16.8zM898 866l8.5 31.6 31.6-8.5-8.5-31.6L898 866z" fill="#0A0408" /><path d="M698.202 151.04l47.04-12.604 12.603 47.04-47.04 12.603z" fill="#DC444A" /><path d="M705.1 207.9l-16.8-62.5 62.5-16.8 16.8 62.5-62.5 16.8z m2.9-51.2l8.5 31.6 31.6-8.5-8.5-31.6-31.6 8.5z" fill="#0A0408" /><path d="M291.4 183.7h216V918h-216z" fill="#EBB866" /><path d="M515.4 926h-232V175.7h232V926z m-216-16h200V191.7h-200V910z" fill="#0A0408" /><path d="M343 246.6h116.8v229.2H343z" fill="#FFFFFF" /><path d="M467.8 483.8H335V238.6h132.8v245.2z m-116.8-16h100.8V254.6H351v213.2z" fill="#0A0408" /><path d="M396.2 783.9m-55.2 0a55.2 55.2 0 1 0 110.4 0 55.2 55.2 0 1 0-110.4 0Z" fill="#FFFFFF" /><path d="M396.2 847.1c-34.8 0-63.2-28.3-63.2-63.2s28.3-63.2 63.2-63.2c34.8 0 63.2 28.3 63.2 63.2s-28.4 63.2-63.2 63.2z m0-110.4c-26 0-47.2 21.2-47.2 47.2s21.2 47.2 47.2 47.2 47.2-21.2 47.2-47.2-21.2-47.2-47.2-47.2z" fill="#0A0408" /><path d="M712.5 941.5L518.4 217.2" fill="#FFFFFF" /><path d="M510.727 219.228l15.454-4.141 194.074 724.328-15.454 4.141z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M96.4 364.2h830.3v529.5H96.4z" fill="#FFFFFF" /><path d="M926.7 901.7h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-22.3-9.7h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 860h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 828h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 796h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 764h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 732h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 700h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 668h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 636h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 604h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 572h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 540h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 508h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 476h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 444h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 412h-16v-16h16v16z m830.3-13.9h-16v-16h16v16zM104.4 380h-16v-23.8h8.2v8h7.8V380z m822.3-7.8h-14.1v-16h22.1v9.9h-8v6.1z m-30.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z" fill="#0A0408" /><path d="M172.6 438.3h677.8v381.4H172.6z" fill="#F4BE6F" /><path d="M96.4 258.8h830.3v105.9H96.4z" fill="#55B7A8" /><path d="M934.7 372.7H88.4V250.8h846.3v121.9z m-830.3-16h814.3v-89.9H104.4v89.9z" fill="#0A0408" /><path d="M457.3 107.2h108.5v203.7H457.3z" fill="#EBB866" /><path d="M573.8 318.9H449.3V99.2h124.5v219.7z m-108.5-16h92.5V115.2h-92.5v187.7z" fill="#0A0408" /><path d="M308.7 560.2m-65.9 0a65.9 65.9 0 1 0 131.8 0 65.9 65.9 0 1 0-131.8 0Z" fill="#FFFFFF" /><path d="M308.7 634.1c-40.8 0-73.9-33.2-73.9-73.9s33.2-73.9 73.9-73.9 73.9 33.2 73.9 73.9-33.1 73.9-73.9 73.9z m0-131.9c-32 0-57.9 26-57.9 57.9s26 57.9 57.9 57.9 57.9-26 57.9-57.9-25.9-57.9-57.9-57.9z" fill="#0A0408" /><path d="M418.7 767.9c0-60.7-49.2-109.9-109.9-109.9s-109.9 49.2-109.9 109.9h219.8z" fill="#FFFFFF" /><path d="M426.7 775.9H190.8v-8c0-65 52.9-117.9 117.9-117.9s117.9 52.9 117.9 117.9v8z m-219.6-16h203.3c-4.1-52.5-48.1-93.9-101.6-93.9s-97.6 41.4-101.7 93.9zM457.3 662.8h313.9v16H457.3zM457.3 751.2h261.8v16H457.3z" fill="#0A0408" /><path d="M457.3 512.7h313.9v65.9H457.3z" fill="#FFFFFF" /><path d="M779.2 586.7H449.3v-81.9h329.9v81.9z m-313.9-16h297.9v-49.9H465.3v49.9z" fill="#0A0408" /><path d="M512 258.6m-20.3 0a20.3 20.3 0 1 0 40.6 0 20.3 20.3 0 1 0-40.6 0Z" fill="#FFFFFF" /><path d="M512 287c-15.6 0-28.3-12.7-28.3-28.3s12.7-28.3 28.3-28.3 28.3 12.7 28.3 28.3S527.6 287 512 287z m0-40.7c-6.8 0-12.3 5.5-12.3 12.3S505.2 271 512 271s12.3-5.5 12.3-12.3-5.5-12.4-12.3-12.4z" fill="#0A0408" /><path d="M71.5 868.8h49.8v49.8H71.5z" fill="#DC504F" /><path d="M129.2 926.6H63.5v-65.8h65.8v65.8z m-49.7-16h33.8v-33.8H79.5v33.8z" fill="#0A0408" /><path d="M899.4 868.8h49.8v49.8h-49.8z" fill="#DC504F" /><path d="M957.1 926.6h-65.8v-65.8h65.8v65.8z m-49.7-16h33.8v-33.8h-33.8v33.8z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M886.6 657.2h-16.8v-7.6l-0.7-7.6 0.7-0.1v-0.7h7.7l7.6-0.7zM853.8 657.2h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16zM436.8 657.2h-18.2l4.3-17.7 6.9 1.7h7v1.8l1.7 0.4-1.7 6.8zM442.3 627.7l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.8-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.7-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.7-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.8-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.7-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.7-31.4l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7z m7.7-31.5l-15.5-3.8 3.9-15.7 15.5 3.8-3.9 15.7zM504.2 376.4l-15.6-3.8 3.4-13.8h14.3v16h-1.7zM923.3 374.8h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32.1 0h-16v-16h16v16zM950.2 377.7l-5-2.9h-5.8v-3.4l-3-1.8 3-5v-5.8h21.9zM867.8 626.8l-1.4-15.2 15.9-1.4 1.4 15.2-15.9 1.4z m-2.8-30.3l-1.4-15.2 15.9-1.4 1.4 15.2-15.9 1.4z m-2.8-30.3l-1.4-15.2 15.9-1.4 1.4 15.2-15.9 1.4z m-2.7-30.4l-1.4-15.2 15.9-1.4 1.4 15.2-15.9 1.4z m14-26.6l-13.8-8.1 7.7-13.2 13.8 8.1-7.7 13.2z m15.4-26.3l-13.8-8.1 7.7-13.2 13.8 8.1-7.7 13.2z m15.3-26.3l-13.8-8.1 7.7-13.2 13.8 8.1-7.7 13.2z m15.3-26.3l-13.8-8.1 7.7-13.2 13.8 8.1-7.7 13.2z m15.4-26.3l-13.8-8.1 7.7-13.2 13.8 8.1-7.7 13.2z" fill="#0A0408" /><path d="M795.3 649.2h-413l69.5-282.4h413.1L778.5 508z" fill="#EBB866" /><path d="M804.3 657.2H372.1l73.5-298.5h433.6l-92.4 151 17.5 147.5z m-411.8-16h393.8l-16.1-135 80.4-131.4H458.1l-65.6 266.4z" fill="#0A0408" /><path d="M238.4 855.7h-66.1l202.5-750.5H441z" fill="#55B7A8" /><path d="M244.5 863.7h-82.7L368.7 97.2h82.7L244.5 863.7z m-61.8-16h49.6l198.2-734.5H381L182.7 847.7z" fill="#0A0408" /><path d="M693.7 508h-453l69.5-282.5h453z" fill="#EBB866" /><path d="M700 516H230.5L304 217.5h469.5L700 516z m-449.1-16h436.6L753 233.5H316.5L250.9 500z" fill="#0A0408" /><path d="M115.6 850.1h189.8v68.8H115.6z" fill="#68A4D9" /><path d="M313.4 926.9H107.6v-84.8h205.8v84.8z m-189.8-16h173.8v-52.8H123.6v52.8z" fill="#0A0408" /><path d="M65.6 910.9h289.8v16H65.6zM278.6 358.8h232.7v16H278.6z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M548.1 455.7h-72l-36 39.8 36 39.9h72l36-39.9z" fill="#DC444A" /><path d="M551.7 543.4h-79.1l-43.2-47.9 43.2-47.9h79.1l43.2 47.9-43.2 47.9z m-72-16h64.9l28.8-31.9-28.8-31.9h-64.9l-28.8 31.9 28.8 31.9z" fill="#0A0408" /><path d="M512.1 899.4l102.5-110.5-64.4-253.6h-76.1l-64.5 253.6z" fill="#FFFFFF" /><path d="M512.1 911.2l-111.3-120 67.1-263.8h88.5l67.1 263.8-111.4 120z m-93.7-124.6l93.7 101 93.7-101-61.9-243.4h-63.6l-61.9 243.4z" fill="#0A0408" /><path d="M512.1 843.5l72.4-78L539 586.6h-53.7l-45.5 178.9z" fill="#DC444A" /><path d="M512.1 240.3m-167.3 0a167.3 167.3 0 1 0 334.6 0 167.3 167.3 0 1 0-334.6 0Z" fill="#EBB866" /><path d="M512.1 415.5c-96.6 0-175.3-78.6-175.3-175.3S415.5 65 512.1 65c96.6 0 175.3 78.6 175.3 175.3s-78.6 175.2-175.3 175.2z m0-334.5c-87.8 0-159.3 71.4-159.3 159.3s71.4 159.3 159.3 159.3c87.8 0 159.3-71.4 159.3-159.3S599.9 81 512.1 81z" fill="#0A0408" /><path d="M880.3 950H143.9V645.6c0-61.2 116.2-144.2 177.4-144.2L512 774.7l190.7-273.3c61.2 0 177.4 82.9 177.4 144.2V950z" fill="#FFFFFF" /><path d="M888.3 958H135.9V645.6c0-43.4 48.2-85.4 68.9-101.4 39.9-30.9 85.7-50.8 116.6-50.8h4.2l186.6 267.3 186.6-267.3h4.2c30.9 0 76.7 19.9 116.6 50.8 20.7 16 68.9 57.9 68.9 101.4V958z m-736.4-16h720.4V645.6c0-25.2-23.4-58.4-62.6-88.7-35.5-27.4-75.2-45.6-102.7-47.3L512.1 788.8 317.3 509.6c-27.5 1.7-67.2 19.9-102.7 47.3-39.2 30.3-62.6 63.5-62.6 88.7V942z" fill="#0A0408" /><path d="M441.2 896.3H209.6V704.8c0-38.5 31.2-90.7 69.8-90.7h45.3l116.6 172v110.2zM574.6 896.3h231.7V704.8c0-38.5-31.2-90.7-69.8-90.7h-45.3L574.6 786v110.3z" fill="#55B7A8" /><path d="M520.1 930.4h-16v-15.2h16v15.2z m0-31.2h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32h-16v-16h16v16z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M841.7 915.2L518.5 797.3 183.1 915.2V107.1h658.6z" fill="#FFFFFF" /><path d="M849.7 926.7L518.4 805.8 175.1 926.5V99.1h674.5v827.6zM191.1 115.1v788.8l327.4-115.1 315.1 115V115.1H191.1z" fill="#0A0408" /><path d="M801.6 868.3l-18.2-6.6 2.2-6.2v-6.6h2.5l0.8-2.3 6.2 2.3h6.5zM256.2 856.6l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m512.4-0.3l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-482.8-10.2l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m453.3-0.6l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-423.6-9.8l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m394.1-1l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-364.5-9.4l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m334.9-1.4l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-305.2-9.1l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m275.7-1.6l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-246.1-8.8l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m216.6-2l-14.8-5.4 5.5-15 14.8 5.4-5.5 15zM434.1 794l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m157.4-2.4l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-127.8-8l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m98.2-2.8l-14.8-5.4 5.5-15 14.8 5.4-5.5 15z m-68.5-7.7l-5.3-15.1 14.8-5.2 5.3 15.1-14.8 5.2z m39-3l-14.8-5.4 5.5-15 14.8 5.4-5.5 15zM223.2 868.2v-19.3h6.6l6.2-2.2 0.8 2.2h2.4v6.6l2.2 6.3zM239.2 833.2h-16v-15.7h16v15.7z m0-31.4h-16V786h16v15.8z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16V629h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V519z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V362z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16V252h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7zM223.2 157.5h16v16h-16zM770 173.5h-15.6v-16H770v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0H692v-16h15.6v16z m-31.3 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0H567v-16h15.6v16z m-31.3 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16H489v16z m-31.3 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.3 0h-15.6v-16h15.6v16z m-31.2 0H286v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16zM785.6 157.5h16v16h-16zM801.6 833.2h-16v-15.7h16v15.7z m0-31.4h-16V786h16v15.8z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16V629h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V519z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16V362z m0-31.5h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16V252h16v15.7z m0-31.4h-16v-15.7h16v15.7z m0-31.4h-16v-15.7h16v15.7z" fill="#0A0408" /><path d="M752.2 791.2l-235.4-85.9-244.2 85.9V196.6h479.6z" fill="#55B7A8" /><path d="M512.4 305.7l42.9 86.8 95.8 13.9-69.4 67.6 16.4 95.5-85.7-45.1-85.7 45.1 16.4-95.5-69.4-67.6 95.8-13.9z" fill="#EBB866" /><path d="M608.7 584.1l-96.3-50.6-96.3 50.6 18.4-107.3-77.9-76 107.7-15.7 48.2-97.6 48.2 97.6 107.7 15.7-77.9 76 18.2 107.3z m-96.3-68.7l75.1 39.5-14.3-83.6 60.7-59.2-83.9-12.2-37.5-76.1-37.5 76.1-84.1 12.1 60.7 59.2-14.3 83.6 75.1-39.4z" fill="#0A0408" /><path d="M205.7 140h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M264.6 198.9h-66.9V132h66.9v66.9z m-50.9-16h34.9V148h-34.9v34.9z" fill="#0A0408" /><path d="M768.2 140h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M827.1 198.9h-66.9V132h66.9v66.9z m-50.9-16h34.9V148h-34.9v34.9z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M858.5 933.3h-24v-16h16v3.9h8v12.1z m-40 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0H165v-18.5h16v10.5h-2.5v8z m680-28.1h-16v-16h16v16zM181 898.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 866.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 834.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 802.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 770.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 738.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 706.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 674.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 642.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 610.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 578.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 546.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 514.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 482.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 450.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 418.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 386.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 354.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 322.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 290.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 258.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 226.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 194.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 162.8h-16v-16h16v16z m677.5-25.6h-16v-16h16v16zM181 130.8h-16v-16h16v16z m677.5-25.6h-16v-8.4h0.4v-8h15.6v16.4z m-31.6-0.5h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-32 0H173v-5.9h-8V88.7h21.9v16z" fill="#0A0408" /><path d="M261.7 193.2h500.2v228.9H261.7z" fill="#EBB866" /><path d="M769.8 430.2H253.7v-245h516.2v245z m-500.1-16h484.2v-213H269.7v213z" fill="#0A0408" /><path d="M261.7 496.3h112.4v129.4H261.7z" fill="#55B7A8" /><path d="M382.1 633.7H253.7V488.3h128.4v145.4z m-112.4-16h96.4V504.3h-96.4v113.4z" fill="#0A0408" /><path d="M455.5 496.3h112.4v129.4H455.5z" fill="#55B7A8" /><path d="M576 633.7H447.5V488.3H576v145.4z m-112.5-16H560V504.3h-96.4v113.4z" fill="#0A0408" /><path d="M261.7 709.9h112.4v129.4H261.7z" fill="#55B7A8" /><path d="M382.1 847.3H253.7V701.9h128.4v145.4z m-112.4-16h96.4V717.9h-96.4v113.4z" fill="#0A0408" /><path d="M455.5 709.9h112.4v129.4H455.5z" fill="#55B7A8" /><path d="M576 847.3H447.5V701.9H576v145.4z m-112.5-16H560V717.9h-96.4v113.4z" fill="#0A0408" /><path d="M649.4 496.3h112.4v342.9H649.4z" fill="#55B7A8" /><path d="M769.8 847.3H641.4v-359h128.4v359z m-112.4-16h96.4v-327h-96.4v327zM261.7 256.3h78.5v16h-78.5zM261.7 333h139.7v16H261.7z" fill="#0A0408" /><path d="M147.3 71h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M206.7 130.5h-67.4V63h67.4v67.5z m-51.4-16h35.4V79h-35.4v35.5z" fill="#0A0408" /><path d="M824.8 71h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M884.2 130.5h-67.4V63h67.4v67.5z m-51.4-16h35.4V79h-35.4v35.5z" fill="#0A0408" /><path d="M147.3 899.6h51.4V951h-51.4z" fill="#DC444A" /><path d="M206.7 959h-67.4v-67.4h67.4V959z m-51.4-16h35.4v-35.4h-35.4V943z" fill="#0A0408" /><path d="M824.8 899.6h51.4V951h-51.4z" fill="#DC444A" /><path d="M884.2 959h-67.4v-67.4h67.4V959z m-51.4-16h35.4v-35.4h-35.4V943z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M71.2 737.7h180.9v180.9H71.2z" fill="#FFFFFF" /><path d="M260.1 926.6H63.2V729.7h196.9v196.9z m-180.9-16h164.9V745.7H79.2v164.9z" fill="#0A0408" /><path d="M422.1 737.7H603v180.9H422.1z" fill="#FFFFFF" /><path d="M611 926.6H414.1V729.7H611v196.9z m-180.9-16H595V745.7H430.1v164.9z" fill="#0A0408" /><path d="M771.9 737.7h180.9v180.9H771.9z" fill="#FFFFFF" /><path d="M960.8 926.6H763.9V729.7h196.9v196.9z m-180.9-16h164.9V745.7H779.9v164.9z" fill="#0A0408" /><path d="M504.5 397.1h16v333.5h-16zM153.6 732.6h16v8h-16zM169.6 716.2h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.6h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3zM153.6 504.1h16v16h-16z" fill="#0A0408" /><path d="M840 520.1h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-32 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16z m-31.9 0h-16v-16h16v16zM855.9 504.1h16v16h-16zM871.9 716.2h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3z m0-32.6h-16v-16.3h16v16.3z m0-32.7h-16v-16.3h16v16.3zM855.9 732.6h16v8h-16z" fill="#0A0408" /><path d="M655.6 216.7c0 79-143 184.8-143 184.8s-143-105.8-143-184.8 64-143 143-143 143 64 143 143z" fill="#EBB866" /><path d="M512.5 411.5l-4.8-3.5c-6-4.4-146.3-109.2-146.3-191.3 0-83.3 67.8-151 151-151 83.3 0 151 67.8 151 151 0 82.1-140.3 186.8-146.3 191.3l-4.6 3.5z m0-329.8c-74.5 0-135 60.6-135 135 0 30.2 23.9 70.4 69.2 116.4 27.4 27.8 55 50 65.8 58.3 10.8-8.4 38.6-30.6 66-58.5 45.2-45.9 69.1-86.2 69.1-116.3 0-74.3-60.6-134.9-135.1-134.9z" fill="#0A0408" /><path d="M116.7 783.2h89.9v89.9h-89.9z" fill="#55B7A8" /><path d="M467.6 783.2h89.9v89.9h-89.9zM819 783.2h89.9v89.9H819z" fill="#4EB3A6" /><path d="M836.7 486.6h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M895.6 545.5h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /><path d="M130 486.6h50.9v50.9H130z" fill="#DC444A" /><path d="M188.9 545.5H122v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9H138v34.9z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M135.3 198.6h752.6V744H135.3z" fill="#FFFFFF" /><path d="M879.9 736h16v16h-16zM864.2 752h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H347v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H300v16z m-31.3 0H253v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H206v16z m-31.3 0H159v-16h15.7v16zM127.3 736h16v16h-16zM143.3 719.9h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16zM127.3 190.6h16v16h-16zM864.2 206.6h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H347v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H300v16z m-31.3 0H253v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H206v16z m-31.3 0H159v-16h15.7v16zM879.9 190.6h16v16h-16zM895.9 719.9h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32.1h-16v-16h16v16z m0-32h-16v-16h16v16z m0-32.1h-16v-16h16v16z" fill="#0A0408" /><path d="M263 274.5h495.8V634H263z" fill="#F4BE6F" /><path d="M758.8 642H255V274.5h16V626h487.8zM503.6 764.6h16v137.2h-16z" fill="#0A0408" /><path d="M511.1 913.7m-35.8 0a35.8 35.8 0 1 0 71.6 0 35.8 35.8 0 1 0-71.6 0Z" fill="#55B7A8" /><path d="M511.1 957.5c-24.2 0-43.8-19.7-43.8-43.8s19.7-43.8 43.8-43.8c24.2 0 43.8 19.7 43.8 43.8s-19.6 43.8-43.8 43.8z m0-71.7c-15.4 0-27.8 12.5-27.8 27.8 0 15.4 12.5 27.8 27.8 27.8 15.4 0 27.8-12.5 27.8-27.8 0.1-15.3-12.4-27.8-27.8-27.8z" fill="#0A0408" /><path d="M268.7 639.7l-11.3-11.3 191.1-191.2L543 530l135.1-133.7 11.2 11.4-146.2 144.8-94.5-92.7z" fill="#0A0408" /><path d="M694.9 467.3h-16v-62h-62v-16h78z" fill="#0A0408" /><path d="M71.9 106.8h879.4v92.8H71.9z" fill="#55B7A8" /><path d="M959.3 207.6H63.9V98.8h895.4v108.8z m-879.4-16h863.4v-76.8H79.9v76.8z" fill="#0A0408" /><path d="M109.9 718.5h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M168.8 777.4h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /><path d="M862.5 718.5h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M921.3 777.4h-66.9v-66.9h66.9v66.9z m-50.8-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M503.8 817.7h16v128.9h-16zM503.7 62.7h16v127.7h-16z" fill="#0A0408" /><path d="M511.7 214h379.2v600.7H132.6V214h379.1" fill="#FFFFFF" /><path d="M511.7 206h8v16h-8zM867.1 222h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0H725v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16H646v16z m-31.5 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16zM882.9 206h16v16h-16zM898.9 790.9h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.7h-16V459h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16V380z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16V301h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8zM882.9 806.7h16v16h-16zM867.1 822.7h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16H646v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0H567v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0h-15.8v-16H267v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0H188v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16zM124.6 806.7h16v16h-16zM140.6 790.9h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.7h-16V459h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16V380z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16V301h16v15.8z m0-31.6h-16v-15.8h16v15.8z m0-31.6h-16v-15.8h16v15.8zM124.6 206h16v16h-16zM488 222h-15.8v-16H488v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0H409v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16z m-31.5 0H188v-16h15.8v16z m-31.6 0h-15.8v-16h15.8v16zM503.7 206h8v16h-8zM333.7 957.6l-7.6-14.1 185.7-100.9 182 101-7.8 14-174.3-96.8z" fill="#0A0408" /><path d="M754.6 537.7c0 74.9-60.7 135.6-135.6 135.6s-135.6-60.7-135.6-135.6S544.1 402.1 619 402.1v135.6h135.6z" fill="#55B7A8" /><path d="M619 681.4c-79.2 0-143.6-64.4-143.6-143.6S539.8 394.1 619 394.1h8v135.6h135.6v8c0 79.2-64.4 143.7-143.6 143.7z m-8-271c-66.7 4.1-119.6 59.7-119.6 127.4 0 70.4 57.3 127.6 127.6 127.6 67.7 0 123.2-53 127.4-119.6H611V410.4z" fill="#0A0408" /><path d="M794.5 513.8H642.9V362.2h8c79.2 0 143.6 64.4 143.6 143.6v8z m-135.6-16h119.4c-4-64-55.4-115.4-119.4-119.4v119.4z" fill="#0A0408" /><path d="M750.4 477.8c0-39.5-32-71.5-71.5-71.5v71.5h71.5z" fill="#DC444A" /><path d="M229.1 583.2h16v90.2h-16zM288.7 411.5h16v261.9h-16zM348.3 512.5h16v160.9h-16zM407.9 613.5h16v59.9h-16z" fill="#0A0408" /><path d="M106.9 188.3h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M166.3 247.7H98.9v-67.4h67.4v67.4z m-51.4-16h35.4v-35.4h-35.4v35.4z" fill="#0A0408" /><path d="M106.9 791h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M166.3 850.4H98.9V783h67.4v67.4z m-51.4-16h35.4V799h-35.4v35.4z" fill="#0A0408" /><path d="M865.2 188.3h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M924.6 247.7h-67.4v-67.4h67.4v67.4z m-51.4-16h35.4v-35.4h-35.4v35.4z" fill="#0A0408" /><path d="M865.2 791h51.4v51.4h-51.4z" fill="#DC444A" /><path d="M924.6 850.4h-67.4V783h67.4v67.4z m-51.4-16h35.4V799h-35.4v35.4z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M135.3 373h753.1v493H135.3z" fill="#FFFFFF" /><path d="M880.5 365h16v16h-16zM864.8 381h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H755v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16H708v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0H504v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H457v16z m-31.4 0H410v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H159v-16h15.7v16zM127.3 365h16v16h-16zM143.3 841.5h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.8h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16V710z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16V562h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4zM127.3 858h16v16h-16zM864.8 874h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H755v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16H708v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0H504v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16H457v16z m-31.4 0H410v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.4 0h-15.7v-16h15.7v16z m-31.3 0h-15.7v-16h15.7v16z m-31.4 0H159v-16h15.7v16zM880.5 858h16v16h-16zM896.5 841.5h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.8h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16V710z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16V562h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z m0-32.9h-16v-16.4h16v16.4z" fill="#0A0408" /><path d="M192.7 440.7h645.2v454.9H192.7z" fill="#EBB866" /><path d="M71.9 864.5H952v83.9H71.9z" fill="#FFFFFF" /><path d="M959.9 956.4h-896v-99.9H960v99.9z m-880-16H944v-67.9H79.9v67.9z" fill="#0A0408" /><path d="M314.5 334.1h84.4v319.7h-84.4z" fill="#55B7A8" /><path d="M406.9 661.8H306.5V326.1h100.4v335.7z m-84.4-16h68.4V342.1h-68.4v303.7z" fill="#0A0408" /><path d="M475.3 145.7h84.4v508.1h-84.4z" fill="#DC444A" /><path d="M567.6 661.8H467.3V137.7h100.4v524.1z m-84.3-16h68.4V153.7h-68.4v492.1z" fill="#0A0408" /><path d="M636 241.8h84.4v412H636z" fill="#68A4D9" /><path d="M728.4 661.8H628v-428h100.4v428z m-84.4-16h68.4v-396H644v396z" fill="#0A0408" /><path d="M314.5 308.7h84.4v110.8h-84.4z" fill="#FFFFFF" /><path d="M406.9 427.5H306.5V300.7h100.4v126.8z m-84.4-16h68.4v-94.8h-68.4v94.8z" fill="#0A0408" /><path d="M475.3 104h84.4v110.8h-84.4z" fill="#FFFFFF" /><path d="M567.6 222.8H467.3V96h100.4v126.8z m-84.3-16h68.4V112h-68.4v94.8z" fill="#0A0408" /><path d="M636 223.3h84.4v110.8H636z" fill="#FFFFFF" /><path d="M728.4 342.1H628V215.3h100.4v126.8z m-84.4-16h68.4v-94.8H644v94.8z" fill="#0A0408" /><path d="M314.5 742.2h8v16h-8zM696.8 758.2h-15.6v-16h15.6v16z m-31.2 0H650v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16H572v16z m-31.2 0h-15.6v-16h15.6v16z m-31.1 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16z m-31.2 0h-15.6v-16h15.6v16zM712.4 742.2h8v16h-8z" fill="#0A0408" /><path d="M109.9 347.6h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M168.8 406.5h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /><path d="M863.7 346.9h50.9v50.9h-50.9z" fill="#DC444A" /><path d="M922.6 405.7h-66.9v-66.9h66.9v66.9z m-50.9-16h34.9v-34.9h-34.9v34.9z" fill="#0A0408" /></svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="170.10px" viewBox="0 0 1204 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M0 0m84.453608 0l1035.23233 0q84.453608 0 84.453608 84.453608l0 669.801567q0 84.453608-84.453608 84.453609l-1035.23233 0q-84.453608 0-84.453608-84.453609l0-669.801567q0-84.453608 84.453608-84.453608Z" fill="#D6E0E8" /><path d="M47.716289 33.190268m84.453608 0l939.799752 0q84.453608 0 84.453609 84.453608l0 603.421031q0 84.453608-84.453609 84.453608l-939.799752 0q-84.453608 0-84.453608-84.453608l0-603.421031q0-84.453608 84.453608-84.453608Z" fill="#8DDFFF" /><path d="M712.112825 955.001402H492.026722l19.67769-116.292618h180.730722l19.677691 116.292618z" fill="#244F60" /><path d="M693.533031 838.708784h-33.274722l17.650804 116.292618h33.190268l-17.56635-116.292618z" fill="#19355E" opacity=".47" /><path d="M413.82268 955.001402h376.663093a68.998598 68.998598 0 0 1 68.998598 68.998598h-515.16701a68.998598 68.998598 0 0 1 69.505319-68.998598z" fill="#2E5A70" /><path d="M790.485773 955.001402h-41.466721a68.914144 68.914144 0 0 1 68.914144 68.914144h41.551175a68.914144 68.914144 0 0 0-68.998598-68.914144z" fill="#19355E" opacity=".47" /><path d="M602.069773 780.604701m-24.913814 0a24.913814 24.913814 0 1 0 49.827629 0 24.913814 24.913814 0 1 0-49.827629 0Z" fill="#FFFFFF" /><path d="M1133.53633 755.690887v-41.551176H0v41.551176a83.017897 83.017897 0 0 0 83.017897 83.017897h967.500536a83.017897 83.017897 0 0 0 83.017897-83.017897z" fill="#2E5A70" /><path d="M1167.48668 824.520577a78.457402 78.457402 0 0 1-14.103752 7.685279 78.457402 78.457402 0 0 0 14.103752-7.685279zM1203.717278 764.136247a77.866227 77.866227 0 0 1-3.378144 16.215093 77.866227 77.866227 0 0 0 3.378144-16.215093zM1121.037196 0h-70.518763a83.017897 83.017897 0 0 1 83.017897 83.017897v631.121814h70.603216V83.017897A83.102351 83.102351 0 0 0 1121.037196 0zM1173.905155 819.791175a84.453608 84.453608 0 0 0 20.184412-24.491546 84.453608 84.453608 0 0 1-20.184412 24.491546z" fill="#F0F5FF" opacity=".33" /><path d="M1133.53633 755.690887a83.017897 83.017897 0 0 1-83.017897 83.017897h70.518763a82.257814 82.257814 0 0 0 32.345732-6.502928 78.457402 78.457402 0 0 0 14.103752-7.685279 69.75868 69.75868 0 0 0 6.418475-4.729402 84.453608 84.453608 0 0 0 20.184412-24.491546 83.355711 83.355711 0 0 0 6.249567-14.948289 77.866227 77.866227 0 0 0 3.378144-16.215093c0-2.786969 0.422268-5.573938 0.422268-8.44536v-41.551176h-70.603216z" fill="#0459A5" /><path d="M1133.53633 755.690887a83.017897 83.017897 0 0 1-83.017897 83.017897h70.518763a82.257814 82.257814 0 0 0 32.345732-6.502928 78.457402 78.457402 0 0 0 14.103752-7.685279 69.75868 69.75868 0 0 0 6.418475-4.729402 84.453608 84.453608 0 0 0 20.184412-24.491546 83.355711 83.355711 0 0 0 6.249567-14.948289 77.866227 77.866227 0 0 0 3.378144-16.215093c0-2.786969 0.422268-5.573938 0.422268-8.44536v-41.551176h-70.603216z" fill="#153D4C" /><path d="M583.321072 383.166021c0 114.688-68.914144 213.498722-202.68866 213.498721-129.382928 0-197.114722-93.996866-197.114721-212.147464 0-119.924124 74.825897-212.06301 202.68866-212.06301 120.515299 0 197.114722 84.538062 197.114721 210.711753z m-307.833402 0c0 80.484289 35.386062 141.37534 108.438433 141.37534 79.301938 0 107.340536-66.380536 107.340536-139.855175 0-78.372948-31.923464-139.770722-108.776247-139.770722-74.488082 0-107.002722 57.597361-107.002722 137.828289zM731.368247 495.48932l-32.176824 95.179216H611.528577L751.637113 178.450474h111.901031l146.104743 412.218062h-93.743506l-33.781443-95.179216zM862.778062 422.268041c-29.305402-87.07167-47.969649-142.642144-57.935175-179.717278h-0.591176C793.863918 283.426309 773.510598 348.03332 750.032495 422.268041z" fill="#FF9831" /></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M287.403798 183.554432a124.492312 124.492312 0 0 0-95.870977 45.136335L530.02035 951.711884h14.905487l270.818014-739.676075a124.00246 124.00246 0 0 0-79.146039-28.481377z" fill="#FFAF3B" /><path d="M191.532821 228.690767A127.081528 127.081528 0 0 0 162.07174 310.216087v514.904121A125.961867 125.961867 0 0 0 287.403798 951.711884H316.025133V495.310053zM379.355961 629.949293v321.83257h150.664389L379.355961 629.949293z" fill="#FF761A" /><path d="M379.355961 183.554432h-63.050912v311.755621l63.050912 134.63924V183.554432z" fill="#FF9E1D" /><path d="M316.305049 495.310053v456.47181h63.050912V629.949293l-63.050912-134.63924z" fill="#FF5A08" /><path d="M815.743851 212.035809L662.910119 629.809335v321.902549H736.597812a125.961867 125.961867 0 0 0 125.262078-126.591676V310.216087a126.801613 126.801613 0 0 0-46.116039-98.180278zM544.925837 951.781863h54.93337v-150.034579l-54.93337 150.034579z" fill="#FFC73B" /><path d="M662.910119 183.554432h-63.050912v618.192852l63.050912-172.147885V183.554432z" fill="#FF9E1D" /><path d="M599.859207 801.747284v150.034579h63.050912V629.599399l-63.050912 172.147885z" fill="#FFB206" /><path d="M347.795515 5.668284h72.07818v177.886148h-72.07818z" fill="#2B3747" /><path d="M396.150877 5.668284h23.722818v177.886148h-23.722818z" fill="#1D2B3A" /><path d="M600.908889 5.668284h72.07818v177.886148h-72.07818z" fill="#2B3747" /><path d="M649.26425 5.668284h23.722819v177.886148h-23.722819z" fill="#1D2B3A" /><path d="M730.649612 183.554432H648.354526c72.498052 0 131.210278 53.813709 131.210278 120.153625v527.920181c0 66.339917-58.712226 120.153625-131.210278 120.153625h82.295086c72.498052 0 131.280257-53.813709 131.280257-120.153625V303.708057c-0.069979-66.339917-58.782205-120.153625-131.280257-120.153625z" fill="#EF8B06" /><path d="M389.782804 41.147543v4.618602a13.995763 13.995763 0 0 0 13.995763 13.995763h189.852525a13.995763 13.995763 0 0 0 13.995763-13.995763v-4.618602z" fill="#FF761A" /><path d="M607.486898 13.995763a13.995763 13.995763 0 0 0-13.995763-13.995763H403.63861a13.995763 13.995763 0 0 0-13.995763 13.995763v27.15178h217.844051z" fill="#FF5A08" /><path d="M292.792167 969.69644a54.30356 53.74373 90 1 0 107.48746 0 54.30356 53.74373 90 1 0-107.48746 0Z" fill="#2B3747" /><path d="M346.535897 915.392879a55.213285 55.213285 0 0 0-9.727056 0.909725 54.373539 54.373539 0 0 1 0 106.787671 55.213285 55.213285 0 0 0 9.727056 0.909725 54.30356 54.30356 0 0 0 0-108.607121z" fill="#1D2B3A" /><path d="M587.332999 969.69644a54.30356 53.74373 90 1 0 107.48746 0 54.30356 53.74373 90 1 0-107.48746 0Z" fill="#2B3747" /><path d="M641.076729 915.392879a55.073327 55.073327 0 0 0-9.657076 0.909725 54.373539 54.373539 0 0 1 0 106.787671 55.073327 55.073327 0 0 0 9.657076 0.909725 54.30356 54.30356 0 0 0 0-108.607121z" fill="#1D2B3A" /></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M88.917218 106.064551m82.970966 0l597.529237 0q82.970966 0 82.970965 82.970966l0 751.924375q0 82.970966-82.970965 82.970966l-597.529237 0q-82.970966 0-82.970966-82.970966l0-751.924375q0-82.970966 82.970966-82.970966Z" fill="#005691" /><path d="M169.675625 187.44524m48.12316 0l505.708035 0q48.12316 0 48.12316 48.12316l0 658.927751q0 48.12316-48.12316 48.12316l-505.708035 0q-48.12316 0-48.12316-48.12316l0-658.927751q0-48.12316 48.12316-48.12316Z" fill="#E2E5E7" /><path d="M638.392438 73.360162H547.608373a73.360162 73.360162 0 0 0-146.720324 0H302.774882a29.454693 29.454693 0 0 0-29.316408 29.316408V235.084402a29.454693 29.454693 0 0 0 29.316408 29.316408h335.617556A29.38555 29.38555 0 0 0 667.639703 235.084402V102.67657a29.38555 29.38555 0 0 0-29.247265-29.316408z" fill="#FFB236" /><path d="M466.919109 1.175422A78.684132 78.684132 0 0 1 479.779608 0a73.360162 73.360162 0 0 1 73.360162 73.360162h-25.790141A73.360162 73.360162 0 0 0 466.919109 1.175422zM647.450101 235.084402V102.67657c0-16.110196 1.451992-29.316408-14.658204-29.316408h11.131938a29.454693 29.454693 0 0 1 29.316408 29.316408V235.084402a29.454693 29.454693 0 0 1-29.316408 29.316408h-11.131938c16.179338 0 14.658204-13.206212 14.658204-29.316408z" fill="#E28805" /><path d="M474.248211 73.360162m-25.790142 0a25.790142 25.790142 0 1 0 51.580283 0 25.790142 25.790142 0 1 0-51.580283 0Z" fill="#005691" /><path d="M492.570966 81.449831a25.651857 25.651857 0 0 1-31.252397 13.828494c0.82971 0.483997 1.590277 0.967995 2.489129 1.38285a25.790142 25.790142 0 1 0 20.742741-47.155166 20.742741 20.742741 0 0 0-2.696556-0.898852 25.651857 25.651857 0 0 1 10.717083 32.842674z" fill="#004870" /><path d="M348.408913 163.314517m20.258744 0l200.167454 0q20.258744 0 20.258745 20.258744l0 2.419987q0 20.258744-20.258745 20.258744l-200.167454 0q-20.258744 0-20.258744-20.258744l0-2.419987q0-20.258744 20.258744-20.258744Z" fill="#E2E5E7" /><path d="M259.699122 387.474409m21.019311 0l252.715733 0q21.019311 0 21.019311 21.019311l0 2.489129q0 21.019311-21.019311 21.019312l-252.715733 0q-21.019311 0-21.019311-21.019312l0-2.489129q0-21.019311 21.019311-21.019311Z" fill="#586A73" /><path d="M259.699122 485.864146m21.019311 0l252.715733 0q21.019311 0 21.019311 21.019311l0 2.489129q0 21.019311-21.019311 21.019311l-252.715733 0q-21.019311 0-21.019311-21.019311l0-2.489129q0-21.019311 21.019311-21.019311Z" fill="#586A73" /><path d="M259.699122 584.323025m21.019311 0l125.770156 0q21.019311 0 21.019311 21.019311l0 2.489129q0 21.019311-21.019311 21.019312l-125.770156 0q-21.019311 0-21.019311-21.019312l0-2.489129q0-21.019311 21.019311-21.019311Z" fill="#586A73" /><path d="M461.318569 895.533288l310.311411-124.456448v110.143957z" fill="#C6CBCB" opacity=".7" /><path d="M841.947873 509.303444l-308.098852 298.833761 27.034706 31.183254 320.61364-288.669818z" fill="#EB8923" /><path d="M533.849021 808.137205l-29.316408-21.503309 316.465091-324.001621 20.742742 46.671169z" fill="#ED9E43" /><path d="M560.883727 839.320459l12.653072 33.050101 361.545983-304.226873-53.585415-17.285618z" fill="#D27228" /><path d="M820.997704 462.632275l20.742742 46.671169 39.549493 41.485482 53.585415 17.285618-16.24848-46.394598-43.490615-44.596894z m-316.465091 324.001621s62.228224 25.375287 69.142471 85.736664c0 0-103.713707 36.023228-112.218231 23.162728s43.07576-108.899392 43.07576-108.899392z" fill="#F2B643" /><path d="M461.318569 895.533288c3.802836 5.669683 25.997569 1.866847 49.644294-4.21769l-37.267792-41.485483c-9.126806 20.950169-15.833626 40.448346-12.376502 45.703173z" fill="#EB8923" /><path d="M851.282107 509.303444l-7.398245-33.948954 14.934774-2.903984-37.820932-9.818231 20.742742 46.671169 39.549493 41.485482z" fill="#D89932" /><path d="M462.286563 896.639568l1.037137 0.55314-0.967994-0.55314z m44.320324-4.217691c31.183255-7.674814 66.791627-20.051317 66.791628-20.051317a91.890344 91.890344 0 0 0-10.647941-33.603241l-65.270493 37.613505 13.206212 14.934774z" fill="#D89932" opacity=".4" /><path d="M472.588791 898.298987H479.019041l2.903984-0.414855h0.622282l3.664551-0.553139 3.249696-0.622283H489.943552l3.526266-0.691424h0.622282l7.951384-1.797705h0.622282l3.871979-0.898852 4.217691-1.106279-13.344497-14.934774-35.124376 19.359892 0.967995 0.55314 1.451992 0.414854h7.052532z" fill="#D27228" /></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M799.521962 974.880603H210.446693a70.282921 70.282921 0 0 1-70.139925-70.139924V182.320905a68.781455 68.781455 0 0 1 2.573943-18.446586A70.35442 70.35442 0 0 0 91.187372 231.440302v722.13378a70.35442 70.35442 0 0 0 70.139924 70.139924h589.146767a70.35442 70.35442 0 0 0 67.565983-51.693338 68.924452 68.924452 0 0 1-18.518084 2.859935z" fill="#FCB670" /><path d="M745.183182 310.946516c-59.701159 0-108.248569-51.049853-108.248568-113.753945V0H254.489704a74.286831 74.286831 0 0 0-72.14188 75.859796v781.119955a74.215333 74.215333 0 0 0 72.14188 75.788298h606.163385a74.215333 74.215333 0 0 0 72.141879-75.788298V310.946516z" fill="#F9B04E" /><path d="M673.041303 197.192571a74.215333 74.215333 0 0 0 72.141879 75.788298h187.611786L673.041303 0z" fill="#EDA43A" /><path d="M636.934614 0h-8.579808l8.579808 9.008798V0z" fill="#D86100" opacity=".25" /><path d="M700.496686 310.946516h44.686496a107.676581 107.676581 0 0 1-95.235861-59.844156 77.575758 77.575758 0 0 1-21.449518-53.909789V0h-35.749197v197.192571c-0.500489 62.704092 48.046921 113.753945 107.74808 113.753945zM888.108472 856.979751a74.215333 74.215333 0 0 1-72.14188 75.788298h44.686497a74.215333 74.215333 0 0 0 72.141879-75.788298V310.946516h-44.686496z" fill="#D86100" opacity=".25" /><path d="M622.205944 675.159335H488.646944a145.14174 145.14174 0 0 1-128.697109-212.35023L405.780306 493.338919a90.731462 90.731462 0 0 0 82.866638 127.33864h133.559V573.417121L731.097999 646.059489l-108.892055 72.57087v-43.471024z m-120.403295-235.9447v43.685519L392.910595 410.400782l108.892054-72.57087v46.974445h131.986035a145.14174 145.14174 0 0 1 128.69711 211.992738l-45.758973-30.458315A90.731462 90.731462 0 0 0 670.324364 446.864963a89.444491 89.444491 0 0 0-36.321185-7.57883z" fill="#FF6845" /></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="191.76px" viewBox="0 0 1068 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M0.62344 217.658447v708.227702c0 53.927549 38.964992 98.113851 85.722983 98.113851h896.194825c47.225571 0 85.722983-44.186301 85.722983-98.113851V214.151598c-7.169559 2.18204-1067.640791 3.506849-1067.640791 3.506849z" fill="#BDEBFF" /><path d="M981.917808 0H85.722983C38.964992 0 0 44.186301 0 98.113851v122.817656h1067.640791V98.113851C1067.640791 44.186301 1028.675799 0 981.917808 0z" fill="#005691" /><path d="M61.486758 112.608828a20.807306 20.028006 0 1 0 41.614612 0 20.807306 20.028006 0 1 0-41.614612 0Z" fill="#FF441F" /><path d="M158.977169 112.608828a20.807306 20.028006 0 1 0 41.614612 0 20.807306 20.028006 0 1 0-41.614612 0Z" fill="#6FE513" /><path d="M256.46758 112.608828a20.807306 20.028006 0 1 0 41.614612 0 20.807306 20.028006 0 1 0-41.614612 0Z" fill="#FFF41F" /><path d="M0 220.931507h1067.640791v43.640791H0z" fill="#9FE6FF" /><path d="M271.741857 473.658447H126.324505V311.719939h145.417352z m-122.038356-23.378995h98.65936V335.098935H149.703501zM335.098935 377.103196h595.774733v31.171994H335.098935zM271.741857 711.344901H126.324505V549.328463h145.417352z m-122.038356-23.378995h98.65936V572.707458H149.703501zM335.098935 614.71172h595.774733v31.171994H335.098935zM271.741857 949.031355H126.324505V787.092846h145.417352z m-122.038356-23.378996h98.65936V810.471842H149.703501zM335.098935 852.398174h595.774733v31.171993H335.098935z" fill="#0D455E" /><path d="M181.888584 493.608524l-69.903196-113.621918 33.198174-20.417656 43.562861 70.838356L321.071537 293.016743l28.054795 27.041704-167.237748 173.550077zM181.888584 712.981431l-69.903196-113.621918 33.198174-20.417656 43.562861 70.838356L321.071537 512.38965l28.054795 27.041705-167.237748 173.550076z" fill="#FF441F" /></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M278.521074 32.22621h31.878195V485.133225h-31.878195z" fill="#C99071" /><path d="M310.329666 0h31.878195v485.133225h-31.878195z" fill="#F9CAA7" /><path d="M278.521074 32.22621L251.863108 0h113.870582l-23.525829 32.22621h-63.686787z" fill="#F9CAA7" /><path d="M134.860389 71.969549h31.878195v452.907014h-31.878195z" fill="#C99071" /><path d="M166.738584 39.812942h31.878195v485.133224h-31.878195z" fill="#F9CAA7" /><path d="M134.860389 72.039152l-26.657966-32.22621h113.940185l-23.525829 32.22621h-63.75639z" fill="#F9CAA7" /><path d="M521.85332 323.306145L150.312265 544.365416v479.634584h375.508429V325.95106l-3.967374-2.644915z" fill="#FF7352" /><path d="M873.766316 554.249048l-347.945622-228.297988v698.04894h347.945622V554.249048z" fill="#FF5736" /><path d="M734.281814 749.48559H317.289971l-34.801523-53.803154h486.594889l-34.801523 53.803154z" fill="#FFFFFF" opacity=".53" /><path d="M572.315528 546.244698H479.32586V456.665579h92.989668z m-86.029364-6.960304h79.069059V463.625884H486.286164z" fill="#FCFCFC" /><path d="M522.340542 460.145731h6.960304v82.688418h-6.960304z" fill="#FCFCFC" /><path d="M482.806012 497.940185h86.029364v6.960304H482.806012z" fill="#FCFCFC" /><path d="M317.289971 746.840674h86.516585v277.159326H317.289971z" fill="#52C1FF" /><path d="M403.806556 746.840674h330.475258v277.159326H403.806556z" fill="#45ABFF" /><path d="M29.898997 639.512779a27.841218 27.841218 0 0 1-14.964654-51.367048l492.232735-314.118542a27.841218 27.841218 0 0 1 30.41653 0.348015l472.047853 314.04894a27.841218 27.841218 0 0 1-30.834149 46.355628L521.85332 330.75367 44.863652 635.127787a27.841218 27.841218 0 0 1-14.964655 4.384992z" fill="#823500" /><path d="M317.289971 799.042958h86.516585v47.051659H317.289971z" fill="#A2DCFC" /><path d="M403.806556 799.042958h330.475258v47.051659H403.806556zM403.806556 895.234367h330.475258v47.051658H403.806556z" fill="#C2E6FF" /><path d="M317.289971 895.234367h86.516585v47.051658H317.289971zM317.289971 976.739532h86.516585v47.051659H317.289971z" fill="#A2DCFC" /><path d="M403.806556 976.739532h330.475258v47.051659H403.806556z" fill="#C2E6FF" /></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="180.12px" viewBox="0 0 1137 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M1120.237833 68.659474h0.900183a16.366978 16.366978 0 0 0 16.366979-16.366978V17.512667a16.366978 16.366978 0 0 0-16.366979-16.366979H17.594502a16.366978 16.366978 0 0 0-16.366979 16.366979v34.452489a16.366978 16.366978 0 0 0 16.366979 16.366979h2.045872a16.366978 16.366978 0 0 1 16.366978 16.366978v628.819308a16.366978 16.366978 0 0 1-16.366978 16.366978H16.366978a16.366978 16.366978 0 0 0-16.366978 16.366979v34.534324a16.366978 16.366978 0 0 0 16.366978 16.366978h501.647887a18.249181 18.249181 0 0 1 2.209542 0h96.647007a18.249181 18.249181 0 0 1 2.209542 0h501.156877a16.366978 16.366978 0 0 0 16.366978-16.366978v-34.043315a16.366978 16.366978 0 0 0-16.366978-16.366978 16.366978 16.366978 0 0 1-16.366979-16.366979V85.271957a16.366978 16.366978 0 0 1 16.366979-16.612483z" fill="#2CDB8F" /><path d="M534.709182 814.502677v115.223528a16.366978 16.366978 0 0 1-16.366978 16.366978h-46.482218a16.366978 16.366978 0 0 0-16.366979 16.366978v44.436347a16.366978 16.366978 0 0 0 16.366979 16.366978h193.375849a16.366978 16.366978 0 0 0 16.366978-16.366978v-44.436347a16.366978 16.366978 0 0 0-16.366978-16.366978h-46.154879a16.366978 16.366978 0 0 1-16.366979-16.366978V814.502677a16.366978 16.366978 0 0 1 14.402941-16.366978H520.224407a16.366978 16.366978 0 0 1 14.484775 16.366978z" fill="#1CD384" /><path d="M665.31767 945.438504h-46.236714a16.366978 16.366978 0 0 1-16.366979-16.366978v-115.387198a16.366978 16.366978 0 0 1 16.366979-16.366978h-25.123312a16.366978 16.366978 0 0 0-16.366978 16.366978v115.141693a16.366978 16.366978 0 0 0 16.366978 16.366978h46.154879a16.366978 16.366978 0 0 1 16.366978 16.366979v45.00919a16.366978 16.366978 0 0 1-16.366978 16.366978h25.205147a16.366978 16.366978 0 0 0 16.366978-16.366978v-44.436346a16.366978 16.366978 0 0 0-16.366978-16.694318z" fill="#059959" opacity=".31" /><path d="M1120.237833 67.75929h0.900183a16.366978 16.366978 0 0 0 16.366979-16.366978V16.366978a16.366978 16.366978 0 0 0-16.366979-16.366978h-58.757452a16.366978 16.366978 0 0 1 16.366979 16.366978v34.779829a16.366978 16.366978 0 0 1-16.366979 16.366979h-0.982018a16.366978 16.366978 0 0 0-16.366979 16.366978v628.737473a16.366978 16.366978 0 0 0 16.366979 16.366978 16.366978 16.366978 0 0 1 16.366978 16.366979v34.534324a16.366978 16.366978 0 0 1-16.366978 16.366978h58.757452a16.366978 16.366978 0 0 0 16.366978-16.366978v-33.96148a16.366978 16.366978 0 0 0-16.366978-16.366978 16.366978 16.366978 0 0 1-16.366979-16.366979V84.371773a16.366978 16.366978 0 0 1 16.448814-16.612483z" fill="#009E5A" opacity=".16" /><path d="M901.902342 526.771198l-176.763367-162.851435a25.205147 25.205147 0 0 0-35.680012 1.554863L552.631024 515.559818a25.205147 25.205147 0 0 1-33.797811 3.191561l-137.646287-103.930313a25.123312 25.123312 0 0 0-32.733957 2.291377l-75.45177 75.45177a25.205147 25.205147 0 0 1-35.598178 0l-23.732119-23.732118a25.123312 25.123312 0 0 1 0-35.680013l126.844082-127.089587a25.286982 25.286982 0 0 1 32.733957-2.291377l135.109406 101.966275a25.123312 25.123312 0 0 0 33.797811-3.109726l142.147207-156.059138a25.205147 25.205147 0 0 1 35.843682-1.554863l238.794214 220.054024a25.123312 25.123312 0 0 1 1.391193 35.598177l-22.7501 24.550468a25.123312 25.123312 0 0 1-35.680012 1.554863z" fill="#FFFFFF" /><path d="M216.944298 472.350995l123.570686-123.488852a25.123312 25.123312 0 0 1 32.733957-2.291377l135.109406 101.966275a25.205147 25.205147 0 0 0 33.797811-3.109725l142.147207-156.059139a25.123312 25.123312 0 0 1 35.843682-1.554863l235.929993 217.435307 4.255414-4.582754a25.123312 25.123312 0 0 0-1.391193-35.598177L720.147047 245.013666a25.205147 25.205147 0 0 0-35.680013 1.554863L542.156158 402.627667a25.123312 25.123312 0 0 1-33.797811 3.109726L373.494446 303.771118a25.286982 25.286982 0 0 0-32.733957 2.291377L213.425398 433.152082a25.123312 25.123312 0 0 0 0 35.680013z" fill="#EAEAEA" opacity=".8" /><path d="M119.397107 154.995285a8.183489 8.183489 0 0 1-8.183489-8.183489v-81.834892a8.183489 8.183489 0 0 1 8.183489-8.183489H188.220251A8.183489 8.183489 0 0 1 188.220251 73.651403h-60.55782v73.651402a8.183489 8.183489 0 0 1-8.265324 7.69248zM119.397107 188.220251a8.183489 8.183489 0 0 1-8.183489-8.183489v-8.183489a8.183489 8.183489 0 1 1 16.366978 0v7.446975a8.183489 8.183489 0 0 1-8.183489 8.920003z" fill="#DEFFF0" /></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="182.86px" viewBox="0 0 1120 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M907.736266 602.111768l-7.87692-3.071998a211.731611 211.731611 0 0 1-234.574679 0l-7.87692 3.071998a344.615252 344.615252 0 0 0-212.676841 321.142031v70.183357a29.853527 29.853527 0 0 0 30.011065 30.56245h616.290225a29.853527 29.853527 0 0 0 29.459681-30.168604v-70.183357a344.615252 344.615252 0 0 0-212.755611-321.535877z" fill="#289FF7" /><path d="M738.146178 634.48591a209.289766 209.289766 0 0 0 22.370453-1.339077 210.628842 210.628842 0 0 1-94.523041-34.107063l-7.87692 3.071998c-6.143998 2.520614-12.130457 5.198767-18.038147 7.87692a210.943919 210.943919 0 0 0 98.067655 24.497222zM907.736266 602.111768l-7.87692-3.071998a219.372223 219.372223 0 0 1-19.062146 11.185226 344.77279 344.77279 0 0 1 194.638694 313.028803v70.183357a29.853527 29.853527 0 0 1-29.459681 30.168604h44.740906a29.853527 29.853527 0 0 0 29.459681-30.168604v-70.183357a344.615252 344.615252 0 0 0-212.440534-321.142031z" fill="#0784D1" opacity=".67" /><path d="M778.239701 641.968984L724.676644 896.157194l51.042442 84.440583 49.467058-82.78643L778.239701 641.968984z" fill="#FCFCFC" /><path d="M897.023655 341.85833l-122.092261-60.494746S662.764053 385.26016 574.306241 387.465697a206.217767 206.217767 0 0 0 77.036278 161.55563l6.616613 5.277537a211.495303 211.495303 0 0 0 190.857772 22.212914c20.952607-33.791987 41.117523-84.283045 51.436288-159.428861a211.337765 211.337765 0 0 0-3.229537-75.224587z" fill="#FFDDCC" /><path d="M897.023655 341.85833c-15.75384-69.474435-64.275668-122.801184-111.773495-159.743939h-10.318766c-110.276881 0-200.625154 92.159965-200.625153 205.587614 88.457812-2.205538 200.625154-106.102113 200.625153-106.102113zM783.674776 639.842215l-5.435075 2.126769s1.96923-0.630154 5.435075-2.126769z" fill="#2B3747" /><path d="M892.061195 554.377633l6.537844-5.356306a206.375305 206.375305 0 0 0 77.036278-161.55563v-6.695382l-78.7692-38.911985a211.337765 211.337765 0 0 1 2.993229 75.382125c-10.318765 75.145817-30.483681 126.030721-51.436288 159.428862a210.707611 210.707611 0 0 0 43.638137-22.212915z" fill="#FFCBBB" /><path d="M897.023655 341.85833l78.7692 38.911985c-3.387076-106.811036-86.646121-193.220849-190.227619-198.655924 47.182751 36.942755 96.019655 90.269504 111.458419 159.743939z" fill="#1D2B3A" /><path d="M572.494549 569.895165a270.572204 270.572204 0 0 1 162.185784-450.874903 435.514909 435.514909 0 1 0-353.043557 748.78002 409.599842 409.599842 0 0 1 190.857773-297.905117z" fill="#FF9C39" /><path d="M411.017688 197.631924h-54.035671v209.526073L233.629449 533.740102l39.935984 30.168604 137.452255-141.075638V197.631924z" fill="#FFFFFF" /></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="177.47px" viewBox="0 0 1154 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M0 0l746.638036 945.827741 66.369622-225.139338z" fill="#C6CBCB" /><path d="M521.902897 462.566354l-51.252546 133.547643L746.638036 945.827741l66.369622-225.139338z" fill="#D672AD" /><path d="M746.638036 945.827741l-68.713981-168.227994L0 0l602.096155 827.235494z" fill="#D1D5D5" /><path d="M677.924055 777.518907l-388.759454 246.481093L0 0z m135.083603-56.587984L0 0l1154.394884 571.296124z" fill="#E2E5E7" /><path d="M411.798847 472.267151l-132.739243 515.759059 10.104997 35.97379 389.163654-246.804453z m695.22381 75.504539L521.902897 462.566354l291.023921 258.687929 341.468066-149.958159z" fill="#EA8EBC" /><path d="M411.798847 472.267151l-132.739243 515.759059 152.221678-493.123865z m110.10405-9.700797l25.949633 23.120233 559.008447 62.085103z" fill="#D672AD" /><path d="M678.328255 777.195547l-77.121339 48.503987 59.013183 48.503987z" fill="#C6CBCB" /><path d="M28.698192 101.535012l23.201074-42.036788L0 0zM62.893503 55.779585l52.384305 1.293439L0 0z" fill="#EA8EBC" /></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M398.302947 908.730277a112.4029 112.4029 0 1 0 224.732669 0H398.302947z" fill="#FF761A" /><path d="M510.705848 1001.095185a112.256637 112.256637 0 0 1-110.501485-92.438039h-1.901416a112.4029 112.4029 0 1 0 224.732669 0h-1.828284a112.329769 112.329769 0 0 1-110.501484 92.438039z" fill="#EF670A" /><path d="M904.006301 740.089362H117.405394a56.164884 56.164884 0 0 0 0 112.329768h786.600907a56.164884 56.164884 0 1 0 0-112.329768z" fill="#005691" /><path d="M769.51773 163.082932C610.968942 33.128506 452.639548 62.966101 378.191824 88.854602A393.446716 393.446716 0 0 0 117.405394 459.191808v280.897554h786.600907V459.191808A392.349746 392.349746 0 0 0 769.51773 163.082932z" fill="#138EE2" /><path d="M769.51773 163.082932C668.230797 80.444496 567.30952 62.307919 488.035126 66.988326c70.571762 4.168488 152.990805 28.448099 235.482979 96.094606A392.349746 392.349746 0 0 1 858.372332 459.191808v280.897554h45.999626V459.191808A392.349746 392.349746 0 0 0 769.51773 163.082932z" fill="#006AA5" opacity=".51" /><path d="M564.749923 80.444496c0-44.463867-29.691332-80.444496-66.330144-80.444496s-66.330143 35.980629-66.330143 80.444496z" fill="#0984C9" /><path d="M290.726717 278.411087h-2.340203a11.774149 11.774149 0 0 1-9.14142-13.894958c6.216166-30.568908 34.225476-88.342683 95.509556-88.342683a11.774149 11.774149 0 1 1 0 23.475166C317.200269 199.429218 302.573997 268.318959 302.573997 269.050273a11.774149 11.774149 0 0 1-11.84728 9.360814zM271.346907 330.334352h-2.340204a11.627886 11.627886 0 0 1-9.14142-13.821827c0.585051-3.071517 1.023839-5.192327 1.316365-6.654953a9.580208 9.580208 0 0 1 0.365657-3.510306 11.84728 11.84728 0 0 1 14.626272-9.433945c11.335361 2.632729 9.360814 12.139806 6.947479 24.279611a11.774149 11.774149 0 0 1-11.774149 9.14142z" fill="#FFFFFF" /></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="199.42px" viewBox="0 0 1027 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M852.995973 895.203456h-4.423164c-2.249067 0-4.498133-2.249067-8.921297-2.249067l-408.730361-86.589062a55.77685 55.77685 0 0 1-33.286185-22.490666 45.356175 45.356175 0 0 1-6.672231-37.484442l122.199283-562.266637a54.577348 54.577348 0 0 1 51.05381-39.958416h4.423165c2.249067 0 4.498133 2.249067 8.921297 2.249066l408.730361 86.589063a50.229153 50.229153 0 0 1 39.958416 59.975108l-117.70115 559.792664c-11.095395 26.838861-31.411963 42.432389-55.551944 42.432389z m-415.402591-133.294678l422.074822 91.087195 119.950216-573.137125-422.074822-91.012227z" fill="#007FC6" /><path d="M544.199136 444.265612l13.344462-59.975108 333.236693 68.896406-13.644337 62.149205z m31.112087-113.277985l4.423165-31.112087 2.249066-6.672231 333.236694 73.31957-6.672231 37.484442z" fill="#007FC6" /><path d="M173.253093 788.597701a52.478219 52.478219 0 0 1-51.05381-40.033384L4.423164 188.846621a38.98382 38.98382 0 0 1 6.672231-37.484442 50.154184 50.154184 0 0 1 33.361154-22.490666L453.18691 44.456549a12.06999 12.06999 0 0 1 11.095395-4.498133 52.478219 52.478219 0 0 1 51.05381 37.484442l117.776119 562.266638c6.597262 26.688923-13.344462 55.551944-40.033385 62.224174l-408.730361 86.664031zM46.630646 173.253093l119.950216 573.137126 422.074823-91.087195-119.950216-570.88806z" fill="#007FC6" /><path d="M135.468775 424.24892l335.48576-71.070503L479.800864 397.33509h-2.249067l-333.161725 71.370379z m-22.490665-117.701149l335.410791-71.070503L457.310198 279.858848l-335.110915 71.145471z" fill="#007FC6" /><path d="M235.477268 797.44403a27.963394 27.963394 0 0 1-28.863021-28.863021V53.302877a27.963394 27.963394 0 0 1 28.863021-28.86302h553.120433A27.963394 27.963394 0 0 1 817.160846 53.302877v717.527198a27.963394 27.963394 0 0 1-28.86302 28.863021H235.477268z" fill="#66CCFF" /><path d="M235.477268 817.160846a51.653562 51.653562 0 0 1-51.12878-51.128779V51.053811A51.728531 51.728531 0 0 1 235.477268 0h553.120433a53.602753 53.602753 0 0 1 37.484443 15.518559A50.45406 50.45406 0 0 1 839.651512 51.053811v715.278131a51.653562 51.653562 0 0 1-51.053811 51.12878z m-4.423164-42.207482h566.389926V46.630646H231.054104z" fill="#1CA5F9" /><path d="M206.614247 148.813237h615.269639v33.361154H206.614247z m402.05813-48.879713A28.038363 28.038363 0 0 0 637.235522 128.871513a26.838861 26.838861 0 0 0 28.863021-28.937989 28.863021 28.863021 0 1 0-57.726041 0z" fill="#2EB9FF" /><path d="M635.286331 122.199283a20.991288 20.991288 0 0 1-22.490665-22.490666 22.490665 22.490665 0 0 1 44.38158 0 20.991288 20.991288 0 0 1-21.890915 22.490666z m55.551944-22.490666a28.863021 28.863021 0 1 0 57.726042 0 28.863021 28.863021 0 1 0-57.726042 0z" fill="#FFFFFF" /><path d="M719.701296 122.199283a20.991288 20.991288 0 0 1-22.490666-22.490666 22.490665 22.490665 0 1 1 44.38158 0 20.991288 20.991288 0 0 1-21.890914 22.490666z" fill="#FFFFFF" /><path d="M986.290651 635.286331H659.726188v75.568636H581.983454v51.053811h-122.199282v-51.053811h-68.821437V635.286331H39.958416v351.00432h946.332235z" fill="#FFB236" /><path d="M86.664031 1024A88.163409 88.163409 0 0 1 0 937.111062V682.216853a88.163409 88.163409 0 0 1 86.664031-86.888937h304.298704a133.369646 133.369646 0 0 0 266.514386 0H937.111062A88.163409 88.163409 0 0 1 1024 682.216853v254.894209A88.163409 88.163409 0 0 1 937.111062 1024z m0-382.341313a46.855553 46.855553 0 0 0-28.93799 11.39527A38.384069 38.384069 0 0 0 46.630646 682.216853v254.894209a46.630646 46.630646 0 0 0 11.095395 28.863021 38.459038 38.459038 0 0 0 28.93799 11.095395H937.111062a46.630646 46.630646 0 0 0 28.863021-11.095395 38.3091 38.3091 0 0 0 11.095395-28.863021V682.216853a46.780584 46.780584 0 0 0-11.095395-28.86302 38.3091 38.3091 0 0 0-28.863021-11.395271H693.087342l-2.249067 4.423164a180.899919 180.899919 0 0 1-168.829929 124.448349 178.800791 178.800791 0 0 1-168.829929-124.448349l-2.174098-4.423164z" fill="#FFA41F" /><path d="M330.462845 284.581887h360.37543v199.342266H330.462845z" fill="#FFFFFF" /><path d="M389.163482 333.536569h248.371916v33.960905H389.163482zM389.163482 403.782415h248.371916v33.960904H389.163482z" fill="#DCE0E2" /></svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M508.213034 0.023163v732.038057h142.943577v-2.504121a120.406488 120.406488 0 0 1 53.908162-99.399695A344.594881 344.594881 0 0 0 508.213034 0.023163z" fill="#FF9C39" /><path d="M508.213034 0.023163h-9.877367a344.66444 344.66444 0 0 0-179.114214 630.2038 120.8934 120.8934 0 0 1 53.699485 100.164843v1.87809H508.213034z" fill="#FFCB39" /><path d="M652.965143 732.06122H508.213034v84.374968h137.726658a22.050177 22.050177 0 0 0 22.050177-22.050177v-47.64786a14.676932 14.676932 0 0 0-15.024726-14.676931z" fill="#2EB9FF" /><path d="M372.920938 732.06122h-2.643239a22.050177 22.050177 0 0 0-22.050178 22.050177v40.274614a22.050177 22.050177 0 0 0 22.050178 22.050177H508.213034v-84.374968z" fill="#5FD9FF" /><path d="M508.213034 1024h46.604475a82.635995 82.635995 0 0 0 82.635995-82.635995v-42.222263a82.635995 82.635995 0 0 0-82.635995-82.705554H508.213034z" fill="#2EB9FF" /><path d="M469.329598 816.436188a82.635995 82.635995 0 0 0-82.635995 82.705554v42.222263a82.635995 82.635995 0 0 0 82.635995 82.635995H508.213034v-207.563812z" fill="#48CBFF" /><path d="M370.277699 816.436188a22.119736 22.119736 0 0 0-22.050178 22.119736v40.274613a22.050177 22.050177 0 0 0 22.050178 22.050178H508.213034v-84.444527z" fill="#2793FF" /><path d="M645.661456 816.436188H508.213034v84.444527h137.726658a22.050177 22.050177 0 0 0 22.050177-22.050178v-40.274613a22.119736 22.119736 0 0 0-22.328413-22.119736z" fill="#0068FF" /><path d="M507.656562 502.308112l-153.446974-182.939955 22.53709-18.920026L508.213034 457.164374l137.865776-156.994478 22.119736 19.476497-160.541984 182.661719z" fill="#FFF48D" /><path d="M493.257866 479.701464h29.423423v252.359756h-29.423423z" fill="#FFF48D" /></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="180.12px" viewBox="0 0 1137 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M0 506.510163l91.916773 51.056024V222.555835L0 279.744954v226.765209z" fill="#0C4A6D" /><path d="M73.039584 234.344122v312.708188l18.877189 10.513877V222.555835l-18.877189 11.788287z" fill="#146082" /><path d="M629.239605 61.98026v634.974447c0 60.773395 232.898304 77.659318 232.898304 46.993844V15.066067C862.376861-15.838359 629.239605 1.286516 629.239605 61.98026z" fill="#5ABCFF" /><path d="M838.402035 2.401624V756.772295c14.735358-2.389517 23.895175-6.610998 23.895175-12.664443V15.066067c0.079651-6.133095-9.159817-10.274925-23.895175-12.664443z" fill="#2E95CE" /><path d="M917.900906 523.379896m13.560728-10.844775l19.159193-15.321977q13.560728-10.844776 24.405503 2.715952l100.786767 126.02768q10.844776 13.560728-2.715952 24.405503l-19.159193 15.321977q-13.560728 10.844776-24.405504-2.715952l-100.786767-126.02768q-10.844776-13.560728 2.715953-24.405503Z" fill="#FF9545" /><path d="M917.962394 188.82484m10.844775-13.560727l100.786767-126.02768q10.844776-13.560728 24.405503-2.715952l19.159194 15.321976q13.560728 10.844776 2.715952 24.405503l-100.786767 126.02768q-10.844776 13.560728-24.405504 2.715952l-19.159193-15.321976q-13.560728-10.844776-2.715952-24.405503Z" fill="#FF9545" /><path d="M941.065002 389.835298m0.027275-17.363806l0.038536-24.532349q0.027275-17.363806 17.39108-17.336531l161.371882 0.253483q17.363806 0.027275 17.336531 17.39108l-0.038536 24.53235q-0.027275 17.363806-17.39108 17.33653l-161.371882-0.253482q-17.363806-0.027275-17.336531-17.391081Z" fill="#FF9545" /><path d="M113.183478 554.858067l93.430134 14.894659 104.820167 389.013447a89.447605 89.447605 0 0 0 67.862297 62.366406L332.14293 589.506071z" fill="#FF761A" /><path d="M599.370636 632.278434L345.603879 591.895588 493.833614 978.439867a86.420882 86.420882 0 0 0 14.098153-72.561681L426.847473 604.958284l172.523163 27.559101z" fill="#FFC73B" /><path d="M332.14293 589.506071l47.153146 431.387556a111.032912 111.032912 0 0 0 54.003095-1.035457 108.245142 108.245142 0 0 0 60.534443-41.657255L345.603879 591.895588z" fill="#FFAF3B" /><path d="M374.357739 392.052276c-116.369502-52.011831-197.453795-63.720466-260.935309-55.038553v217.844344l485.868555 77.420367v-191.161399C542.420469 446.135021 467.947174 434.107783 374.357739 392.052276z" fill="#0090FF" /><path d="M113.183478 219.847716V337.013723c63.720466-8.602263 144.565808 3.026722 260.93531 55.038553C467.947174 434.107783 542.420469 446.135021 599.370636 441.117035V144.259312z" fill="#1DA2FC" /></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M897.619834 344.338783a344.333757 344.333757 0 1 0-479.009307 316.965786 81.894464 81.894464 0 0 1 50.267701 75.26192v74.563758h168.745882V736.566489a81.754832 81.754832 0 0 1 50.337518-75.26192 344.403573 344.403573 0 0 0 209.658206-316.965786z" fill="#FFCB39" /><path d="M815.097024 344.338783A344.333757 344.333757 0 1 0 335.878268 661.304569a81.894464 81.894464 0 0 1 50.267701 75.26192v74.563758h168.955331V736.566489a81.894464 81.894464 0 0 1 50.337518-75.26192 344.403573 344.403573 0 0 0 209.658206-316.965786z" fill="#FFCB39" /><path d="M528.152227 0.912638c-5.5853 0-11.1706 0.907611-16.686085 1.605774a344.333757 344.333757 0 0 1 93.972676 658.786157 81.894464 81.894464 0 0 0-50.337518 75.26192v74.563758h82.52281V736.566489a81.754832 81.754832 0 0 1 50.337518-75.26192A344.403573 344.403573 0 0 0 528.152227 0.912638z" fill="#FFA310" /><path d="M190.660463 751.716616m74.843022 0l492.972558 0q74.843023 0 74.843023 74.843022l0 13.61417q0 74.843023-74.843023 74.843022l-492.972558 0q-74.843023 0-74.843022-74.843022l0-13.61417q0-74.843023 74.843022-74.843022Z" fill="#FFCB39" /><path d="M758.476043 751.716616H265.503485a74.633574 74.633574 0 0 0-60.879772 31.417313h489.621378a74.843023 74.843023 0 0 1 74.843022 74.843023v13.96325a74.70339 74.70339 0 0 1-13.96325 43.355893h3.35118a74.843023 74.843023 0 0 0 74.843023-74.843022v-13.963251a74.843023 74.843023 0 0 0-74.843023-74.773206z" fill="#EF680C" /><path d="M773.835619 1024h-523.621893a27.926501 27.926501 0 1 1 0-55.853002h523.621893a27.926501 27.926501 0 0 1 0 55.853002z" fill="#FFCB39" /><path d="M282.329202 192.418618a11.030968 11.030968 0 0 1-3.630445-0.628346 10.472438 10.472438 0 0 1-6.14383-13.474537c39.166918-104.724379 151.08237-92.297086 152.269246-92.157453a10.472438 10.472438 0 0 1-2.583201 20.944876c-3.979526-0.488714-96.765326-10.681887-130.067678 78.6131a10.472438 10.472438 0 0 1-9.844092 6.70236zM271.647315 236.263225a10.472438 10.472438 0 0 1-10.472437-9.774276 35.95537 35.95537 0 0 1 6.004197-21.992119A10.472438 10.472438 0 0 1 284.214241 216.435409a15.499208 15.499208 0 0 0-2.164304 8.517583 10.402622 10.402622 0 0 1-9.774275 11.100784z" fill="#FFFBF0" /></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M617.799864 133.119344l-0.704848 754.187293c-14.096959 43.991322-38.916417 74.449563-74.449563 91.365914-122.934291 58.616917-245.665938 60.379036-368.194942 5.286359-57.092683-25.72695-85.550918-71.189642-85.462812-134.53785 0.237886-226.670286 0.29075-453.243656 0.176212-679.73773-0.088106-95.947426 82.555315-141.233905 164.758205-159.471846 117.18097-26.079374 315.507558-8.017645 363.877748 122.90786z m-80.616983 18.326046c0-48.22041-82.123595-87.313038-183.436676-87.313038s-183.436676 39.092629-183.436675 87.313038 82.123595 87.313038 183.436675 87.313038 183.436676-39.092629 183.436676-87.313038z m-132.599518 390.485757c-0.352424-19.973628-1.259916-32.185119-2.731286-36.652092-17.885516-54.713821-113.832942-44.40542-104.758025 26.079373 3.171816 24.229148-22.819452 13.832641-33.215959 15.594761-57.180789 9.867871-57.709425 96.299849-4.052875 105.639085 12.775369 2.20265 39.471485-9.515447 37.445046 15.15423-7.400903 89.603794 125.286721 77.268955 104.405601-7.929539a6.3172 6.3172 0 0 1 1.356832-5.709268 6.114556 6.114556 0 0 1 5.42733-2.044059c99.912195 12.687263 89.868112-120.000361 0.528636-106.520145a3.788558 3.788558 0 0 1-4.4053-3.612346z m118.854983 305.022945a13.709292 13.709292 0 0 0-11.400915-0.088106c-3.621156 1.62115-6.343631 4.740102-7.453767 8.546282-14.978019 51.189581-105.198555 61.233665-148.899127 60.616922a15.092556 15.092556 0 0 0-8.281963 2.114544c-13.920747 8.986811-15.180662 18.475827-3.788558 28.458236 2.06168 1.76212 4.819398 2.819392 7.841434 2.995603 52.951701 2.731286 171.806685-13.127793 184.053417-80.176453 1.876658-10.281969-2.140976-17.770979-12.070521-22.467028z" fill="#E2F0FA" /><path d="M617.799864 133.119344c85.991448 5.400897 171.921223 11.541885 257.798133 18.414152 37.268835 2.995604 59.295333 18.590364 59.295333 56.916471 0.114538 207.75393 0.14978 415.446185 0.088106 623.085577 0 45.374586-14.449383 74.009033-63.876844 69.603734a3553.490877 3553.490877 0 0 0-254.009576-13.832641l0.704848-754.187293z m229.07558 154.714122c5.022042-0.026432 9.815008-3.436134 13.339247-9.462584 3.52424-6.03526 5.471382-14.202686 5.427329-22.704914-0.044053-8.511039-2.079301-16.652033-5.665215-22.65205-3.585914-5.991207-8.422933-9.348046-13.444975-9.321614-5.022042 0.026432-9.823818 3.436134-13.348057 9.462583-3.52424 6.03526-5.471382 14.202686-5.42733 22.704914 0.044053 8.511039 2.079301 16.652033 5.665216 22.64324 3.585914 6.000018 8.422933 9.356856 13.444974 9.330425z m17.533092 41.057392a17.268774 17.268774 0 0 0-17.268774-17.268774h-0.528636a17.268774 17.268774 0 0 0-17.268775 17.268774v453.569648a17.268774 17.268774 0 0 0 17.268775 17.268775h0.528636a17.268774 17.268774 0 0 0 17.268774-17.268775v-453.569648z" fill="#C8DAE5" /><path d="M170.30953 151.44539a183.436676 87.313038 0 1 0 366.873351 0 183.436676 87.313038 0 1 0-366.873351 0Z" fill="#C8DAE5" /><path d="M846.531311 223.692743a32.070581 18.942788 89.7 1 0 0.335841 64.140283 32.070581 18.942788 89.7 1 0-0.335841-64.140283Z" fill="#9EBED1" /><path d="M829.342351 311.622084m17.268775 0l0.528636 0q17.268774 0 17.268774 17.268774l0 453.569648q0 17.268774-17.268774 17.268775l-0.528636 0q-17.268774 0-17.268775-17.268775l0-453.569648q0-17.268774 17.268775-17.268774Z" fill="#9EBED1" /><path d="M408.988663 545.543493c89.339476-13.480217 99.383559 119.207407-0.528636 106.520145a6.114556 6.114556 0 0 0-5.42733 2.044059 6.3172 6.3172 0 0 0-1.356832 5.709268c20.88112 85.198494-111.806504 97.533333-104.405601 7.929539 2.026438-24.669678-24.669678-12.951581-37.445046-15.15423-53.656549-9.339235-53.127913-95.771214 4.052875-105.639085 10.396507-1.76212 36.387775 8.634387 33.215959-15.594761-9.074917-70.484794 86.872508-80.793195 104.758025-26.079373 1.47137 4.466974 2.378862 16.678464 2.731286 36.652092a3.788558 3.788558 0 0 0 4.4053 3.612346z" fill="#DC1C4B" /><path d="M523.438346 846.954092c9.929545 4.696049 13.947179 12.185059 12.070521 22.467028-12.246733 67.04866-131.101716 82.907739-184.053417 80.176453a13.110172 13.110172 0 0 1-7.841434-2.995603c-11.392105-9.982409-10.132189-19.471424 3.788558-28.458236 2.290756-1.436128 5.180632-2.167407 8.281963-2.114544 43.700572 0.616742 133.921108-9.427341 148.899127-60.616922 1.110136-3.797368 3.832611-6.925131 7.453767-8.546282 3.621156-1.629961 7.78857-1.594718 11.400915 0.088106z" fill="#C8DAE5" /></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

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