commit 53a7d69b282ecc1dea9618649b42f344ec25985a
Author: hooray <304327508@qq.com>
Date: Sat Oct 17 11:54:51 2020 +0800
首次提交
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..da599f40
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 4
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.env.development b/.env.development
new file mode 100644
index 00000000..b086a345
--- /dev/null
+++ b/.env.development
@@ -0,0 +1,9 @@
+# 页面标题
+VUE_APP_TITLE = Fantastic-admin 演示
+# 接口请求地址,会设置到 axios 的 baseURL 参数上
+VUE_APP_API_ROOT = 此处填写正式环境接口地址
+# 是否开启 CDN 支持,开启设置 ON,关闭设置 OFF
+# 详情介绍请阅读 http://eoner.gitee.io/vue-automation/#/cdn
+VUE_APP_CDN = OFF
+# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
+VUE_APP_DEBUG_TOOL =
diff --git a/.env.example b/.env.example
new file mode 100644
index 00000000..76bf1f0b
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,15 @@
+# 该环境仅提供演示站使用
+
+NODE_ENV = production
+
+VUE_APP_TYPE = example
+
+# 页面标题
+VUE_APP_TITLE = 后台框架模版
+# 接口请求地址,会设置到 axios 的 baseURL 参数上
+VUE_APP_API_ROOT = 此处填写正式环境接口地址
+# 是否开启 CDN 支持,开启设置 ON,关闭设置 OFF
+# 详情介绍请阅读 http://eoner.gitee.io/vue-automation/#/cdn
+VUE_APP_CDN = OFF
+# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
+VUE_APP_DEBUG_TOOL =
diff --git a/.env.production b/.env.production
new file mode 100644
index 00000000..77f34879
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,9 @@
+# 页面标题
+VUE_APP_TITLE = 后台框架模版
+# 接口请求地址,会设置到 axios 的 baseURL 参数上
+VUE_APP_API_ROOT = 此处填写正式环境接口地址
+# 是否开启 CDN 支持,开启设置 ON,关闭设置 OFF
+# 详情介绍请阅读 http://eoner.gitee.io/vue-automation/#/cdn
+VUE_APP_CDN = OFF
+# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
+VUE_APP_DEBUG_TOOL =
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 00000000..45ae305d
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1,5 @@
+dist/
+node_modules/
+babel.config.js
+vue.config.js
+.eslintrc.js
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 00000000..a70b67b0
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,89 @@
+module.exports = {
+ root: true,
+ env: {
+ browser: true,
+ es6: true
+ },
+ globals: {
+ process: true,
+ require: true,
+ module: true,
+ AMap: true
+ },
+ extends: [
+ 'plugin:vue/strongly-recommended',
+ 'eslint:recommended'
+ ],
+ parserOptions: {
+ ecmaVersion: 2015,
+ parser: 'babel-eslint',
+ sourceType: 'module'
+ },
+ rules: {
+ // 代码风格
+ 'block-spacing': [2, 'always'],
+ 'brace-style': [2, '1tbs', {
+ 'allowSingleLine': true
+ }],
+ 'comma-spacing': [2, {
+ 'before': false,
+ 'after': true
+ }],
+ 'comma-dangle': [2, 'never'],
+ 'comma-style': [2, 'last'],
+ 'computed-property-spacing': [2, 'never'],
+ 'indent': [2, 4, {
+ 'SwitchCase': 1
+ }],
+ 'key-spacing': [2, {
+ 'beforeColon': false,
+ 'afterColon': true
+ }],
+ 'keyword-spacing': [2, {
+ 'before': true,
+ 'after': true
+ }],
+ 'linebreak-style': 0,
+ 'multiline-ternary': [2, 'always-multiline'],
+ 'no-multiple-empty-lines': [2, {
+ 'max': 1
+ }],
+ 'no-unneeded-ternary': [2, {
+ 'defaultAssignment': false
+ }],
+ 'quotes': [2, 'single'],
+ 'semi': [2, 'never'],
+ 'space-before-blocks': [2, 'always'],
+ 'space-before-function-paren': [2, 'never'],
+ 'space-in-parens': [2, 'never'],
+ 'space-infix-ops': 2,
+ 'space-unary-ops': [2, {
+ 'words': true,
+ 'nonwords': false
+ }],
+ 'spaced-comment': [2, 'always', {
+ 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
+ }],
+ 'switch-colon-spacing': [2, {
+ 'after': true,
+ 'before': false
+ }],
+ // ES6
+ 'arrow-parens': [2, 'as-needed'],
+ 'arrow-spacing': [2, {
+ 'before': true,
+ 'after': true
+ }],
+ // Vue - https://github.com/vuejs/eslint-plugin-vue
+ 'vue/html-indent': [2, 4],
+ 'vue/max-attributes-per-line': 0,
+ 'vue/require-default-prop': 0,
+ 'vue/singleline-html-element-content-newline': 0,
+ 'vue/attributes-order': 2,
+ 'vue/order-in-components': 2,
+ 'vue/this-in-template': 2,
+ 'vue/script-indent': [2, 4, {
+ 'switchCase': 1
+ }]
+ }
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..0591bbb9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist*
+/src/assets/sprites/*.*
+!/src/assets/sprites/.gitkeep
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 00000000..a1d18c49
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,3 @@
+dist/
+node_modules/
+src/assets/sprites/
diff --git a/.stylelintrc b/.stylelintrc
new file mode 100644
index 00000000..ba9b91b2
--- /dev/null
+++ b/.stylelintrc
@@ -0,0 +1,18 @@
+{
+ "extends": [
+ "stylelint-config-standard",
+ "stylelint-config-recommended-scss"
+ ],
+ "plugins": [
+ "stylelint-scss"
+ ],
+ "rules": {
+ "indentation": 4,
+ "rule-empty-line-before": "never",
+ "at-rule-empty-line-before": "never",
+ "no-descending-specificity": null,
+ "selector-pseudo-class-no-unknown": null,
+ "selector-pseudo-element-no-unknown": [true, { "ignorePseudoElements": ["v-deep"] }],
+ "property-no-unknown": null
+ }
+}
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..5e61ba44
--- /dev/null
+++ b/README.md
@@ -0,0 +1,36 @@
+# Fantastic-admin
+
+## 这是什么
+
+一款开箱即用的 Vue 中后台管理系统模版,基于 [vue-automation](https://hooray.github.io/vue-automation) & [Element](https://element.eleme.cn)
+
+## 特点
+
+- 丰富的布局模式,覆盖市面上各种中后台布局
+- 提供主题配置文件,轻松实现个性化定制
+- 根据路由配置自动生成导航栏
+- 支持全方位权限验证
+
+## 演示
+
+[基础版](https://hooray.gitee.io/fantastic-admin/basic)(免费,可商用)
+
+[专业版](https://hooray.gitee.io/fantastic-admin/basic)(付费)
+
+## 文档
+
+[基础版](https://hooray.gitee.io/fantastic-admin/basic/docs)
+
+专业版稍后添加
+
+## 预览
+
+> 预览图为专业版
+
+稍后添加
+
+## 支持
+
+给个小 ❤️ 吧~
+
+[](https://gitee.com/hooray/fantastic-admin/stargazers)
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 00000000..e7a3d318
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,10 @@
+module.exports = {
+ presets: [
+ '@vue/cli-plugin-babel/preset'
+ ],
+ env: {
+ development: {
+ plugins: ['dynamic-import-node']
+ }
+ }
+}
diff --git a/dependencies.cdn.js b/dependencies.cdn.js
new file mode 100644
index 00000000..48ecb3cc
--- /dev/null
+++ b/dependencies.cdn.js
@@ -0,0 +1,62 @@
+module.exports = [
+ {
+ name: 'vue',
+ library: 'Vue',
+ js: 'https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
+ css: ''
+ },
+ {
+ name: 'vue-router',
+ library: 'VueRouter',
+ js: 'https://cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js',
+ css: ''
+ },
+ {
+ name: 'vuex',
+ library: 'Vuex',
+ js: 'https://cdn.jsdelivr.net/npm/vuex@3.5.1/dist/vuex.min.js',
+ css: ''
+ },
+ {
+ name: 'axios',
+ library: 'axios',
+ js: 'https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
+ css: ''
+ },
+ {
+ name: 'qs',
+ library: 'Qs',
+ js: 'https://cdn.jsdelivr.net/npm/qs@6.9.3/dist/qs.js',
+ css: ''
+ },
+ {
+ name: 'nprogress',
+ library: 'NProgress',
+ js: 'https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js',
+ css: 'https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.css'
+ },
+ {
+ name: 'vue-meta',
+ library: 'VueMeta',
+ js: 'https://cdn.jsdelivr.net/npm/vue-meta@2.4.0/dist/vue-meta.min.js',
+ css: ''
+ },
+ {
+ name: 'js-cookie',
+ library: 'Cookies',
+ js: 'https://cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js',
+ css: ''
+ },
+ {
+ name: 'dayjs',
+ library: 'dayjs',
+ js: 'https://cdn.jsdelivr.net/npm/dayjs@1.8.29/dayjs.min.js',
+ css: ''
+ },
+ {
+ name: 'hotkeys-js',
+ library: 'hotkeys',
+ js: 'https://cdn.jsdelivr.net/npm/hotkeys-js@3.8.1/dist/hotkeys.min.js',
+ css: ''
+ }
+]
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..9bf43e4d
--- /dev/null
+++ b/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "fantastic-admin",
+ "version": "1.0.0",
+ "private": true,
+ "scripts": {
+ "serve": "vue-cli-service serve",
+ "build:dev": "vue-cli-service build --mode development --dest dist-dev",
+ "build": "vue-cli-service build",
+ "build:example": "vue-cli-service build --mode example --dest dist-example",
+ "lint": "vue-cli-service lint",
+ "stylelint": "vue-cli-service lint:style",
+ "svgo": "svgo -f src/assets/icons",
+ "new": "plop"
+ },
+ "dependencies": {
+ "@tinymce/tinymce-vue": "^3.2.3",
+ "axios": "^0.20.0",
+ "core-js": "^3.6.4",
+ "dayjs": "^1.9.1",
+ "element-ui": "^2.13.2",
+ "hotkeys-js": "^3.8.1",
+ "nprogress": "^0.2.0",
+ "screenfull": "^5.0.2",
+ "swiper": "6.3.2",
+ "tinymce": "^5.5.1",
+ "vue": "^2.6.12",
+ "vue-awesome-swiper": "^4.1.1",
+ "vue-clipboard2": "^0.3.1",
+ "vue-cookies": "^1.7.4",
+ "vue-meta": "^2.4.0",
+ "vue-router": "^3.4.6",
+ "vuex": "^3.5.1"
+ },
+ "devDependencies": {
+ "@vue/cli-plugin-babel": "^4.5.4",
+ "@vue/cli-plugin-eslint": "^4.5.4",
+ "@vue/cli-service": "^4.5.4",
+ "@winner-fed/vue-cli-plugin-stylelint": "^1.0.3",
+ "babel-eslint": "^10.1.0",
+ "babel-plugin-dynamic-import-node": "^2.3.3",
+ "eslint": "^7.8.1",
+ "eslint-plugin-vue": "^6.2.2",
+ "html-webpack-plugin": "^4.4.1",
+ "sass": "^1.27.0",
+ "sass-loader": "^10.0.2",
+ "sass-resources-loader": "^2.1.0",
+ "stylelint": "^13.7.0",
+ "stylelint-config-recommended-scss": "^4.2.0",
+ "stylelint-config-standard": "^20.0.0",
+ "stylelint-scss": "^3.18.0",
+ "svg-sprite-loader": "^5.0.0",
+ "svgo": "^1.3.0",
+ "vue-template-compiler": "^2.6.12",
+ "webpack-spritesmith": "^1.1.0"
+ },
+ "postcss": {
+ "plugins": {
+ "autoprefixer": {}
+ }
+ },
+ "browserslist": [
+ "> 1%",
+ "last 2 versions",
+ "not ie <= 8"
+ ]
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 00000000..c7b9a43c
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 00000000..c20eb864
--- /dev/null
+++ b/public/index.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+ <%= htmlWebpackPlugin.options.title %>
+ <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
+
+
+
+ <% } %>
+ <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
+
+
+ <% } %>
+
+
+
+
+
+
+
+
<%= htmlWebpackPlugin.options.title %>载入中…
+
+
+
+ <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
+
+ <% } %>
+ <% if (htmlWebpackPlugin.options.debugTool == 'eruda') { %>
+
+
+ <% } %>
+ <% if (htmlWebpackPlugin.options.debugTool == 'vconsole') { %>
+
+
+ <% } %>
+
+
diff --git a/public/tinymce/langs/zh_CN.js b/public/tinymce/langs/zh_CN.js
new file mode 100644
index 00000000..89b106c2
--- /dev/null
+++ b/public/tinymce/langs/zh_CN.js
@@ -0,0 +1,419 @@
+tinymce.addI18n('zh_CN',{
+"Redo": "\u91cd\u505a",
+"Undo": "\u64a4\u9500",
+"Cut": "\u526a\u5207",
+"Copy": "\u590d\u5236",
+"Paste": "\u7c98\u8d34",
+"Select all": "\u5168\u9009",
+"New document": "\u65b0\u6587\u4ef6",
+"Ok": "\u786e\u5b9a",
+"Cancel": "\u53d6\u6d88",
+"Visual aids": "\u7f51\u683c\u7ebf",
+"Bold": "\u7c97\u4f53",
+"Italic": "\u659c\u4f53",
+"Underline": "\u4e0b\u5212\u7ebf",
+"Strikethrough": "\u5220\u9664\u7ebf",
+"Superscript": "\u4e0a\u6807",
+"Subscript": "\u4e0b\u6807",
+"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
+"Align left": "\u5de6\u8fb9\u5bf9\u9f50",
+"Align center": "\u4e2d\u95f4\u5bf9\u9f50",
+"Align right": "\u53f3\u8fb9\u5bf9\u9f50",
+"Justify": "\u4e24\u7aef\u5bf9\u9f50",
+"Bullet list": "\u9879\u76ee\u7b26\u53f7",
+"Numbered list": "\u7f16\u53f7\u5217\u8868",
+"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
+"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
+"Close": "\u5173\u95ed",
+"Formats": "\u683c\u5f0f",
+"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002",
+"Headers": "\u6807\u9898",
+"Header 1": "\u6807\u98981",
+"Header 2": "\u6807\u98982",
+"Header 3": "\u6807\u98983",
+"Header 4": "\u6807\u98984",
+"Header 5": "\u6807\u98985",
+"Header 6": "\u6807\u98986",
+"Headings": "\u6807\u9898",
+"Heading 1": "\u6807\u98981",
+"Heading 2": "\u6807\u98982",
+"Heading 3": "\u6807\u98983",
+"Heading 4": "\u6807\u98984",
+"Heading 5": "\u6807\u98985",
+"Heading 6": "\u6807\u98986",
+"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684",
+"Div": "Div",
+"Pre": "Pre",
+"Code": "\u4ee3\u7801",
+"Paragraph": "\u6bb5\u843d",
+"Blockquote": "\u5f15\u6587\u533a\u5757",
+"Inline": "\u6587\u672c",
+"Blocks": "\u57fa\u5757",
+"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002",
+"Fonts": "\u5b57\u4f53",
+"Font Sizes": "\u5b57\u53f7",
+"Class": "\u7c7b\u578b",
+"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf",
+"OR": "\u6216",
+"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64",
+"Upload": "\u4e0a\u4f20",
+"Block": "\u5757",
+"Align": "\u5bf9\u9f50",
+"Default": "\u9ed8\u8ba4",
+"Circle": "\u7a7a\u5fc3\u5706",
+"Disc": "\u5b9e\u5fc3\u5706",
+"Square": "\u65b9\u5757",
+"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
+"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
+"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
+"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"Anchor...": "\u951a\u70b9...",
+"Name": "\u540d\u79f0",
+"Id": "\u6807\u8bc6\u7b26",
+"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002",
+"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f",
+"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f",
+"Special character...": "\u7279\u6b8a\u5b57\u7b26...",
+"Source code": "\u6e90\u4ee3\u7801",
+"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
+"Language": "\u8bed\u8a00",
+"Code sample...": "\u793a\u4f8b\u4ee3\u7801...",
+"Color Picker": "\u9009\u8272\u5668",
+"R": "R",
+"G": "G",
+"B": "B",
+"Left to right": "\u4ece\u5de6\u5230\u53f3",
+"Right to left": "\u4ece\u53f3\u5230\u5de6",
+"Emoticons...": "\u8868\u60c5\u7b26\u53f7...",
+"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027",
+"Title": "\u6807\u9898",
+"Keywords": "\u5173\u952e\u8bcd",
+"Description": "\u63cf\u8ff0",
+"Robots": "\u673a\u5668\u4eba",
+"Author": "\u4f5c\u8005",
+"Encoding": "\u7f16\u7801",
+"Fullscreen": "\u5168\u5c4f",
+"Action": "\u64cd\u4f5c",
+"Shortcut": "\u5feb\u6377\u952e",
+"Help": "\u5e2e\u52a9",
+"Address": "\u5730\u5740",
+"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f",
+"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f",
+"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84",
+"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355",
+"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
+"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):",
+"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a",
+"Learn more...": "\u4e86\u89e3\u66f4\u591a...",
+"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}",
+"Plugins": "\u63d2\u4ef6",
+"Handy Shortcuts": "\u5feb\u6377\u952e",
+"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
+"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
+"Image description": "\u56fe\u7247\u63cf\u8ff0",
+"Source": "\u5730\u5740",
+"Dimensions": "\u5927\u5c0f",
+"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
+"General": "\u666e\u901a",
+"Advanced": "\u9ad8\u7ea7",
+"Style": "\u6837\u5f0f",
+"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
+"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
+"Border": "\u8fb9\u6846",
+"Insert image": "\u63d2\u5165\u56fe\u7247",
+"Image...": "\u56fe\u7247...",
+"Image list": "\u56fe\u7247\u5217\u8868",
+"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
+"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
+"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
+"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
+"Edit image": "\u7f16\u8f91\u56fe\u7247",
+"Image options": "\u56fe\u7247\u9009\u9879",
+"Zoom in": "\u653e\u5927",
+"Zoom out": "\u7f29\u5c0f",
+"Crop": "\u88c1\u526a",
+"Resize": "\u8c03\u6574\u5927\u5c0f",
+"Orientation": "\u65b9\u5411",
+"Brightness": "\u4eae\u5ea6",
+"Sharpen": "\u9510\u5316",
+"Contrast": "\u5bf9\u6bd4\u5ea6",
+"Color levels": "\u989c\u8272\u5c42\u6b21",
+"Gamma": "\u4f3d\u9a6c\u503c",
+"Invert": "\u53cd\u8f6c",
+"Apply": "\u5e94\u7528",
+"Back": "\u540e\u9000",
+"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
+"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
+"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Text to display": "\u663e\u793a\u6587\u5b57",
+"Url": "\u5730\u5740",
+"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...",
+"Current window": "\u5f53\u524d\u7a97\u53e3",
+"None": "\u65e0",
+"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
+"Remove link": "\u5220\u9664\u94fe\u63a5",
+"Anchors": "\u951a\u70b9",
+"Link...": "\u94fe\u63a5...",
+"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
+"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f",
+"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f",
+"Link list": "\u94fe\u63a5\u5217\u8868",
+"Insert video": "\u63d2\u5165\u89c6\u9891",
+"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
+"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
+"Alternative source": "\u955c\u50cf",
+"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740",
+"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)",
+"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
+"Embed": "\u5185\u5d4c",
+"Media...": "\u591a\u5a92\u4f53...",
+"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c",
+"Page break": "\u5206\u9875\u7b26",
+"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c",
+"Preview": "\u9884\u89c8",
+"Print...": "\u6253\u5370...",
+"Save": "\u4fdd\u5b58",
+"Find": "\u67e5\u627e",
+"Replace with": "\u66ff\u6362\u4e3a",
+"Replace": "\u66ff\u6362",
+"Replace all": "\u5168\u90e8\u66ff\u6362",
+"Previous": "\u4e0a\u4e00\u4e2a",
+"Next": "\u4e0b\u4e00\u4e2a",
+"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...",
+"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
+"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
+"Find whole words only": "\u5168\u5b57\u5339\u914d",
+"Spell check": "\u62fc\u5199\u68c0\u67e5",
+"Ignore": "\u5ffd\u7565",
+"Ignore all": "\u5168\u90e8\u5ffd\u7565",
+"Finish": "\u5b8c\u6210",
+"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
+"Insert table": "\u63d2\u5165\u8868\u683c",
+"Table properties": "\u8868\u683c\u5c5e\u6027",
+"Delete table": "\u5220\u9664\u8868\u683c",
+"Cell": "\u5355\u5143\u683c",
+"Row": "\u884c",
+"Column": "\u5217",
+"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
+"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
+"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
+"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
+"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
+"Delete row": "\u5220\u9664\u884c",
+"Row properties": "\u884c\u5c5e\u6027",
+"Cut row": "\u526a\u5207\u884c",
+"Copy row": "\u590d\u5236\u884c",
+"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
+"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
+"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
+"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
+"Delete column": "\u5220\u9664\u5217",
+"Cols": "\u5217",
+"Rows": "\u884c",
+"Width": "\u5bbd",
+"Height": "\u9ad8",
+"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
+"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
+"Show caption": "\u663e\u793a\u6807\u9898",
+"Left": "\u5de6\u5bf9\u9f50",
+"Center": "\u5c45\u4e2d",
+"Right": "\u53f3\u5bf9\u9f50",
+"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
+"Scope": "\u8303\u56f4",
+"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
+"H Align": "\u6c34\u5e73\u5bf9\u9f50",
+"V Align": "\u5782\u76f4\u5bf9\u9f50",
+"Top": "\u9876\u90e8\u5bf9\u9f50",
+"Middle": "\u5782\u76f4\u5c45\u4e2d",
+"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
+"Header cell": "\u8868\u5934\u5355\u5143\u683c",
+"Row group": "\u884c\u7ec4",
+"Column group": "\u5217\u7ec4",
+"Row type": "\u884c\u7c7b\u578b",
+"Header": "\u8868\u5934",
+"Body": "\u8868\u4f53",
+"Footer": "\u8868\u5c3e",
+"Border color": "\u8fb9\u6846\u989c\u8272",
+"Insert template...": "\u63d2\u5165\u6a21\u677f...",
+"Templates": "\u6a21\u677f",
+"Template": "\u6a21\u677f",
+"Text color": "\u6587\u5b57\u989c\u8272",
+"Background color": "\u80cc\u666f\u8272",
+"Custom...": "\u81ea\u5b9a\u4e49...",
+"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
+"No color": "\u65e0",
+"Remove color": "\u79fb\u9664\u989c\u8272",
+"Table of Contents": "\u5185\u5bb9\u5217\u8868",
+"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846",
+"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26",
+"Word count": "\u5b57\u6570",
+"Count": "\u8ba1\u6570",
+"Document": "\u6587\u6863",
+"Selection": "\u9009\u62e9",
+"Words": "\u5355\u8bcd",
+"Words: {0}": "\u5b57\u6570\uff1a{0}",
+"{0} words": "{0} \u5b57",
+"File": "\u6587\u4ef6",
+"Edit": "\u7f16\u8f91",
+"Insert": "\u63d2\u5165",
+"View": "\u89c6\u56fe",
+"Format": "\u683c\u5f0f",
+"Table": "\u8868\u683c",
+"Tools": "\u5de5\u5177",
+"Powered by {0}": "\u7531{0}\u9a71\u52a8",
+"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9",
+"Image title": "\u56fe\u7247\u6807\u9898",
+"Border width": "\u8fb9\u6846\u5bbd\u5ea6",
+"Border style": "\u8fb9\u6846\u6837\u5f0f",
+"Error": "\u9519\u8bef",
+"Warn": "\u8b66\u544a",
+"Valid": "\u6709\u6548",
+"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846",
+"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002",
+"System Font": "\u7cfb\u7edf\u5b57\u4f53",
+"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}",
+"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}",
+"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}",
+"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}",
+"example": "\u793a\u4f8b",
+"Search": "\u641c\u7d22",
+"All": "\u5168\u90e8",
+"Currency": "\u8d27\u5e01",
+"Text": "\u6587\u5b57",
+"Quotations": "\u5f15\u7528",
+"Mathematical": "\u6570\u5b66",
+"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145",
+"Symbols": "\u7b26\u53f7",
+"Arrows": "\u7bad\u5934",
+"User Defined": "\u81ea\u5b9a\u4e49",
+"dollar sign": "\u7f8e\u5143\u7b26\u53f7",
+"currency sign": "\u8d27\u5e01\u7b26\u53f7",
+"euro-currency sign": "\u6b27\u5143\u7b26\u53f7",
+"colon sign": "\u5192\u53f7",
+"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7",
+"french franc sign": "\u6cd5\u90ce\u7b26\u53f7",
+"lira sign": "\u91cc\u62c9\u7b26\u53f7",
+"mill sign": "\u5bc6\u5c14\u7b26\u53f7",
+"naira sign": "\u5948\u62c9\u7b26\u53f7",
+"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7",
+"rupee sign": "\u5362\u6bd4\u7b26\u53f7",
+"won sign": "\u97e9\u5143\u7b26\u53f7",
+"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7",
+"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7",
+"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7",
+"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7",
+"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7",
+"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7",
+"peso sign": "\u6bd4\u7d22\u7b26\u53f7",
+"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7",
+"austral sign": "\u6fb3\u5143\u7b26\u53f7",
+"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7",
+"cedi sign": "\u585e\u5730\u7b26\u53f7",
+"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7",
+"spesmilo sign": "spesmilo\u7b26\u53f7",
+"tenge sign": "\u575a\u6208\u7b26\u53f7",
+"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4",
+"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9",
+"nordic mark sign": "\u5317\u6b27\u9a6c\u514b",
+"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7",
+"ruble sign": "\u5362\u5e03\u7b26\u53f7",
+"yen character": "\u65e5\u5143\u5b57\u6837",
+"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837",
+"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09",
+"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09",
+"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...",
+"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7",
+"People": "\u4eba\u7c7b",
+"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136",
+"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1",
+"Activity": "\u6d3b\u52a8",
+"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9",
+"Objects": "\u7269\u4ef6",
+"Flags": "\u65d7\u5e1c",
+"Characters": "\u5b57\u7b26",
+"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)",
+"{0} characters": "{0} \u4e2a\u5b57\u7b26",
+"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002",
+"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002",
+"Update": "\u66f4\u65b0",
+"Color swatch": "\u989c\u8272\u6837\u672c",
+"Turquoise": "\u9752\u7eff\u8272",
+"Green": "\u7eff\u8272",
+"Blue": "\u84dd\u8272",
+"Purple": "\u7d2b\u8272",
+"Navy Blue": "\u6d77\u519b\u84dd",
+"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272",
+"Dark Green": "\u6df1\u7eff\u8272",
+"Medium Blue": "\u4e2d\u84dd\u8272",
+"Medium Purple": "\u4e2d\u7d2b\u8272",
+"Midnight Blue": "\u6df1\u84dd\u8272",
+"Yellow": "\u9ec4\u8272",
+"Orange": "\u6a59\u8272",
+"Red": "\u7ea2\u8272",
+"Light Gray": "\u6d45\u7070\u8272",
+"Gray": "\u7070\u8272",
+"Dark Yellow": "\u6697\u9ec4\u8272",
+"Dark Orange": "\u6df1\u6a59\u8272",
+"Dark Red": "\u6df1\u7ea2\u8272",
+"Medium Gray": "\u4e2d\u7070\u8272",
+"Dark Gray": "\u6df1\u7070\u8272",
+"Light Green": "\u6d45\u7eff\u8272",
+"Light Yellow": "\u6d45\u9ec4\u8272",
+"Light Red": "\u6d45\u7ea2\u8272",
+"Light Purple": "\u6d45\u7d2b\u8272",
+"Light Blue": "\u6d45\u84dd\u8272",
+"Dark Purple": "\u6df1\u7d2b\u8272",
+"Dark Blue": "\u6df1\u84dd\u8272",
+"Black": "\u9ed1\u8272",
+"White": "\u767d\u8272",
+"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f",
+"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846",
+"history": "\u5386\u53f2",
+"styles": "\u6837\u5f0f",
+"formatting": "\u683c\u5f0f\u5316",
+"alignment": "\u5bf9\u9f50",
+"indentation": "\u7f29\u8fdb",
+"permanent pen": "\u8bb0\u53f7\u7b14",
+"comments": "\u5907\u6ce8",
+"Format Painter": "\u683c\u5f0f\u5237",
+"Insert\/edit iframe": "\u63d2\u5165\/\u7f16\u8f91\u6846\u67b6",
+"Capitalization": "\u5927\u5199",
+"lowercase": "\u5c0f\u5199",
+"UPPERCASE": "\u5927\u5199",
+"Title Case": "\u9996\u5b57\u6bcd\u5927\u5199",
+"Permanent Pen Properties": "\u6c38\u4e45\u7b14\u5c5e\u6027",
+"Permanent pen properties...": "\u6c38\u4e45\u7b14\u5c5e\u6027...",
+"Font": "\u5b57\u4f53",
+"Size": "\u5b57\u53f7",
+"More...": "\u66f4\u591a...",
+"Spellcheck Language": "\u62fc\u5199\u68c0\u67e5\u8bed\u8a00",
+"Select...": "\u9009\u62e9...",
+"Preferences": "\u9996\u9009\u9879",
+"Yes": "\u662f",
+"No": "\u5426",
+"Keyboard Navigation": "\u952e\u76d8\u6307\u5f15",
+"Version": "\u7248\u672c",
+"Anchor": "\u951a\u70b9",
+"Special character": "\u7279\u6b8a\u7b26\u53f7",
+"Code sample": "\u4ee3\u7801\u793a\u4f8b",
+"Color": "\u989c\u8272",
+"Emoticons": "\u8868\u60c5",
+"Document properties": "\u6587\u6863\u5c5e\u6027",
+"Image": "\u56fe\u7247",
+"Insert link": "\u63d2\u5165\u94fe\u63a5",
+"Target": "\u6253\u5f00\u65b9\u5f0f",
+"Link": "\u94fe\u63a5",
+"Poster": "\u5c01\u9762",
+"Media": "\u5a92\u4f53",
+"Print": "\u6253\u5370",
+"Prev": "\u4e0a\u4e00\u4e2a",
+"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
+"Whole words": "\u5168\u5b57\u5339\u914d",
+"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
+"Caption": "\u6807\u9898",
+"Insert template": "\u63d2\u5165\u6a21\u677f"
+});
\ No newline at end of file
diff --git a/public/tinymce/skins/content/dark/content.css b/public/tinymce/skins/content/dark/content.css
new file mode 100644
index 00000000..10ce487b
--- /dev/null
+++ b/public/tinymce/skins/content/dark/content.css
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body {
+ background-color: #2f3742;
+ color: #dfe0e4;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ line-height: 1.4;
+ margin: 1rem;
+}
+a {
+ color: #4099ff;
+}
+table {
+ border-collapse: collapse;
+}
+table th,
+table td {
+ border: 1px solid #6d737b;
+ padding: 0.4rem;
+}
+figure {
+ display: table;
+ margin: 1rem auto;
+}
+figure figcaption {
+ color: #8a8f97;
+ display: block;
+ margin-top: 0.25rem;
+ text-align: center;
+}
+hr {
+ border-color: #6d737b;
+ border-style: solid;
+ border-width: 1px 0 0 0;
+}
+code {
+ background-color: #6d737b;
+ border-radius: 3px;
+ padding: 0.1rem 0.2rem;
+}
+/* Make text in selected cells in tables dark and readable */
+td[data-mce-selected],
+th[data-mce-selected] {
+ color: #333;
+}
+.mce-content-body:not([dir=rtl]) blockquote {
+ border-left: 2px solid #6d737b;
+ margin-left: 1.5rem;
+ padding-left: 1rem;
+}
+.mce-content-body[dir=rtl] blockquote {
+ border-right: 2px solid #6d737b;
+ margin-right: 1.5rem;
+ padding-right: 1rem;
+}
diff --git a/public/tinymce/skins/content/dark/content.min.css b/public/tinymce/skins/content/dark/content.min.css
new file mode 100644
index 00000000..764ae9a1
--- /dev/null
+++ b/public/tinymce/skins/content/dark/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table td,table th{border:1px solid #6d737b;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}td[data-mce-selected],th[data-mce-selected]{color:#333}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}
diff --git a/public/tinymce/skins/content/default/content.css b/public/tinymce/skins/content/default/content.css
new file mode 100644
index 00000000..e57e8398
--- /dev/null
+++ b/public/tinymce/skins/content/default/content.css
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ line-height: 1.4;
+ margin: 1rem;
+}
+table {
+ border-collapse: collapse;
+}
+table th,
+table td {
+ border: 1px solid #ccc;
+ padding: 0.4rem;
+}
+figure {
+ display: table;
+ margin: 1rem auto;
+}
+figure figcaption {
+ color: #999;
+ display: block;
+ margin-top: 0.25rem;
+ text-align: center;
+}
+hr {
+ border-color: #ccc;
+ border-style: solid;
+ border-width: 1px 0 0 0;
+}
+code {
+ background-color: #e8e8e8;
+ border-radius: 3px;
+ padding: 0.1rem 0.2rem;
+}
+.mce-content-body:not([dir=rtl]) blockquote {
+ border-left: 2px solid #ccc;
+ margin-left: 1.5rem;
+ padding-left: 1rem;
+}
+.mce-content-body[dir=rtl] blockquote {
+ border-right: 2px solid #ccc;
+ margin-right: 1.5rem;
+ padding-right: 1rem;
+}
diff --git a/public/tinymce/skins/content/default/content.min.css b/public/tinymce/skins/content/default/content.min.css
new file mode 100644
index 00000000..81811bce
--- /dev/null
+++ b/public/tinymce/skins/content/default/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
diff --git a/public/tinymce/skins/content/document/content.css b/public/tinymce/skins/content/document/content.css
new file mode 100644
index 00000000..2d79e43c
--- /dev/null
+++ b/public/tinymce/skins/content/document/content.css
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+@media screen {
+ html {
+ background: #f4f4f4;
+ min-height: 100%;
+ }
+}
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+}
+@media screen {
+ body {
+ background-color: #fff;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
+ box-sizing: border-box;
+ margin: 1rem auto 0;
+ max-width: 820px;
+ min-height: calc(100vh - 1rem);
+ padding: 4rem 6rem 6rem 6rem;
+ }
+}
+table {
+ border-collapse: collapse;
+}
+table th,
+table td {
+ border: 1px solid #ccc;
+ padding: 0.4rem;
+}
+figure figcaption {
+ color: #999;
+ margin-top: 0.25rem;
+ text-align: center;
+}
+hr {
+ border-color: #ccc;
+ border-style: solid;
+ border-width: 1px 0 0 0;
+}
+.mce-content-body:not([dir=rtl]) blockquote {
+ border-left: 2px solid #ccc;
+ margin-left: 1.5rem;
+ padding-left: 1rem;
+}
+.mce-content-body[dir=rtl] blockquote {
+ border-right: 2px solid #ccc;
+ margin-right: 1.5rem;
+ padding-right: 1rem;
+}
diff --git a/public/tinymce/skins/content/document/content.min.css b/public/tinymce/skins/content/document/content.min.css
new file mode 100644
index 00000000..f26eaf66
--- /dev/null
+++ b/public/tinymce/skins/content/document/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
diff --git a/public/tinymce/skins/content/writer/content.css b/public/tinymce/skins/content/writer/content.css
new file mode 100644
index 00000000..00ae0fb6
--- /dev/null
+++ b/public/tinymce/skins/content/writer/content.css
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ line-height: 1.4;
+ margin: 1rem auto;
+ max-width: 900px;
+}
+table {
+ border-collapse: collapse;
+}
+table th,
+table td {
+ border: 1px solid #ccc;
+ padding: 0.4rem;
+}
+figure {
+ display: table;
+ margin: 1rem auto;
+}
+figure figcaption {
+ color: #999;
+ display: block;
+ margin-top: 0.25rem;
+ text-align: center;
+}
+hr {
+ border-color: #ccc;
+ border-style: solid;
+ border-width: 1px 0 0 0;
+}
+code {
+ background-color: #e8e8e8;
+ border-radius: 3px;
+ padding: 0.1rem 0.2rem;
+}
+.mce-content-body:not([dir=rtl]) blockquote {
+ border-left: 2px solid #ccc;
+ margin-left: 1.5rem;
+ padding-left: 1rem;
+}
+.mce-content-body[dir=rtl] blockquote {
+ border-right: 2px solid #ccc;
+ margin-right: 1.5rem;
+ padding-right: 1rem;
+}
diff --git a/public/tinymce/skins/content/writer/content.min.css b/public/tinymce/skins/content/writer/content.min.css
new file mode 100644
index 00000000..29837911
--- /dev/null
+++ b/public/tinymce/skins/content/writer/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.css b/public/tinymce/skins/ui/oxide-dark/content.css
new file mode 100644
index 00000000..6a127099
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.css
@@ -0,0 +1,677 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ cursor: default;
+ display: inline-block;
+ height: 12px !important;
+ padding: 0 2px;
+ -webkit-user-modify: read-only;
+ -moz-user-modify: read-only;
+ -webkit-user-select: all;
+ -moz-user-select: all;
+ -ms-user-select: all;
+ user-select: all;
+ width: 8px !important;
+}
+.mce-content-body .mce-item-anchor[data-mce-selected] {
+ outline-offset: 1px;
+}
+.tox-comments-visible .tox-comment {
+ background-color: #fff0b7;
+}
+.tox-comments-visible .tox-comment--active {
+ background-color: #ffe168;
+}
+.tox-checklist > li:not(.tox-checklist--hidden) {
+ list-style: none;
+ margin: 0.25em 0;
+}
+.tox-checklist > li:not(.tox-checklist--hidden)::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+ background-size: 100%;
+ content: '';
+ cursor: pointer;
+ height: 1em;
+ margin-left: -1.5em;
+ margin-top: 0.125em;
+ position: absolute;
+ width: 1em;
+}
+.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+}
+[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
+ margin-left: 0;
+ margin-right: -1.5em;
+}
+/* stylelint-disable */
+/* http://prismjs.com/ */
+/**
+ * Dracula Theme originally by Zeno Rocha [@zenorocha]
+ * https://draculatheme.com/
+ *
+ * Ported for PrismJS by Albert Vallverdu [@byverdu]
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: #f8f8f2;
+ background: none;
+ text-shadow: 0 1px rgba(0, 0, 0, 0.3);
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+ border-radius: 0.3em;
+}
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #282a36;
+}
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+ white-space: normal;
+}
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: #6272a4;
+}
+.token.punctuation {
+ color: #f8f8f2;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.property,
+.token.tag,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #ff79c6;
+}
+.token.boolean,
+.token.number {
+ color: #bd93f9;
+}
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #50fa7b;
+}
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string,
+.token.variable {
+ color: #f8f8f2;
+}
+.token.atrule,
+.token.attr-value,
+.token.function,
+.token.class-name {
+ color: #f1fa8c;
+}
+.token.keyword {
+ color: #8be9fd;
+}
+.token.regex,
+.token.important {
+ color: #ffb86c;
+}
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.entity {
+ cursor: help;
+}
+/* stylelint-enable */
+.mce-content-body {
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.mce-content-body .mce-visual-caret {
+ background-color: black;
+ background-color: currentColor;
+ position: absolute;
+}
+.mce-content-body .mce-visual-caret-hidden {
+ display: none;
+}
+.mce-content-body *[data-mce-caret] {
+ left: -1000px;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+ right: auto;
+ top: 0;
+}
+.mce-content-body .mce-offscreen-selection {
+ left: -2000000px;
+ max-width: 1000000px;
+ position: absolute;
+}
+.mce-content-body *[contentEditable=false] {
+ cursor: default;
+}
+.mce-content-body *[contentEditable=true] {
+ cursor: text;
+}
+.tox-cursor-format-painter {
+ cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
+}
+.mce-content-body figure.align-left {
+ float: left;
+}
+.mce-content-body figure.align-right {
+ float: right;
+}
+.mce-content-body figure.image.align-center {
+ display: table;
+ margin-left: auto;
+ margin-right: auto;
+}
+.mce-preview-object {
+ border: 1px solid gray;
+ display: inline-block;
+ line-height: 0;
+ margin: 0 2px 0 2px;
+ position: relative;
+}
+.mce-preview-object .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-preview-object[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.mce-object {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ border: 1px dashed #aaa;
+}
+.mce-pagebreak {
+ border: 1px dashed #aaa;
+ cursor: default;
+ display: block;
+ height: 5px;
+ margin-top: 15px;
+ page-break-before: always;
+ width: 100%;
+}
+@media print {
+ .mce-pagebreak {
+ border: 0;
+ }
+}
+.tiny-pageembed .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tiny-pageembed[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.tiny-pageembed {
+ display: inline-block;
+ position: relative;
+}
+.tiny-pageembed--21by9,
+.tiny-pageembed--16by9,
+.tiny-pageembed--4by3,
+.tiny-pageembed--1by1 {
+ display: block;
+ overflow: hidden;
+ padding: 0;
+ position: relative;
+ width: 100%;
+}
+.tiny-pageembed--21by9 {
+ padding-top: 42.857143%;
+}
+.tiny-pageembed--16by9 {
+ padding-top: 56.25%;
+}
+.tiny-pageembed--4by3 {
+ padding-top: 75%;
+}
+.tiny-pageembed--1by1 {
+ padding-top: 100%;
+}
+.tiny-pageembed--21by9 iframe,
+.tiny-pageembed--16by9 iframe,
+.tiny-pageembed--4by3 iframe,
+.tiny-pageembed--1by1 iframe {
+ border: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-content-body[data-mce-placeholder] {
+ position: relative;
+}
+.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ color: rgba(34, 47, 62, 0.7);
+ content: attr(data-mce-placeholder);
+ position: absolute;
+}
+.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ left: 1px;
+}
+.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
+ right: 1px;
+}
+.mce-content-body div.mce-resizehandle {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+ z-index: 10000;
+}
+.mce-content-body div.mce-resizehandle:hover {
+ background-color: #4099ff;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(1) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(2) {
+ cursor: nesw-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(3) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(4) {
+ cursor: nesw-resize;
+}
+.mce-content-body .mce-clonedresizable {
+ opacity: 0.5;
+ outline: 1px dashed black;
+ position: absolute;
+ z-index: 10000;
+}
+.mce-content-body .mce-resize-helper {
+ background: #555;
+ background: rgba(0, 0, 0, 0.75);
+ border: 1px;
+ border-radius: 3px;
+ color: white;
+ display: none;
+ font-family: sans-serif;
+ font-size: 12px;
+ line-height: 14px;
+ margin: 5px 10px;
+ padding: 5px;
+ position: absolute;
+ white-space: nowrap;
+ z-index: 10001;
+}
+.tox-rtc-user-selection {
+ position: relative;
+}
+.tox-rtc-user-cursor {
+ bottom: 0;
+ cursor: default;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+.tox-rtc-user-cursor::before {
+ background-color: inherit;
+ border-radius: 50%;
+ content: '';
+ display: block;
+ height: 8px;
+ position: absolute;
+ right: -3px;
+ top: -3px;
+ width: 8px;
+}
+.tox-rtc-user-cursor:hover::after {
+ background-color: inherit;
+ border-radius: 100px;
+ box-sizing: border-box;
+ color: #fff;
+ content: attr(data-user);
+ display: block;
+ font-size: 12px;
+ font-weight: bold;
+ left: -5px;
+ min-height: 8px;
+ min-width: 8px;
+ padding: 0 12px;
+ position: absolute;
+ top: -11px;
+ white-space: nowrap;
+ z-index: 1000;
+}
+.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
+ background-color: #2dc26b;
+}
+.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
+ background-color: #e03e2d;
+}
+.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
+ background-color: #f1c40f;
+}
+.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
+ background-color: #3598db;
+}
+.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
+ background-color: #b96ad9;
+}
+.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
+ background-color: #e67e23;
+}
+.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
+ background-color: #aaa69d;
+}
+.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
+ background-color: #f368e0;
+}
+.tox-rtc-remote-image {
+ background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
+ border: 1px solid #ccc;
+ min-height: 240px;
+ min-width: 320px;
+}
+.mce-match-marker {
+ background: #aaa;
+ color: #fff;
+}
+.mce-match-marker-selected {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::-moz-selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-content-body img[data-mce-selected],
+.mce-content-body table[data-mce-selected] {
+ outline: 3px solid #4099ff;
+}
+.mce-content-body hr[data-mce-selected] {
+ outline: 3px solid #4099ff;
+ outline-offset: 1px;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
+ outline: 3px solid #4099ff;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
+ outline: 3px solid #4099ff;
+}
+.mce-content-body *[contentEditable=false][data-mce-selected] {
+ cursor: not-allowed;
+ outline: 3px solid #4099ff;
+}
+.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
+.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
+ outline: none;
+}
+.mce-content-body *[data-mce-selected="inline-boundary"] {
+ background-color: #4099ff;
+}
+.mce-content-body .mce-edit-focus {
+ outline: 3px solid #4099ff;
+}
+.mce-content-body td[data-mce-selected],
+.mce-content-body th[data-mce-selected] {
+ background-color: #b4d7ff !important;
+}
+.mce-content-body td[data-mce-selected]::-moz-selection,
+.mce-content-body th[data-mce-selected]::-moz-selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected]::selection,
+.mce-content-body th[data-mce-selected]::selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected] *,
+.mce-content-body th[data-mce-selected] * {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.mce-content-body img::-moz-selection {
+ background: none;
+}
+.mce-content-body img::selection {
+ background: none;
+}
+.ephox-snooker-resizer-bar {
+ background-color: #4099ff;
+ opacity: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ephox-snooker-resizer-cols {
+ cursor: col-resize;
+}
+.ephox-snooker-resizer-rows {
+ cursor: row-resize;
+}
+.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
+ opacity: 1;
+}
+.mce-spellchecker-word {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+ height: 2rem;
+}
+.mce-spellchecker-grammar {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+}
+.mce-toc {
+ border: 1px solid gray;
+}
+.mce-toc h2 {
+ margin: 4px;
+}
+.mce-toc li {
+ list-style-type: none;
+}
+.mce-item-table,
+.mce-item-table td,
+.mce-item-table th,
+.mce-item-table caption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks p,
+.mce-visualblocks h1,
+.mce-visualblocks h2,
+.mce-visualblocks h3,
+.mce-visualblocks h4,
+.mce-visualblocks h5,
+.mce-visualblocks h6,
+.mce-visualblocks div:not([data-mce-bogus]),
+.mce-visualblocks section,
+.mce-visualblocks article,
+.mce-visualblocks blockquote,
+.mce-visualblocks address,
+.mce-visualblocks pre,
+.mce-visualblocks figure,
+.mce-visualblocks figcaption,
+.mce-visualblocks hgroup,
+.mce-visualblocks aside,
+.mce-visualblocks ul,
+.mce-visualblocks ol,
+.mce-visualblocks dl {
+ background-repeat: no-repeat;
+ border: 1px dashed #bbb;
+ margin-left: 3px;
+ padding-top: 10px;
+}
+.mce-visualblocks p {
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
+}
+.mce-visualblocks h1 {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
+}
+.mce-visualblocks h2 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
+}
+.mce-visualblocks h3 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
+}
+.mce-visualblocks h4 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
+}
+.mce-visualblocks h5 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
+}
+.mce-visualblocks h6 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
+}
+.mce-visualblocks div:not([data-mce-bogus]) {
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
+}
+.mce-visualblocks section {
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
+}
+.mce-visualblocks article {
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
+}
+.mce-visualblocks blockquote {
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
+}
+.mce-visualblocks address {
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
+}
+.mce-visualblocks pre {
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
+}
+.mce-visualblocks figure {
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
+}
+.mce-visualblocks figcaption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks hgroup {
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
+}
+.mce-visualblocks aside {
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
+}
+.mce-visualblocks ul {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
+}
+.mce-visualblocks ol {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
+}
+.mce-visualblocks dl {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
+}
+.mce-visualblocks:not([dir=rtl]) p,
+.mce-visualblocks:not([dir=rtl]) h1,
+.mce-visualblocks:not([dir=rtl]) h2,
+.mce-visualblocks:not([dir=rtl]) h3,
+.mce-visualblocks:not([dir=rtl]) h4,
+.mce-visualblocks:not([dir=rtl]) h5,
+.mce-visualblocks:not([dir=rtl]) h6,
+.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
+.mce-visualblocks:not([dir=rtl]) section,
+.mce-visualblocks:not([dir=rtl]) article,
+.mce-visualblocks:not([dir=rtl]) blockquote,
+.mce-visualblocks:not([dir=rtl]) address,
+.mce-visualblocks:not([dir=rtl]) pre,
+.mce-visualblocks:not([dir=rtl]) figure,
+.mce-visualblocks:not([dir=rtl]) figcaption,
+.mce-visualblocks:not([dir=rtl]) hgroup,
+.mce-visualblocks:not([dir=rtl]) aside,
+.mce-visualblocks:not([dir=rtl]) ul,
+.mce-visualblocks:not([dir=rtl]) ol,
+.mce-visualblocks:not([dir=rtl]) dl {
+ margin-left: 3px;
+}
+.mce-visualblocks[dir=rtl] p,
+.mce-visualblocks[dir=rtl] h1,
+.mce-visualblocks[dir=rtl] h2,
+.mce-visualblocks[dir=rtl] h3,
+.mce-visualblocks[dir=rtl] h4,
+.mce-visualblocks[dir=rtl] h5,
+.mce-visualblocks[dir=rtl] h6,
+.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
+.mce-visualblocks[dir=rtl] section,
+.mce-visualblocks[dir=rtl] article,
+.mce-visualblocks[dir=rtl] blockquote,
+.mce-visualblocks[dir=rtl] address,
+.mce-visualblocks[dir=rtl] pre,
+.mce-visualblocks[dir=rtl] figure,
+.mce-visualblocks[dir=rtl] figcaption,
+.mce-visualblocks[dir=rtl] hgroup,
+.mce-visualblocks[dir=rtl] aside,
+.mce-visualblocks[dir=rtl] ul,
+.mce-visualblocks[dir=rtl] ol,
+.mce-visualblocks[dir=rtl] dl {
+ background-position-x: right;
+ margin-right: 3px;
+}
+.mce-nbsp,
+.mce-shy {
+ background: #aaa;
+}
+.mce-shy::after {
+ content: '-';
+}
+body {
+ font-family: sans-serif;
+}
+table {
+ border-collapse: collapse;
+}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.css b/public/tinymce/skins/ui/oxide-dark/content.inline.css
new file mode 100644
index 00000000..f268801f
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.inline.css
@@ -0,0 +1,689 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ cursor: default;
+ display: inline-block;
+ height: 12px !important;
+ padding: 0 2px;
+ -webkit-user-modify: read-only;
+ -moz-user-modify: read-only;
+ -webkit-user-select: all;
+ -moz-user-select: all;
+ -ms-user-select: all;
+ user-select: all;
+ width: 8px !important;
+}
+.mce-content-body .mce-item-anchor[data-mce-selected] {
+ outline-offset: 1px;
+}
+.tox-comments-visible .tox-comment {
+ background-color: #fff0b7;
+}
+.tox-comments-visible .tox-comment--active {
+ background-color: #ffe168;
+}
+.tox-checklist > li:not(.tox-checklist--hidden) {
+ list-style: none;
+ margin: 0.25em 0;
+}
+.tox-checklist > li:not(.tox-checklist--hidden)::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+ background-size: 100%;
+ content: '';
+ cursor: pointer;
+ height: 1em;
+ margin-left: -1.5em;
+ margin-top: 0.125em;
+ position: absolute;
+ width: 1em;
+}
+.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+}
+[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
+ margin-left: 0;
+ margin-right: -1.5em;
+}
+/* stylelint-disable */
+/* http://prismjs.com/ */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ background: none;
+ text-shadow: 0 1px white;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1em;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+}
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #f5f2f0;
+}
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+ white-space: normal;
+}
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+.token.punctuation {
+ color: #999;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #905;
+}
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #690;
+}
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #9a6e3a;
+ background: hsla(0, 0%, 100%, 0.5);
+}
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+.token.function,
+.token.class-name {
+ color: #DD4A68;
+}
+.token.regex,
+.token.important,
+.token.variable {
+ color: #e90;
+}
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.entity {
+ cursor: help;
+}
+/* stylelint-enable */
+.mce-content-body {
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.mce-content-body .mce-visual-caret {
+ background-color: black;
+ background-color: currentColor;
+ position: absolute;
+}
+.mce-content-body .mce-visual-caret-hidden {
+ display: none;
+}
+.mce-content-body *[data-mce-caret] {
+ left: -1000px;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+ right: auto;
+ top: 0;
+}
+.mce-content-body .mce-offscreen-selection {
+ left: -2000000px;
+ max-width: 1000000px;
+ position: absolute;
+}
+.mce-content-body *[contentEditable=false] {
+ cursor: default;
+}
+.mce-content-body *[contentEditable=true] {
+ cursor: text;
+}
+.tox-cursor-format-painter {
+ cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
+}
+.mce-content-body figure.align-left {
+ float: left;
+}
+.mce-content-body figure.align-right {
+ float: right;
+}
+.mce-content-body figure.image.align-center {
+ display: table;
+ margin-left: auto;
+ margin-right: auto;
+}
+.mce-preview-object {
+ border: 1px solid gray;
+ display: inline-block;
+ line-height: 0;
+ margin: 0 2px 0 2px;
+ position: relative;
+}
+.mce-preview-object .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-preview-object[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.mce-object {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ border: 1px dashed #aaa;
+}
+.mce-pagebreak {
+ border: 1px dashed #aaa;
+ cursor: default;
+ display: block;
+ height: 5px;
+ margin-top: 15px;
+ page-break-before: always;
+ width: 100%;
+}
+@media print {
+ .mce-pagebreak {
+ border: 0;
+ }
+}
+.tiny-pageembed .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tiny-pageembed[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.tiny-pageembed {
+ display: inline-block;
+ position: relative;
+}
+.tiny-pageembed--21by9,
+.tiny-pageembed--16by9,
+.tiny-pageembed--4by3,
+.tiny-pageembed--1by1 {
+ display: block;
+ overflow: hidden;
+ padding: 0;
+ position: relative;
+ width: 100%;
+}
+.tiny-pageembed--21by9 {
+ padding-top: 42.857143%;
+}
+.tiny-pageembed--16by9 {
+ padding-top: 56.25%;
+}
+.tiny-pageembed--4by3 {
+ padding-top: 75%;
+}
+.tiny-pageembed--1by1 {
+ padding-top: 100%;
+}
+.tiny-pageembed--21by9 iframe,
+.tiny-pageembed--16by9 iframe,
+.tiny-pageembed--4by3 iframe,
+.tiny-pageembed--1by1 iframe {
+ border: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-content-body[data-mce-placeholder] {
+ position: relative;
+}
+.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ color: rgba(34, 47, 62, 0.7);
+ content: attr(data-mce-placeholder);
+ position: absolute;
+}
+.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ left: 1px;
+}
+.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
+ right: 1px;
+}
+.mce-content-body div.mce-resizehandle {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+ z-index: 10000;
+}
+.mce-content-body div.mce-resizehandle:hover {
+ background-color: #4099ff;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(1) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(2) {
+ cursor: nesw-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(3) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(4) {
+ cursor: nesw-resize;
+}
+.mce-content-body .mce-clonedresizable {
+ opacity: 0.5;
+ outline: 1px dashed black;
+ position: absolute;
+ z-index: 10000;
+}
+.mce-content-body .mce-resize-helper {
+ background: #555;
+ background: rgba(0, 0, 0, 0.75);
+ border: 1px;
+ border-radius: 3px;
+ color: white;
+ display: none;
+ font-family: sans-serif;
+ font-size: 12px;
+ line-height: 14px;
+ margin: 5px 10px;
+ padding: 5px;
+ position: absolute;
+ white-space: nowrap;
+ z-index: 10001;
+}
+.tox-rtc-user-selection {
+ position: relative;
+}
+.tox-rtc-user-cursor {
+ bottom: 0;
+ cursor: default;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+.tox-rtc-user-cursor::before {
+ background-color: inherit;
+ border-radius: 50%;
+ content: '';
+ display: block;
+ height: 8px;
+ position: absolute;
+ right: -3px;
+ top: -3px;
+ width: 8px;
+}
+.tox-rtc-user-cursor:hover::after {
+ background-color: inherit;
+ border-radius: 100px;
+ box-sizing: border-box;
+ color: #fff;
+ content: attr(data-user);
+ display: block;
+ font-size: 12px;
+ font-weight: bold;
+ left: -5px;
+ min-height: 8px;
+ min-width: 8px;
+ padding: 0 12px;
+ position: absolute;
+ top: -11px;
+ white-space: nowrap;
+ z-index: 1000;
+}
+.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
+ background-color: #2dc26b;
+}
+.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
+ background-color: #e03e2d;
+}
+.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
+ background-color: #f1c40f;
+}
+.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
+ background-color: #3598db;
+}
+.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
+ background-color: #b96ad9;
+}
+.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
+ background-color: #e67e23;
+}
+.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
+ background-color: #aaa69d;
+}
+.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
+ background-color: #f368e0;
+}
+.tox-rtc-remote-image {
+ background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
+ border: 1px solid #ccc;
+ min-height: 240px;
+ min-width: 320px;
+}
+.mce-match-marker {
+ background: #aaa;
+ color: #fff;
+}
+.mce-match-marker-selected {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::-moz-selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-content-body img[data-mce-selected],
+.mce-content-body table[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body hr[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+ outline-offset: 1px;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false][data-mce-selected] {
+ cursor: not-allowed;
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
+.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
+ outline: none;
+}
+.mce-content-body *[data-mce-selected="inline-boundary"] {
+ background-color: #b4d7ff;
+}
+.mce-content-body .mce-edit-focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body td[data-mce-selected],
+.mce-content-body th[data-mce-selected] {
+ background-color: #b4d7ff !important;
+}
+.mce-content-body td[data-mce-selected]::-moz-selection,
+.mce-content-body th[data-mce-selected]::-moz-selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected]::selection,
+.mce-content-body th[data-mce-selected]::selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected] *,
+.mce-content-body th[data-mce-selected] * {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.mce-content-body img::-moz-selection {
+ background: none;
+}
+.mce-content-body img::selection {
+ background: none;
+}
+.ephox-snooker-resizer-bar {
+ background-color: #b4d7ff;
+ opacity: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ephox-snooker-resizer-cols {
+ cursor: col-resize;
+}
+.ephox-snooker-resizer-rows {
+ cursor: row-resize;
+}
+.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
+ opacity: 1;
+}
+.mce-spellchecker-word {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+ height: 2rem;
+}
+.mce-spellchecker-grammar {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+}
+.mce-toc {
+ border: 1px solid gray;
+}
+.mce-toc h2 {
+ margin: 4px;
+}
+.mce-toc li {
+ list-style-type: none;
+}
+.mce-item-table,
+.mce-item-table td,
+.mce-item-table th,
+.mce-item-table caption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks p,
+.mce-visualblocks h1,
+.mce-visualblocks h2,
+.mce-visualblocks h3,
+.mce-visualblocks h4,
+.mce-visualblocks h5,
+.mce-visualblocks h6,
+.mce-visualblocks div:not([data-mce-bogus]),
+.mce-visualblocks section,
+.mce-visualblocks article,
+.mce-visualblocks blockquote,
+.mce-visualblocks address,
+.mce-visualblocks pre,
+.mce-visualblocks figure,
+.mce-visualblocks figcaption,
+.mce-visualblocks hgroup,
+.mce-visualblocks aside,
+.mce-visualblocks ul,
+.mce-visualblocks ol,
+.mce-visualblocks dl {
+ background-repeat: no-repeat;
+ border: 1px dashed #bbb;
+ margin-left: 3px;
+ padding-top: 10px;
+}
+.mce-visualblocks p {
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
+}
+.mce-visualblocks h1 {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
+}
+.mce-visualblocks h2 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
+}
+.mce-visualblocks h3 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
+}
+.mce-visualblocks h4 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
+}
+.mce-visualblocks h5 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
+}
+.mce-visualblocks h6 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
+}
+.mce-visualblocks div:not([data-mce-bogus]) {
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
+}
+.mce-visualblocks section {
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
+}
+.mce-visualblocks article {
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
+}
+.mce-visualblocks blockquote {
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
+}
+.mce-visualblocks address {
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
+}
+.mce-visualblocks pre {
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
+}
+.mce-visualblocks figure {
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
+}
+.mce-visualblocks figcaption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks hgroup {
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
+}
+.mce-visualblocks aside {
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
+}
+.mce-visualblocks ul {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
+}
+.mce-visualblocks ol {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
+}
+.mce-visualblocks dl {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
+}
+.mce-visualblocks:not([dir=rtl]) p,
+.mce-visualblocks:not([dir=rtl]) h1,
+.mce-visualblocks:not([dir=rtl]) h2,
+.mce-visualblocks:not([dir=rtl]) h3,
+.mce-visualblocks:not([dir=rtl]) h4,
+.mce-visualblocks:not([dir=rtl]) h5,
+.mce-visualblocks:not([dir=rtl]) h6,
+.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
+.mce-visualblocks:not([dir=rtl]) section,
+.mce-visualblocks:not([dir=rtl]) article,
+.mce-visualblocks:not([dir=rtl]) blockquote,
+.mce-visualblocks:not([dir=rtl]) address,
+.mce-visualblocks:not([dir=rtl]) pre,
+.mce-visualblocks:not([dir=rtl]) figure,
+.mce-visualblocks:not([dir=rtl]) figcaption,
+.mce-visualblocks:not([dir=rtl]) hgroup,
+.mce-visualblocks:not([dir=rtl]) aside,
+.mce-visualblocks:not([dir=rtl]) ul,
+.mce-visualblocks:not([dir=rtl]) ol,
+.mce-visualblocks:not([dir=rtl]) dl {
+ margin-left: 3px;
+}
+.mce-visualblocks[dir=rtl] p,
+.mce-visualblocks[dir=rtl] h1,
+.mce-visualblocks[dir=rtl] h2,
+.mce-visualblocks[dir=rtl] h3,
+.mce-visualblocks[dir=rtl] h4,
+.mce-visualblocks[dir=rtl] h5,
+.mce-visualblocks[dir=rtl] h6,
+.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
+.mce-visualblocks[dir=rtl] section,
+.mce-visualblocks[dir=rtl] article,
+.mce-visualblocks[dir=rtl] blockquote,
+.mce-visualblocks[dir=rtl] address,
+.mce-visualblocks[dir=rtl] pre,
+.mce-visualblocks[dir=rtl] figure,
+.mce-visualblocks[dir=rtl] figcaption,
+.mce-visualblocks[dir=rtl] hgroup,
+.mce-visualblocks[dir=rtl] aside,
+.mce-visualblocks[dir=rtl] ul,
+.mce-visualblocks[dir=rtl] ol,
+.mce-visualblocks[dir=rtl] dl {
+ background-position-x: right;
+ margin-right: 3px;
+}
+.mce-nbsp,
+.mce-shy {
+ background: #aaa;
+}
+.mce-shy::after {
+ content: '-';
+}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.min.css b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css
new file mode 100644
index 00000000..19483c72
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");background-size:100%;content:'';cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-clonedresizable{opacity:.5;outline:1px dashed #000;position:absolute;z-index:10000}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10001}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body img[data-mce-selected],.mce-content-body table[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{background-color:#b4d7ff!important}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table,.mce-item-table caption,.mce-item-table td,.mce-item-table th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.min.css b/public/tinymce/skins/ui/oxide-dark/content.min.css
new file mode 100644
index 00000000..3b8ae4bc
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");background-size:100%;content:'';cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-clonedresizable{opacity:.5;outline:1px dashed #000;position:absolute;z-index:10000}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10001}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body img[data-mce-selected],.mce-content-body table[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{background-color:#b4d7ff!important}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table,.mce-item-table caption,.mce-item-table td,.mce-item-table th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.css
new file mode 100644
index 00000000..4bdb8bab
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.css
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
+ /* Note: this file is used inside the content, so isn't part of theming */
+ background-color: green;
+ display: inline-block;
+ opacity: 0.5;
+ position: absolute;
+}
+body {
+ -webkit-text-size-adjust: none;
+}
+body img {
+ /* this is related to the content margin */
+ max-width: 96vw;
+}
+body table img {
+ max-width: 95%;
+}
+body {
+ font-family: sans-serif;
+}
+table {
+ border-collapse: collapse;
+}
diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css
new file mode 100644
index 00000000..35f7dc08
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff
new file mode 100644
index 00000000..1e3be038
Binary files /dev/null and b/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff differ
diff --git a/public/tinymce/skins/ui/oxide-dark/skin.css b/public/tinymce/skins/ui/oxide-dark/skin.css
new file mode 100644
index 00000000..7f0ece3a
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/skin.css
@@ -0,0 +1,2897 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tox {
+ box-sizing: content-box;
+ color: #2A3746;
+ cursor: auto;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: normal;
+ -webkit-tap-highlight-color: transparent;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ vertical-align: initial;
+ white-space: normal;
+}
+.tox *:not(svg):not(rect) {
+ box-sizing: inherit;
+ color: inherit;
+ cursor: inherit;
+ direction: inherit;
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ line-height: inherit;
+ -webkit-tap-highlight-color: inherit;
+ text-align: inherit;
+ text-decoration: inherit;
+ text-shadow: inherit;
+ text-transform: inherit;
+ vertical-align: inherit;
+ white-space: inherit;
+}
+.tox *:not(svg):not(rect) {
+ /* stylelint-disable-line no-duplicate-selectors */
+ background: transparent;
+ border: 0;
+ float: none;
+ height: auto;
+ margin: 0;
+ max-width: none;
+ outline: 0;
+ padding: 0;
+ position: static;
+ width: auto;
+}
+.tox:not([dir=rtl]) {
+ direction: ltr;
+ text-align: left;
+}
+.tox[dir=rtl] {
+ direction: rtl;
+ text-align: right;
+}
+.tox-tinymce {
+ border: 1px solid #000000;
+ border-radius: 0;
+ box-shadow: none;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ overflow: hidden;
+ position: relative;
+ visibility: inherit !important;
+}
+.tox-tinymce-inline {
+ border: none;
+ box-shadow: none;
+}
+.tox-tinymce-inline .tox-editor-header {
+ border: 1px solid #000000;
+ border-radius: 0;
+ box-shadow: none;
+}
+.tox-tinymce-aux {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ z-index: 1300;
+}
+.tox-tinymce *:focus,
+.tox-tinymce-aux *:focus {
+ outline: none;
+}
+button::-moz-focus-inner {
+ border: 0;
+}
+.tox .accessibility-issue__header {
+ align-items: center;
+ display: flex;
+ margin-bottom: 4px;
+}
+.tox .accessibility-issue__description {
+ align-items: stretch;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ display: flex;
+ justify-content: space-between;
+}
+.tox .accessibility-issue__description > div {
+ padding-bottom: 4px;
+}
+.tox .accessibility-issue__description > div > div {
+ align-items: center;
+ display: flex;
+ margin-bottom: 4px;
+}
+.tox .accessibility-issue__description > *:last-child:not(:only-child) {
+ border-color: #000000;
+ border-style: solid;
+}
+.tox .accessibility-issue__repair {
+ margin-top: 16px;
+}
+.tox .accessibility-issue--info .accessibility-issue__description {
+ background-color: rgba(32, 122, 183, 0.5);
+ border-color: #207ab7;
+ color: #fff;
+}
+.tox .accessibility-issue--info .accessibility-issue__description > *:last-child {
+ border-color: #207ab7;
+}
+.tox .accessibility-issue--info h2 {
+ color: #fff;
+}
+.tox .accessibility-issue--info .tox-icon svg {
+ fill: #fff;
+}
+.tox .accessibility-issue--info a .tox-icon {
+ color: #fff;
+}
+.tox .accessibility-issue--warn .accessibility-issue__description {
+ background-color: rgba(255, 165, 0, 0.5);
+ border-color: rgba(255, 165, 0, 0.8);
+ color: #fff;
+}
+.tox .accessibility-issue--warn .accessibility-issue__description > *:last-child {
+ border-color: rgba(255, 165, 0, 0.8);
+}
+.tox .accessibility-issue--warn h2 {
+ color: #fff;
+}
+.tox .accessibility-issue--warn .tox-icon svg {
+ fill: #fff;
+}
+.tox .accessibility-issue--warn a .tox-icon {
+ color: #fff;
+}
+.tox .accessibility-issue--error .accessibility-issue__description {
+ background-color: rgba(204, 0, 0, 0.5);
+ border-color: rgba(204, 0, 0, 0.8);
+ color: #fff;
+}
+.tox .accessibility-issue--error .accessibility-issue__description > *:last-child {
+ border-color: rgba(204, 0, 0, 0.8);
+}
+.tox .accessibility-issue--error h2 {
+ color: #fff;
+}
+.tox .accessibility-issue--error .tox-icon svg {
+ fill: #fff;
+}
+.tox .accessibility-issue--error a .tox-icon {
+ color: #fff;
+}
+.tox .accessibility-issue--success .accessibility-issue__description {
+ background-color: rgba(120, 171, 70, 0.5);
+ border-color: rgba(120, 171, 70, 0.8);
+ color: #fff;
+}
+.tox .accessibility-issue--success .accessibility-issue__description > *:last-child {
+ border-color: rgba(120, 171, 70, 0.8);
+}
+.tox .accessibility-issue--success h2 {
+ color: #fff;
+}
+.tox .accessibility-issue--success .tox-icon svg {
+ fill: #fff;
+}
+.tox .accessibility-issue--success a .tox-icon {
+ color: #fff;
+}
+.tox .tox-dialog__body-content .accessibility-issue__header h1,
+.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 {
+ margin-top: 0;
+}
+.tox:not([dir=rtl]) .accessibility-issue__header .tox-button {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .accessibility-issue__header > *:nth-last-child(2) {
+ margin-left: auto;
+}
+.tox:not([dir=rtl]) .accessibility-issue__description {
+ padding: 4px 4px 4px 8px;
+}
+.tox:not([dir=rtl]) .accessibility-issue__description > *:last-child {
+ border-left-width: 1px;
+ padding-left: 4px;
+}
+.tox[dir=rtl] .accessibility-issue__header .tox-button {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .accessibility-issue__header > *:nth-last-child(2) {
+ margin-right: auto;
+}
+.tox[dir=rtl] .accessibility-issue__description {
+ padding: 4px 8px 4px 4px;
+}
+.tox[dir=rtl] .accessibility-issue__description > *:last-child {
+ border-right-width: 1px;
+ padding-right: 4px;
+}
+.tox .tox-anchorbar {
+ display: flex;
+ flex: 0 0 auto;
+}
+.tox .tox-bar {
+ display: flex;
+ flex: 0 0 auto;
+}
+.tox .tox-button {
+ background-color: #207ab7;
+ background-image: none;
+ background-position: 0 0;
+ background-repeat: repeat;
+ border-color: #207ab7;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ color: #fff;
+ cursor: pointer;
+ display: inline-block;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ letter-spacing: normal;
+ line-height: 24px;
+ margin: 0;
+ outline: none;
+ padding: 4px 16px;
+ text-align: center;
+ text-decoration: none;
+ text-transform: capitalize;
+ white-space: nowrap;
+}
+.tox .tox-button[disabled] {
+ background-color: #207ab7;
+ background-image: none;
+ border-color: #207ab7;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-button:focus:not(:disabled) {
+ background-color: #1c6ca1;
+ background-image: none;
+ border-color: #1c6ca1;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button:hover:not(:disabled) {
+ background-color: #1c6ca1;
+ background-image: none;
+ border-color: #1c6ca1;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button:active:not(:disabled) {
+ background-color: #185d8c;
+ background-image: none;
+ border-color: #185d8c;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--secondary {
+ background-color: #3d546f;
+ background-image: none;
+ background-position: 0 0;
+ background-repeat: repeat;
+ border-color: #3d546f;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ color: #fff;
+ outline: none;
+ padding: 4px 16px;
+ text-decoration: none;
+ text-transform: capitalize;
+}
+.tox .tox-button--secondary[disabled] {
+ background-color: #3d546f;
+ background-image: none;
+ border-color: #3d546f;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-button--secondary:focus:not(:disabled) {
+ background-color: #34485f;
+ background-image: none;
+ border-color: #34485f;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--secondary:hover:not(:disabled) {
+ background-color: #34485f;
+ background-image: none;
+ border-color: #34485f;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--secondary:active:not(:disabled) {
+ background-color: #2b3b4e;
+ background-image: none;
+ border-color: #2b3b4e;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--icon,
+.tox .tox-button.tox-button--icon,
+.tox .tox-button.tox-button--secondary.tox-button--icon {
+ padding: 4px;
+}
+.tox .tox-button--icon .tox-icon svg,
+.tox .tox-button.tox-button--icon .tox-icon svg,
+.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg {
+ display: block;
+ fill: currentColor;
+}
+.tox .tox-button-link {
+ background: 0;
+ border: none;
+ box-sizing: border-box;
+ cursor: pointer;
+ display: inline-block;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ font-weight: normal;
+ line-height: 1.3;
+ margin: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.tox .tox-button-link--sm {
+ font-size: 14px;
+}
+.tox .tox-button--naked {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: unset;
+ color: #fff;
+}
+.tox .tox-button--naked[disabled] {
+ background-color: #3d546f;
+ border-color: #3d546f;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-button--naked:hover:not(:disabled) {
+ background-color: #34485f;
+ border-color: #34485f;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--naked:focus:not(:disabled) {
+ background-color: #34485f;
+ border-color: #34485f;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--naked:active:not(:disabled) {
+ background-color: #2b3b4e;
+ border-color: #2b3b4e;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--naked .tox-icon svg {
+ fill: currentColor;
+}
+.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {
+ color: #fff;
+}
+.tox .tox-checkbox {
+ align-items: center;
+ border-radius: 3px;
+ cursor: pointer;
+ display: flex;
+ height: 36px;
+ min-width: 36px;
+}
+.tox .tox-checkbox__input {
+ /* Hide from view but visible to screen readers */
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ top: auto;
+ width: 1px;
+}
+.tox .tox-checkbox__icons {
+ align-items: center;
+ border-radius: 3px;
+ box-shadow: 0 0 0 2px transparent;
+ box-sizing: content-box;
+ display: flex;
+ height: 24px;
+ justify-content: center;
+ padding: calc(4px - 1px);
+ width: 24px;
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: block;
+ fill: rgba(255, 255, 255, 0.2);
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ display: none;
+ fill: #207ab7;
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ display: none;
+ fill: #207ab7;
+}
+.tox .tox-checkbox--disabled {
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: none;
+}
+.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ display: block;
+}
+.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: none;
+}
+.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ display: block;
+}
+.tox input.tox-checkbox__input:focus + .tox-checkbox__icons {
+ border-radius: 3px;
+ box-shadow: inset 0 0 0 1px #207ab7;
+ padding: calc(4px - 1px);
+}
+.tox:not([dir=rtl]) .tox-checkbox__label {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-checkbox__input {
+ left: -10000px;
+}
+.tox:not([dir=rtl]) .tox-bar .tox-checkbox {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-checkbox__label {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .tox-checkbox__input {
+ right: -10000px;
+}
+.tox[dir=rtl] .tox-bar .tox-checkbox {
+ margin-right: 4px;
+}
+.tox {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox .tox-collection--toolbar .tox-collection__group {
+ display: flex;
+ padding: 0;
+}
+.tox .tox-collection--grid .tox-collection__group {
+ display: flex;
+ flex-wrap: wrap;
+ max-height: 208px;
+ overflow-x: hidden;
+ overflow-y: auto;
+ padding: 0;
+}
+.tox .tox-collection--list .tox-collection__group {
+ border-bottom-width: 0;
+ border-color: #1a1a1a;
+ border-left-width: 0;
+ border-right-width: 0;
+ border-style: solid;
+ border-top-width: 1px;
+ padding: 4px 0;
+}
+.tox .tox-collection--list .tox-collection__group:first-child {
+ border-top-width: 0;
+}
+.tox .tox-collection__group-heading {
+ background-color: #333333;
+ color: #fff;
+ cursor: default;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: normal;
+ margin-bottom: 4px;
+ margin-top: -4px;
+ padding: 4px 8px;
+ text-transform: none;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.tox .tox-collection__item {
+ align-items: center;
+ color: #fff;
+ cursor: pointer;
+ display: flex;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.tox .tox-collection--list .tox-collection__item {
+ padding: 4px 8px;
+}
+.tox .tox-collection--toolbar .tox-collection__item {
+ border-radius: 3px;
+ padding: 4px;
+}
+.tox .tox-collection--grid .tox-collection__item {
+ border-radius: 3px;
+ padding: 4px;
+}
+.tox .tox-collection--list .tox-collection__item--enabled {
+ background-color: #2b3b4e;
+ color: #fff;
+}
+.tox .tox-collection--list .tox-collection__item--active {
+ background-color: #4a5562;
+}
+.tox .tox-collection--toolbar .tox-collection__item--enabled {
+ background-color: #757d87;
+ color: #fff;
+}
+.tox .tox-collection--toolbar .tox-collection__item--active {
+ background-color: #4a5562;
+}
+.tox .tox-collection--grid .tox-collection__item--enabled {
+ background-color: #757d87;
+ color: #fff;
+}
+.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ background-color: #4a5562;
+ color: #fff;
+}
+.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ color: #fff;
+}
+.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ color: #fff;
+}
+.tox .tox-collection__item--state-disabled {
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-collection__item-icon,
+.tox .tox-collection__item-checkmark {
+ align-items: center;
+ display: flex;
+ height: 24px;
+ justify-content: center;
+ width: 24px;
+}
+.tox .tox-collection__item-icon svg,
+.tox .tox-collection__item-checkmark svg {
+ fill: currentColor;
+}
+.tox .tox-collection--toolbar-lg .tox-collection__item-icon {
+ height: 48px;
+ width: 48px;
+}
+.tox .tox-collection__item-label {
+ color: currentColor;
+ display: inline-block;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 24px;
+ text-transform: none;
+ word-break: break-all;
+}
+.tox .tox-collection__item-accessory {
+ color: rgba(255, 255, 255, 0.5);
+ display: inline-block;
+ font-size: 14px;
+ height: 24px;
+ line-height: 24px;
+ text-transform: none;
+}
+.tox .tox-collection__item-caret {
+ align-items: center;
+ display: flex;
+ min-height: 24px;
+}
+.tox .tox-collection__item-caret::after {
+ content: '';
+ font-size: 0;
+ min-height: inherit;
+}
+.tox .tox-collection__item-caret svg {
+ fill: #fff;
+}
+.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg {
+ display: none;
+}
+.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark {
+ display: none;
+}
+.tox .tox-collection--horizontal {
+ background-color: #2b3b4e;
+ border: 1px solid #1a1a1a;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: nowrap;
+ margin-bottom: 0;
+ overflow-x: auto;
+ padding: 0;
+}
+.tox .tox-collection--horizontal .tox-collection__group {
+ align-items: center;
+ display: flex;
+ flex-wrap: nowrap;
+ margin: 0;
+ padding: 0 4px;
+}
+.tox .tox-collection--horizontal .tox-collection__item {
+ height: 34px;
+ margin: 2px 0 3px 0;
+ padding: 0 4px;
+}
+.tox .tox-collection--horizontal .tox-collection__item-label {
+ white-space: nowrap;
+}
+.tox .tox-collection--horizontal .tox-collection__item-caret {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
+ border-right: 1px solid #000000;
+}
+.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item-label:first-child {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-collection__item-accessory {
+ margin-left: 16px;
+ text-align: right;
+}
+.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret {
+ margin-left: 16px;
+}
+.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
+ border-left: 1px solid #000000;
+}
+.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-collection--list .tox-collection__item-label:first-child {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .tox-collection__item-icon-rtl {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg {
+ transform: rotateY(180deg);
+}
+.tox[dir=rtl] .tox-collection__item-accessory {
+ margin-right: 16px;
+ text-align: left;
+}
+.tox[dir=rtl] .tox-collection .tox-collection__item-caret {
+ margin-right: 16px;
+ transform: rotateY(180deg);
+}
+.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret {
+ margin-right: 4px;
+}
+.tox .tox-color-picker-container {
+ display: flex;
+ flex-direction: row;
+ height: 225px;
+ margin: 0;
+}
+.tox .tox-sv-palette {
+ box-sizing: border-box;
+ display: flex;
+ height: 100%;
+}
+.tox .tox-sv-palette-spectrum {
+ height: 100%;
+}
+.tox .tox-sv-palette,
+.tox .tox-sv-palette-spectrum {
+ width: 225px;
+}
+.tox .tox-sv-palette-thumb {
+ background: none;
+ border: 1px solid black;
+ border-radius: 50%;
+ box-sizing: content-box;
+ height: 12px;
+ position: absolute;
+ width: 12px;
+}
+.tox .tox-sv-palette-inner-thumb {
+ border: 1px solid white;
+ border-radius: 50%;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+}
+.tox .tox-hue-slider {
+ box-sizing: border-box;
+ height: 100%;
+ width: 25px;
+}
+.tox .tox-hue-slider-spectrum {
+ background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00);
+ height: 100%;
+ width: 100%;
+}
+.tox .tox-hue-slider,
+.tox .tox-hue-slider-spectrum {
+ width: 20px;
+}
+.tox .tox-hue-slider-thumb {
+ background: white;
+ border: 1px solid black;
+ box-sizing: content-box;
+ height: 4px;
+ width: 100%;
+}
+.tox .tox-rgb-form {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+.tox .tox-rgb-form div {
+ align-items: center;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 5px;
+ width: inherit;
+}
+.tox .tox-rgb-form input {
+ width: 6em;
+}
+.tox .tox-rgb-form input.tox-invalid {
+ /* Need !important to override Chrome's focus styling unfortunately */
+ border: 1px solid red !important;
+}
+.tox .tox-rgb-form .tox-rgba-preview {
+ border: 1px solid black;
+ flex-grow: 2;
+ margin-bottom: 0;
+}
+.tox:not([dir=rtl]) .tox-sv-palette {
+ margin-right: 15px;
+}
+.tox:not([dir=rtl]) .tox-hue-slider {
+ margin-right: 15px;
+}
+.tox:not([dir=rtl]) .tox-hue-slider-thumb {
+ margin-left: -1px;
+}
+.tox:not([dir=rtl]) .tox-rgb-form label {
+ margin-right: 0.5em;
+}
+.tox[dir=rtl] .tox-sv-palette {
+ margin-left: 15px;
+}
+.tox[dir=rtl] .tox-hue-slider {
+ margin-left: 15px;
+}
+.tox[dir=rtl] .tox-hue-slider-thumb {
+ margin-right: -1px;
+}
+.tox[dir=rtl] .tox-rgb-form label {
+ margin-left: 0.5em;
+}
+.tox .tox-toolbar .tox-swatches,
+.tox .tox-toolbar__primary .tox-swatches,
+.tox .tox-toolbar__overflow .tox-swatches {
+ margin: 2px 0 3px 4px;
+}
+.tox .tox-collection--list .tox-collection__group .tox-swatches-menu {
+ border: 0;
+ margin: -4px 0;
+}
+.tox .tox-swatches__row {
+ display: flex;
+}
+.tox .tox-swatch {
+ height: 30px;
+ transition: transform 0.15s, box-shadow 0.15s;
+ width: 30px;
+}
+.tox .tox-swatch:hover,
+.tox .tox-swatch:focus {
+ box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset;
+ transform: scale(0.8);
+}
+.tox .tox-swatch--remove {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.tox .tox-swatch--remove svg path {
+ stroke: #e74c3c;
+}
+.tox .tox-swatches__picker-btn {
+ align-items: center;
+ background-color: transparent;
+ border: 0;
+ cursor: pointer;
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ outline: none;
+ padding: 0;
+ width: 30px;
+}
+.tox .tox-swatches__picker-btn svg {
+ height: 24px;
+ width: 24px;
+}
+.tox .tox-swatches__picker-btn:hover {
+ background: #4a5562;
+}
+.tox:not([dir=rtl]) .tox-swatches__picker-btn {
+ margin-left: auto;
+}
+.tox[dir=rtl] .tox-swatches__picker-btn {
+ margin-right: auto;
+}
+.tox .tox-comment-thread {
+ background: #2b3b4e;
+ position: relative;
+}
+.tox .tox-comment-thread > *:not(:first-child) {
+ margin-top: 8px;
+}
+.tox .tox-comment {
+ background: #2b3b4e;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1);
+ padding: 8px 8px 16px 8px;
+ position: relative;
+}
+.tox .tox-comment__header {
+ align-items: center;
+ color: #fff;
+ display: flex;
+ justify-content: space-between;
+}
+.tox .tox-comment__date {
+ color: rgba(255, 255, 255, 0.5);
+ font-size: 12px;
+}
+.tox .tox-comment__body {
+ color: #fff;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ margin-top: 8px;
+ position: relative;
+ text-transform: initial;
+}
+.tox .tox-comment__body textarea {
+ resize: none;
+ white-space: normal;
+ width: 100%;
+}
+.tox .tox-comment__expander {
+ padding-top: 8px;
+}
+.tox .tox-comment__expander p {
+ color: rgba(255, 255, 255, 0.5);
+ font-size: 14px;
+ font-style: normal;
+}
+.tox .tox-comment__body p {
+ margin: 0;
+}
+.tox .tox-comment__buttonspacing {
+ padding-top: 16px;
+ text-align: center;
+}
+.tox .tox-comment-thread__overlay::after {
+ background: #2b3b4e;
+ bottom: 0;
+ content: "";
+ display: flex;
+ left: 0;
+ opacity: 0.9;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 5;
+}
+.tox .tox-comment__reply {
+ display: flex;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ margin-top: 8px;
+}
+.tox .tox-comment__reply > *:first-child {
+ margin-bottom: 8px;
+ width: 100%;
+}
+.tox .tox-comment__edit {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ margin-top: 16px;
+}
+.tox .tox-comment__gradient::after {
+ background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e);
+ bottom: 0;
+ content: "";
+ display: block;
+ height: 5em;
+ margin-top: -40px;
+ position: absolute;
+ width: 100%;
+}
+.tox .tox-comment__overlay {
+ background: #2b3b4e;
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ left: 0;
+ opacity: 0.9;
+ position: absolute;
+ right: 0;
+ text-align: center;
+ top: 0;
+ z-index: 5;
+}
+.tox .tox-comment__loading-text {
+ align-items: center;
+ color: #fff;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+}
+.tox .tox-comment__loading-text > div {
+ padding-bottom: 16px;
+}
+.tox .tox-comment__overlaytext {
+ bottom: 0;
+ flex-direction: column;
+ font-size: 14px;
+ left: 0;
+ padding: 1em;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 10;
+}
+.tox .tox-comment__overlaytext p {
+ background-color: #2b3b4e;
+ box-shadow: 0 0 8px 8px #2b3b4e;
+ color: #fff;
+ text-align: center;
+}
+.tox .tox-comment__overlaytext div:nth-of-type(2) {
+ font-size: 0.8em;
+}
+.tox .tox-comment__busy-spinner {
+ align-items: center;
+ background-color: #2b3b4e;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 20;
+}
+.tox .tox-comment__scroll {
+ display: flex;
+ flex-direction: column;
+ flex-shrink: 1;
+ overflow: auto;
+}
+.tox .tox-conversations {
+ margin: 8px;
+}
+.tox:not([dir=rtl]) .tox-comment__edit {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child,
+.tox:not([dir=rtl]) .tox-comment__edit > *:last-child,
+.tox:not([dir=rtl]) .tox-comment__reply > *:last-child {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-comment__edit {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child,
+.tox[dir=rtl] .tox-comment__edit > *:last-child,
+.tox[dir=rtl] .tox-comment__reply > *:last-child {
+ margin-right: 8px;
+}
+.tox .tox-user {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-user__avatar svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-user__name {
+ color: rgba(255, 255, 255, 0.5);
+ font-size: 12px;
+ font-style: normal;
+ font-weight: bold;
+ text-transform: uppercase;
+}
+.tox:not([dir=rtl]) .tox-user__avatar svg {
+ margin-right: 8px;
+}
+.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-user__avatar svg {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
+ margin-right: 8px;
+}
+.tox .tox-dialog-wrap {
+ align-items: center;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 1100;
+}
+.tox .tox-dialog-wrap__backdrop {
+ background-color: rgba(34, 47, 62, 0.75);
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 1;
+}
+.tox .tox-dialog-wrap__backdrop--opaque {
+ background-color: #222f3e;
+}
+.tox .tox-dialog {
+ background-color: #2b3b4e;
+ border-color: #000000;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: 0 16px 16px -10px rgba(42, 55, 70, 0.15), 0 0 40px 1px rgba(42, 55, 70, 0.15);
+ display: flex;
+ flex-direction: column;
+ max-height: 100%;
+ max-width: 480px;
+ overflow: hidden;
+ position: relative;
+ width: 95vw;
+ z-index: 2;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog {
+ align-self: flex-start;
+ margin: 8px auto;
+ width: calc(100vw - 16px);
+ }
+}
+.tox .tox-dialog-inline {
+ z-index: 1100;
+}
+.tox .tox-dialog__header {
+ align-items: center;
+ background-color: #2b3b4e;
+ border-bottom: none;
+ color: #fff;
+ display: flex;
+ font-size: 16px;
+ justify-content: space-between;
+ padding: 8px 16px 0 16px;
+ position: relative;
+}
+.tox .tox-dialog__header .tox-button {
+ z-index: 1;
+}
+.tox .tox-dialog__draghandle {
+ cursor: grab;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tox .tox-dialog__draghandle:active {
+ cursor: grabbing;
+}
+.tox .tox-dialog__dismiss {
+ margin-left: auto;
+}
+.tox .tox-dialog__title {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ margin: 0;
+ text-transform: none;
+}
+.tox .tox-dialog__body {
+ color: #fff;
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ font-size: 16px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ min-width: 0;
+ text-align: left;
+ text-transform: none;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog__body {
+ flex-direction: column;
+ }
+}
+.tox .tox-dialog__body-nav {
+ align-items: flex-start;
+ display: flex;
+ flex-direction: column;
+ padding: 16px 16px;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
+ flex-direction: row;
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding-bottom: 0;
+ }
+}
+.tox .tox-dialog__body-nav-item {
+ border-bottom: 2px solid transparent;
+ color: rgba(255, 255, 255, 0.5);
+ display: inline-block;
+ font-size: 14px;
+ line-height: 1.3;
+ margin-bottom: 8px;
+ text-decoration: none;
+ white-space: nowrap;
+}
+.tox .tox-dialog__body-nav-item:focus {
+ background-color: rgba(32, 122, 183, 0.1);
+}
+.tox .tox-dialog__body-nav-item--active {
+ border-bottom: 2px solid #207ab7;
+ color: #207ab7;
+}
+.tox .tox-dialog__body-content {
+ box-sizing: border-box;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+ max-height: 650px;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ padding: 16px 16px;
+}
+.tox .tox-dialog__body-content > * {
+ margin-bottom: 0;
+ margin-top: 16px;
+}
+.tox .tox-dialog__body-content > *:first-child {
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content > *:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-dialog__body-content > *:only-child {
+ margin-bottom: 0;
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content a {
+ color: #207ab7;
+ cursor: pointer;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content a:hover,
+.tox .tox-dialog__body-content a:focus {
+ color: #185d8c;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content a:active {
+ color: #185d8c;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content svg {
+ fill: #fff;
+}
+.tox .tox-dialog__body-content ul {
+ display: block;
+ list-style-type: disc;
+ margin-bottom: 16px;
+ -webkit-margin-end: 0;
+ margin-inline-end: 0;
+ -webkit-margin-start: 0;
+ margin-inline-start: 0;
+ -webkit-padding-start: 2.5rem;
+ padding-inline-start: 2.5rem;
+}
+.tox .tox-dialog__body-content .tox-form__group h1 {
+ font-size: 20px;
+ font-weight: bold;
+ margin-bottom: 16px;
+ margin-top: 2rem;
+}
+.tox .tox-dialog__body-content .tox-form__group h2 {
+ font-size: 16px;
+ font-weight: bold;
+ margin-bottom: 16px;
+ margin-top: 2rem;
+}
+.tox .tox-dialog__body-content .tox-form__group p {
+ margin-bottom: 16px;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:first-child,
+.tox .tox-dialog__body-content .tox-form__group h2:first-child,
+.tox .tox-dialog__body-content .tox-form__group p:first-child {
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:last-child,
+.tox .tox-dialog__body-content .tox-form__group h2:last-child,
+.tox .tox-dialog__body-content .tox-form__group p:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:only-child,
+.tox .tox-dialog__body-content .tox-form__group h2:only-child,
+.tox .tox-dialog__body-content .tox-form__group p:only-child {
+ margin-bottom: 0;
+ margin-top: 0;
+}
+.tox .tox-dialog--width-lg {
+ height: 650px;
+ max-width: 1200px;
+}
+.tox .tox-dialog--width-md {
+ max-width: 800px;
+}
+.tox .tox-dialog--width-md .tox-dialog__body-content {
+ overflow: auto;
+}
+.tox .tox-dialog__body-content--centered {
+ text-align: center;
+}
+.tox .tox-dialog__footer {
+ align-items: center;
+ background-color: #2b3b4e;
+ border-top: 1px solid #000000;
+ display: flex;
+ justify-content: space-between;
+ padding: 8px 16px;
+}
+.tox .tox-dialog__footer-start,
+.tox .tox-dialog__footer-end {
+ display: flex;
+}
+.tox .tox-dialog__busy-spinner {
+ align-items: center;
+ background-color: rgba(34, 47, 62, 0.75);
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 3;
+}
+.tox .tox-dialog__table {
+ border-collapse: collapse;
+ width: 100%;
+}
+.tox .tox-dialog__table thead th {
+ font-weight: bold;
+ padding-bottom: 8px;
+}
+.tox .tox-dialog__table tbody tr {
+ border-bottom: 1px solid #000000;
+}
+.tox .tox-dialog__table tbody tr:last-child {
+ border-bottom: none;
+}
+.tox .tox-dialog__table td {
+ padding-bottom: 8px;
+ padding-top: 8px;
+}
+.tox .tox-dialog__popups {
+ position: absolute;
+ width: 100%;
+ z-index: 1100;
+}
+.tox .tox-dialog__body-iframe {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-iframe .tox-navobj {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+}
+.tox .tox-dialog-dock-fadeout {
+ opacity: 0;
+ visibility: hidden;
+}
+.tox .tox-dialog-dock-fadein {
+ opacity: 1;
+ visibility: visible;
+}
+.tox .tox-dialog-dock-transition {
+ transition: visibility 0s linear 0.3s, opacity 0.3s ease;
+}
+.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
+ transition-delay: 0s;
+}
+body.tox-dialog__disable-scroll {
+ overflow: hidden;
+}
+.tox.tox-platform-ie {
+ /* IE11 CSS styles go here */
+}
+.tox.tox-platform-ie .tox-dialog-wrap {
+ position: -ms-device-fixed;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
+ margin-right: 0;
+ }
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
+ margin-left: 8px;
+ }
+}
+.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *,
+.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-dialog__body {
+ text-align: right;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
+ margin-left: 0;
+ }
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
+ margin-right: 8px;
+ }
+}
+.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *,
+.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * {
+ margin-right: 8px;
+}
+.tox .tox-dropzone-container {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dropzone {
+ align-items: center;
+ background: #fff;
+ border: 2px dashed #000000;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ justify-content: center;
+ min-height: 100px;
+ padding: 10px;
+}
+.tox .tox-dropzone p {
+ color: rgba(255, 255, 255, 0.5);
+ margin: 0 0 16px 0;
+}
+.tox .tox-edit-area {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ overflow: hidden;
+ position: relative;
+}
+.tox .tox-edit-area__iframe {
+ background-color: #fff;
+ border: 0;
+ box-sizing: border-box;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+ position: absolute;
+ width: 100%;
+}
+.tox.tox-inline-edit-area {
+ border: 1px dotted #000000;
+}
+.tox .tox-editor-container {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ overflow: hidden;
+}
+.tox .tox-editor-header {
+ z-index: 1;
+}
+.tox:not(.tox-tinymce-inline) .tox-editor-header {
+ box-shadow: none;
+ transition: box-shadow 0.5s;
+}
+.tox.tox-tinymce--toolbar-bottom .tox-editor-header,
+.tox.tox-tinymce-inline .tox-editor-header {
+ margin-bottom: -1px;
+}
+.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header {
+ box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25);
+}
+.tox-editor-dock-fadeout {
+ opacity: 0;
+ visibility: hidden;
+}
+.tox-editor-dock-fadein {
+ opacity: 1;
+ visibility: visible;
+}
+.tox-editor-dock-transition {
+ transition: visibility 0s linear 0.25s, opacity 0.25s ease;
+}
+.tox-editor-dock-transition.tox-editor-dock-fadein {
+ transition-delay: 0s;
+}
+.tox .tox-control-wrap {
+ flex: 1;
+ position: relative;
+}
+.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,
+.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,
+.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid {
+ display: none;
+}
+.tox .tox-control-wrap svg {
+ display: block;
+}
+.tox .tox-control-wrap__status-icon-wrap {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-control-wrap__status-icon-invalid svg {
+ fill: #c00;
+}
+.tox .tox-control-wrap__status-icon-unknown svg {
+ fill: orange;
+}
+.tox .tox-control-wrap__status-icon-valid svg {
+ fill: green;
+}
+.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,
+.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,
+.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield {
+ padding-right: 32px;
+}
+.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap {
+ right: 4px;
+}
+.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,
+.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,
+.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield {
+ padding-left: 32px;
+}
+.tox[dir=rtl] .tox-control-wrap__status-icon-wrap {
+ left: 4px;
+}
+.tox .tox-autocompleter {
+ max-width: 25em;
+}
+.tox .tox-autocompleter .tox-menu {
+ max-width: 25em;
+}
+.tox .tox-autocompleter .tox-autocompleter-highlight {
+ font-weight: bold;
+}
+.tox .tox-color-input {
+ display: flex;
+ position: relative;
+ z-index: 1;
+}
+.tox .tox-color-input .tox-textfield {
+ z-index: -1;
+}
+.tox .tox-color-input span {
+ border-color: rgba(42, 55, 70, 0.2);
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ height: 24px;
+ position: absolute;
+ top: 6px;
+ width: 24px;
+}
+.tox .tox-color-input span:hover:not([aria-disabled=true]),
+.tox .tox-color-input span:focus:not([aria-disabled=true]) {
+ border-color: #207ab7;
+ cursor: pointer;
+}
+.tox .tox-color-input span::before {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%);
+ background-position: 0 0, 0 6px, 6px -6px, -6px 0;
+ background-size: 12px 12px;
+ border: 1px solid #2b3b4e;
+ border-radius: 3px;
+ box-sizing: border-box;
+ content: '';
+ height: 24px;
+ left: -1px;
+ position: absolute;
+ top: -1px;
+ width: 24px;
+ z-index: -1;
+}
+.tox .tox-color-input span[aria-disabled=true] {
+ cursor: not-allowed;
+}
+.tox:not([dir=rtl]) .tox-color-input {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox:not([dir=rtl]) .tox-color-input .tox-textfield {
+ padding-left: 36px;
+}
+.tox:not([dir=rtl]) .tox-color-input span {
+ left: 6px;
+}
+.tox[dir="rtl"] .tox-color-input {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir="rtl"] .tox-color-input .tox-textfield {
+ padding-right: 36px;
+}
+.tox[dir="rtl"] .tox-color-input span {
+ right: 6px;
+}
+.tox .tox-label,
+.tox .tox-toolbar-label {
+ color: rgba(255, 255, 255, 0.5);
+ display: block;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ padding: 0 8px 0 0;
+ text-transform: none;
+ white-space: nowrap;
+}
+.tox .tox-toolbar-label {
+ padding: 0 8px;
+}
+.tox[dir=rtl] .tox-label {
+ padding: 0 0 0 8px;
+}
+.tox .tox-form {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group {
+ box-sizing: border-box;
+ margin-bottom: 4px;
+}
+.tox .tox-form-group--maximize {
+ flex: 1;
+}
+.tox .tox-form__group--error {
+ color: #c00;
+}
+.tox .tox-form__group--collection {
+ display: flex;
+}
+.tox .tox-form__grid {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+.tox .tox-form__grid--2col > .tox-form__group {
+ width: calc(50% - (8px / 2));
+}
+.tox .tox-form__grid--3col > .tox-form__group {
+ width: calc(100% / 3 - (8px / 2));
+}
+.tox .tox-form__grid--4col > .tox-form__group {
+ width: calc(25% - (8px / 2));
+}
+.tox .tox-form__controls-h-stack {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-form__group--inline {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-form__group--stretched {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-textarea {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-navobj {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-navobj :nth-child(2) {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+}
+.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) {
+ margin-right: 4px;
+}
+.tox .tox-lock.tox-locked .tox-lock-icon__unlock,
+.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock {
+ display: none;
+}
+.tox .tox-textfield,
+.tox .tox-toolbar-textfield,
+.tox .tox-selectfield select,
+.tox .tox-textarea {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: #2b3b4e;
+ border-color: #000000;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ color: #fff;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ line-height: 24px;
+ margin: 0;
+ min-height: 34px;
+ outline: none;
+ padding: 5px 4.75px;
+ resize: none;
+ width: 100%;
+}
+.tox .tox-textfield[disabled],
+.tox .tox-textarea[disabled] {
+ background-color: #222f3e;
+ color: rgba(255, 255, 255, 0.85);
+ cursor: not-allowed;
+}
+.tox .tox-textfield:focus,
+.tox .tox-selectfield select:focus,
+.tox .tox-textarea:focus {
+ border-color: #207ab7;
+ box-shadow: none;
+ outline: none;
+}
+.tox .tox-toolbar-textfield {
+ border-width: 0;
+ margin-bottom: 3px;
+ margin-top: 2px;
+ max-width: 250px;
+}
+.tox .tox-naked-btn {
+ background-color: transparent;
+ border: 0;
+ border-color: transparent;
+ box-shadow: unset;
+ color: #207ab7;
+ cursor: pointer;
+ display: block;
+ margin: 0;
+ padding: 0;
+}
+.tox .tox-naked-btn svg {
+ display: block;
+ fill: #fff;
+}
+.tox:not([dir=rtl]) .tox-toolbar-textfield + * {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-toolbar-textfield + * {
+ margin-right: 4px;
+}
+.tox .tox-selectfield {
+ cursor: pointer;
+ position: relative;
+}
+.tox .tox-selectfield select[disabled] {
+ background-color: #19232e;
+ color: rgba(255, 255, 255, 0.85);
+ cursor: not-allowed;
+}
+.tox .tox-selectfield select::-ms-expand {
+ display: none;
+}
+.tox .tox-selectfield svg {
+ pointer-events: none;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox:not([dir=rtl]) .tox-selectfield select[size="0"],
+.tox:not([dir=rtl]) .tox-selectfield select[size="1"] {
+ padding-right: 24px;
+}
+.tox:not([dir=rtl]) .tox-selectfield svg {
+ right: 8px;
+}
+.tox[dir=rtl] .tox-selectfield select[size="0"],
+.tox[dir=rtl] .tox-selectfield select[size="1"] {
+ padding-left: 24px;
+}
+.tox[dir=rtl] .tox-selectfield svg {
+ left: 8px;
+}
+.tox .tox-textarea {
+ -webkit-appearance: textarea;
+ -moz-appearance: textarea;
+ appearance: textarea;
+ white-space: pre-wrap;
+}
+.tox-fullscreen {
+ border: 0;
+ height: 100%;
+ left: 0;
+ margin: 0;
+ overflow: hidden;
+ -ms-scroll-chaining: none;
+ overscroll-behavior: none;
+ padding: 0;
+ position: fixed;
+ top: 0;
+ touch-action: pinch-zoom;
+ width: 100%;
+}
+.tox-fullscreen .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
+ display: none;
+}
+.tox-fullscreen .tox.tox-tinymce.tox-fullscreen {
+ z-index: 1200;
+}
+.tox-fullscreen .tox.tox-tinymce-aux {
+ z-index: 1201;
+}
+.tox .tox-help__more-link {
+ list-style: none;
+ margin-top: 1em;
+}
+.tox .tox-image-tools {
+ width: 100%;
+}
+.tox .tox-image-tools__toolbar {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.tox .tox-image-tools__image {
+ background-color: #666;
+ height: 380px;
+ overflow: auto;
+ position: relative;
+ width: 100%;
+}
+.tox .tox-image-tools__image,
+.tox .tox-image-tools__image + .tox-image-tools__toolbar {
+ margin-top: 8px;
+}
+.tox .tox-image-tools__image-bg {
+ background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==);
+}
+.tox .tox-image-tools__toolbar > .tox-spacer {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-croprect-block {
+ background: black;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+ position: absolute;
+ zoom: 1;
+}
+.tox .tox-croprect-handle {
+ border: 2px solid white;
+ height: 20px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 20px;
+}
+.tox .tox-croprect-handle-move {
+ border: 0;
+ cursor: move;
+ position: absolute;
+}
+.tox .tox-croprect-handle-nw {
+ border-width: 2px 0 0 2px;
+ cursor: nw-resize;
+ left: 100px;
+ margin: -2px 0 0 -2px;
+ top: 100px;
+}
+.tox .tox-croprect-handle-ne {
+ border-width: 2px 2px 0 0;
+ cursor: ne-resize;
+ left: 200px;
+ margin: -2px 0 0 -20px;
+ top: 100px;
+}
+.tox .tox-croprect-handle-sw {
+ border-width: 0 0 2px 2px;
+ cursor: sw-resize;
+ left: 100px;
+ margin: -20px 2px 0 -2px;
+ top: 200px;
+}
+.tox .tox-croprect-handle-se {
+ border-width: 0 2px 2px 0;
+ cursor: se-resize;
+ left: 200px;
+ margin: -20px 0 0 -20px;
+ top: 200px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider {
+ margin-left: 32px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button {
+ margin-left: 32px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider {
+ margin-right: 32px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button {
+ margin-right: 32px;
+}
+.tox .tox-insert-table-picker {
+ display: flex;
+ flex-wrap: wrap;
+ width: 170px;
+}
+.tox .tox-insert-table-picker > div {
+ border-color: #000000;
+ border-style: solid;
+ border-width: 0 1px 1px 0;
+ box-sizing: border-box;
+ height: 17px;
+ width: 17px;
+}
+.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker {
+ margin: -4px 0;
+}
+.tox .tox-insert-table-picker .tox-insert-table-picker__selected {
+ background-color: rgba(32, 122, 183, 0.5);
+ border-color: rgba(32, 122, 183, 0.5);
+}
+.tox .tox-insert-table-picker__label {
+ color: #fff;
+ display: block;
+ font-size: 14px;
+ padding: 4px;
+ text-align: center;
+ width: 100%;
+}
+.tox:not([dir=rtl]) {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) {
+ border-right: 0;
+}
+.tox[dir=rtl] {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) {
+ border-right: 0;
+}
+.tox {
+ /* stylelint-disable */
+ /* stylelint-enable */
+}
+.tox .tox-menu {
+ background-color: #2b3b4e;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1);
+ display: inline-block;
+ overflow: hidden;
+ vertical-align: top;
+ z-index: 1150;
+}
+.tox .tox-menu.tox-collection.tox-collection--list {
+ padding: 0;
+}
+.tox .tox-menu.tox-collection.tox-collection--toolbar {
+ padding: 4px;
+}
+.tox .tox-menu.tox-collection.tox-collection--grid {
+ padding: 4px;
+}
+.tox .tox-menu__label h1,
+.tox .tox-menu__label h2,
+.tox .tox-menu__label h3,
+.tox .tox-menu__label h4,
+.tox .tox-menu__label h5,
+.tox .tox-menu__label h6,
+.tox .tox-menu__label p,
+.tox .tox-menu__label blockquote,
+.tox .tox-menu__label code {
+ margin: 0;
+}
+.tox .tox-menubar {
+ background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;
+ background-color: #222f3e;
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ padding: 0 4px 0 4px;
+}
+.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
+ border-top: 1px solid #000000;
+}
+/* Deprecated. Remove in next major release */
+.tox .tox-mbtn {
+ align-items: center;
+ background: transparent;
+ border: 0;
+ border-radius: 3px;
+ box-shadow: none;
+ color: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ height: 34px;
+ justify-content: center;
+ margin: 2px 0 3px 0;
+ outline: none;
+ overflow: hidden;
+ padding: 0 4px;
+ text-transform: none;
+ width: auto;
+}
+.tox .tox-mbtn[disabled] {
+ background-color: transparent;
+ border: 0;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-mbtn:focus:not(:disabled) {
+ background: #4a5562;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-mbtn--active {
+ background: #757d87;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) {
+ background: #4a5562;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-mbtn__select-label {
+ cursor: default;
+ font-weight: normal;
+ margin: 0 4px;
+}
+.tox .tox-mbtn[disabled] .tox-mbtn__select-label {
+ cursor: not-allowed;
+}
+.tox .tox-mbtn__select-chevron {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ width: 16px;
+ display: none;
+}
+.tox .tox-notification {
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ display: -ms-grid;
+ display: grid;
+ font-size: 14px;
+ font-weight: normal;
+ -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
+ grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
+ margin-top: 4px;
+ opacity: 0;
+ padding: 4px;
+ transition: transform 100ms ease-in, opacity 150ms ease-in;
+}
+.tox .tox-notification p {
+ font-size: 14px;
+ font-weight: normal;
+}
+.tox .tox-notification a {
+ text-decoration: underline;
+}
+.tox .tox-notification--in {
+ opacity: 1;
+}
+.tox .tox-notification--success {
+ background-color: #e4eeda;
+ border-color: #d7e6c8;
+ color: #fff;
+}
+.tox .tox-notification--success p {
+ color: #fff;
+}
+.tox .tox-notification--success a {
+ color: #547831;
+}
+.tox .tox-notification--success svg {
+ fill: #fff;
+}
+.tox .tox-notification--error {
+ background-color: #f8dede;
+ border-color: #f2bfbf;
+ color: #fff;
+}
+.tox .tox-notification--error p {
+ color: #fff;
+}
+.tox .tox-notification--error a {
+ color: #c00;
+}
+.tox .tox-notification--error svg {
+ fill: #fff;
+}
+.tox .tox-notification--warn,
+.tox .tox-notification--warning {
+ background-color: #fffaea;
+ border-color: #ffe89d;
+ color: #fff;
+}
+.tox .tox-notification--warn p,
+.tox .tox-notification--warning p {
+ color: #fff;
+}
+.tox .tox-notification--warn a,
+.tox .tox-notification--warning a {
+ color: #fff;
+}
+.tox .tox-notification--warn svg,
+.tox .tox-notification--warning svg {
+ fill: #fff;
+}
+.tox .tox-notification--info {
+ background-color: #d9edf7;
+ border-color: #779ecb;
+ color: #fff;
+}
+.tox .tox-notification--info p {
+ color: #fff;
+}
+.tox .tox-notification--info a {
+ color: #fff;
+}
+.tox .tox-notification--info svg {
+ fill: #fff;
+}
+.tox .tox-notification__body {
+ -ms-grid-row-align: center;
+ align-self: center;
+ color: #fff;
+ font-size: 14px;
+ -ms-grid-column-span: 1;
+ grid-column-end: 3;
+ -ms-grid-column: 2;
+ grid-column-start: 2;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ text-align: center;
+ white-space: normal;
+ word-break: break-all;
+ word-break: break-word;
+}
+.tox .tox-notification__body > * {
+ margin: 0;
+}
+.tox .tox-notification__body > * + * {
+ margin-top: 1rem;
+}
+.tox .tox-notification__icon {
+ -ms-grid-row-align: center;
+ align-self: center;
+ -ms-grid-column-span: 1;
+ grid-column-end: 2;
+ -ms-grid-column: 1;
+ grid-column-start: 1;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ -ms-grid-column-align: end;
+ justify-self: end;
+}
+.tox .tox-notification__icon svg {
+ display: block;
+}
+.tox .tox-notification__dismiss {
+ -ms-grid-row-align: start;
+ align-self: start;
+ -ms-grid-column-span: 1;
+ grid-column-end: 4;
+ -ms-grid-column: 3;
+ grid-column-start: 3;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ -ms-grid-column-align: end;
+ justify-self: end;
+}
+.tox .tox-notification .tox-progress-bar {
+ -ms-grid-column-span: 3;
+ grid-column-end: 4;
+ -ms-grid-column: 1;
+ grid-column-start: 1;
+ -ms-grid-row-span: 1;
+ grid-row-end: 3;
+ -ms-grid-row: 2;
+ grid-row-start: 2;
+ -ms-grid-column-align: center;
+ justify-self: center;
+}
+.tox .tox-pop {
+ display: inline-block;
+ position: relative;
+}
+.tox .tox-pop--resizing {
+ transition: width 0.1s ease;
+}
+.tox .tox-pop--resizing .tox-toolbar {
+ flex-wrap: nowrap;
+}
+.tox .tox-pop__dialog {
+ background-color: #222f3e;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ min-width: 0;
+ overflow: hidden;
+}
+.tox .tox-pop__dialog > *:not(.tox-toolbar) {
+ margin: 4px 4px 4px 8px;
+}
+.tox .tox-pop__dialog .tox-toolbar {
+ background-color: transparent;
+ margin-bottom: -1px;
+}
+.tox .tox-pop::before,
+.tox .tox-pop::after {
+ border-style: solid;
+ content: '';
+ display: block;
+ height: 0;
+ position: absolute;
+ width: 0;
+}
+.tox .tox-pop.tox-pop--bottom::before,
+.tox .tox-pop.tox-pop--bottom::after {
+ left: 50%;
+ top: 100%;
+}
+.tox .tox-pop.tox-pop--bottom::after {
+ border-color: #222f3e transparent transparent transparent;
+ border-width: 8px;
+ margin-left: -8px;
+ margin-top: -1px;
+}
+.tox .tox-pop.tox-pop--bottom::before {
+ border-color: #000000 transparent transparent transparent;
+ border-width: 9px;
+ margin-left: -9px;
+}
+.tox .tox-pop.tox-pop--top::before,
+.tox .tox-pop.tox-pop--top::after {
+ left: 50%;
+ top: 0;
+ transform: translateY(-100%);
+}
+.tox .tox-pop.tox-pop--top::after {
+ border-color: transparent transparent #222f3e transparent;
+ border-width: 8px;
+ margin-left: -8px;
+ margin-top: 1px;
+}
+.tox .tox-pop.tox-pop--top::before {
+ border-color: transparent transparent #000000 transparent;
+ border-width: 9px;
+ margin-left: -9px;
+}
+.tox .tox-pop.tox-pop--left::before,
+.tox .tox-pop.tox-pop--left::after {
+ left: 0;
+ top: calc(50% - 1px);
+ transform: translateY(-50%);
+}
+.tox .tox-pop.tox-pop--left::after {
+ border-color: transparent #222f3e transparent transparent;
+ border-width: 8px;
+ margin-left: -15px;
+}
+.tox .tox-pop.tox-pop--left::before {
+ border-color: transparent #000000 transparent transparent;
+ border-width: 10px;
+ margin-left: -19px;
+}
+.tox .tox-pop.tox-pop--right::before,
+.tox .tox-pop.tox-pop--right::after {
+ left: 100%;
+ top: calc(50% + 1px);
+ transform: translateY(-50%);
+}
+.tox .tox-pop.tox-pop--right::after {
+ border-color: transparent transparent transparent #222f3e;
+ border-width: 8px;
+ margin-left: -1px;
+}
+.tox .tox-pop.tox-pop--right::before {
+ border-color: transparent transparent transparent #000000;
+ border-width: 10px;
+ margin-left: -1px;
+}
+.tox .tox-pop.tox-pop--align-left::before,
+.tox .tox-pop.tox-pop--align-left::after {
+ left: 20px;
+}
+.tox .tox-pop.tox-pop--align-right::before,
+.tox .tox-pop.tox-pop--align-right::after {
+ left: calc(100% - 20px);
+}
+.tox .tox-sidebar-wrap {
+ display: flex;
+ flex-direction: row;
+ flex-grow: 1;
+ -ms-flex-preferred-size: 0;
+ min-height: 0;
+}
+.tox .tox-sidebar {
+ background-color: #222f3e;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+}
+.tox .tox-sidebar__slider {
+ display: flex;
+ overflow: hidden;
+}
+.tox .tox-sidebar__pane-container {
+ display: flex;
+}
+.tox .tox-sidebar__pane {
+ display: flex;
+}
+.tox .tox-sidebar--sliding-closed {
+ opacity: 0;
+}
+.tox .tox-sidebar--sliding-open {
+ opacity: 1;
+}
+.tox .tox-sidebar--sliding-growing,
+.tox .tox-sidebar--sliding-shrinking {
+ transition: width 0.5s ease, opacity 0.5s ease;
+}
+.tox .tox-selector {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ display: inline-block;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+}
+.tox.tox-platform-touch .tox-selector {
+ height: 12px;
+ width: 12px;
+}
+.tox .tox-slider {
+ align-items: center;
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 24px;
+ justify-content: center;
+ position: relative;
+}
+.tox .tox-slider__rail {
+ background-color: transparent;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ height: 10px;
+ min-width: 120px;
+ width: 100%;
+}
+.tox .tox-slider__handle {
+ background-color: #207ab7;
+ border: 2px solid #185d8c;
+ border-radius: 3px;
+ box-shadow: none;
+ height: 24px;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ width: 14px;
+}
+.tox .tox-source-code {
+ overflow: auto;
+}
+.tox .tox-spinner {
+ display: flex;
+}
+.tox .tox-spinner > div {
+ animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both;
+ background-color: rgba(255, 255, 255, 0.5);
+ border-radius: 100%;
+ height: 8px;
+ width: 8px;
+}
+.tox .tox-spinner > div:nth-child(1) {
+ animation-delay: -0.32s;
+}
+.tox .tox-spinner > div:nth-child(2) {
+ animation-delay: -0.16s;
+}
+@keyframes tam-bouncing-dots {
+ 0%,
+ 80%,
+ 100% {
+ transform: scale(0);
+ }
+ 40% {
+ transform: scale(1);
+ }
+}
+.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-spinner > div:not(:first-child) {
+ margin-right: 4px;
+}
+.tox .tox-statusbar {
+ align-items: center;
+ background-color: #222f3e;
+ border-top: 1px solid #000000;
+ color: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 12px;
+ font-weight: normal;
+ height: 18px;
+ overflow: hidden;
+ padding: 0 8px;
+ position: relative;
+ text-transform: uppercase;
+}
+.tox .tox-statusbar__text-container {
+ display: flex;
+ flex: 1 1 auto;
+ justify-content: flex-end;
+ overflow: hidden;
+}
+.tox .tox-statusbar__path {
+ display: flex;
+ flex: 1 1 auto;
+ margin-right: auto;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tox .tox-statusbar__path > * {
+ display: inline;
+ white-space: nowrap;
+}
+.tox .tox-statusbar__wordcount {
+ flex: 0 0 auto;
+ margin-left: 1ch;
+}
+.tox .tox-statusbar a,
+.tox .tox-statusbar__path-item,
+.tox .tox-statusbar__wordcount {
+ color: #fff;
+ text-decoration: none;
+}
+.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) {
+ cursor: pointer;
+ text-decoration: underline;
+}
+.tox .tox-statusbar__resize-handle {
+ align-items: flex-end;
+ align-self: stretch;
+ cursor: nwse-resize;
+ display: flex;
+ flex: 0 0 auto;
+ justify-content: flex-end;
+ margin-left: auto;
+ margin-right: -8px;
+ padding-left: 1ch;
+}
+.tox .tox-statusbar__resize-handle svg {
+ display: block;
+ fill: #fff;
+}
+.tox:not([dir=rtl]) .tox-statusbar__path > * {
+ margin-right: 4px;
+}
+.tox:not([dir=rtl]) .tox-statusbar__branding {
+ margin-left: 1ch;
+}
+.tox[dir=rtl] .tox-statusbar {
+ flex-direction: row-reverse;
+}
+.tox[dir=rtl] .tox-statusbar__path > * {
+ margin-left: 4px;
+}
+.tox .tox-throbber {
+ z-index: 1400;
+}
+.tox .tox-throbber__busy-spinner {
+ align-items: center;
+ background-color: rgba(34, 47, 62, 0.6);
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.tox .tox-tbtn {
+ align-items: center;
+ background: transparent;
+ border: 0;
+ border-radius: 3px;
+ box-shadow: none;
+ color: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ height: 34px;
+ justify-content: center;
+ margin: 2px 0 3px 0;
+ outline: none;
+ overflow: hidden;
+ padding: 0;
+ text-transform: none;
+ width: 34px;
+}
+.tox .tox-tbtn svg {
+ display: block;
+ fill: #fff;
+}
+.tox .tox-tbtn.tox-tbtn-more {
+ padding-left: 5px;
+ padding-right: 5px;
+ width: inherit;
+}
+.tox .tox-tbtn:focus {
+ background: #4a5562;
+ border: 0;
+ box-shadow: none;
+}
+.tox .tox-tbtn:hover {
+ background: #4a5562;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-tbtn:hover svg {
+ fill: #fff;
+}
+.tox .tox-tbtn:active {
+ background: #757d87;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-tbtn:active svg {
+ fill: #fff;
+}
+.tox .tox-tbtn--disabled,
+.tox .tox-tbtn--disabled:hover,
+.tox .tox-tbtn:disabled,
+.tox .tox-tbtn:disabled:hover {
+ background: transparent;
+ border: 0;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-tbtn--disabled svg,
+.tox .tox-tbtn--disabled:hover svg,
+.tox .tox-tbtn:disabled svg,
+.tox .tox-tbtn:disabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-tbtn--enabled,
+.tox .tox-tbtn--enabled:hover {
+ background: #757d87;
+ border: 0;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-tbtn--enabled > *,
+.tox .tox-tbtn--enabled:hover > * {
+ transform: none;
+}
+.tox .tox-tbtn--enabled svg,
+.tox .tox-tbtn--enabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: #fff;
+}
+.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) {
+ color: #fff;
+}
+.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg {
+ fill: #fff;
+}
+.tox .tox-tbtn:active > * {
+ transform: none;
+}
+.tox .tox-tbtn--md {
+ height: 51px;
+ width: 51px;
+}
+.tox .tox-tbtn--lg {
+ flex-direction: column;
+ height: 68px;
+ width: 68px;
+}
+.tox .tox-tbtn--return {
+ -ms-grid-row-align: stretch;
+ align-self: stretch;
+ height: unset;
+ width: 16px;
+}
+.tox .tox-tbtn--labeled {
+ padding: 0 4px;
+ width: unset;
+}
+.tox .tox-tbtn__vlabel {
+ display: block;
+ font-size: 10px;
+ font-weight: normal;
+ letter-spacing: -0.025em;
+ margin-bottom: 4px;
+ white-space: nowrap;
+}
+.tox .tox-tbtn--select {
+ margin: 2px 0 3px 0;
+ padding: 0 4px;
+ width: auto;
+}
+.tox .tox-tbtn__select-label {
+ cursor: default;
+ font-weight: normal;
+ margin: 0 4px;
+}
+.tox .tox-tbtn__select-chevron {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ width: 16px;
+}
+.tox .tox-tbtn__select-chevron svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-tbtn--bespoke .tox-tbtn__select-label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 7em;
+}
+.tox .tox-split-button {
+ border: 0;
+ border-radius: 3px;
+ box-sizing: border-box;
+ display: flex;
+ margin: 2px 0 3px 0;
+ overflow: hidden;
+}
+.tox .tox-split-button:hover {
+ box-shadow: 0 0 0 1px #4a5562 inset;
+}
+.tox .tox-split-button:focus {
+ background: #4a5562;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-split-button > * {
+ border-radius: 0;
+}
+.tox .tox-split-button__chevron {
+ width: 16px;
+}
+.tox .tox-split-button__chevron svg {
+ fill: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-split-button .tox-tbtn {
+ margin: 0;
+}
+.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child {
+ width: 30px;
+}
+.tox.tox-platform-touch .tox-split-button__chevron {
+ width: 20px;
+}
+.tox .tox-split-button.tox-tbtn--disabled:hover,
+.tox .tox-split-button.tox-tbtn--disabled:focus,
+.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,
+.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus {
+ background: transparent;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+}
+.tox .tox-toolbar-overlord {
+ background-color: #222f3e;
+}
+.tox .tox-toolbar,
+.tox .tox-toolbar__primary,
+.tox .tox-toolbar__overflow {
+ background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;
+ background-color: #222f3e;
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ padding: 0 0;
+}
+.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed {
+ height: 0;
+ opacity: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+ visibility: hidden;
+}
+.tox .tox-toolbar__overflow--growing {
+ transition: height 0.3s ease, opacity 0.2s linear 0.1s;
+}
+.tox .tox-toolbar__overflow--shrinking {
+ transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
+}
+.tox .tox-menubar + .tox-toolbar,
+.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {
+ border-top: 1px solid #000000;
+ margin-top: -1px;
+}
+.tox .tox-toolbar--scrolling {
+ flex-wrap: nowrap;
+ overflow-x: auto;
+}
+.tox .tox-pop .tox-toolbar {
+ border-width: 0;
+}
+.tox .tox-toolbar--no-divider {
+ background-image: none;
+}
+.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child,
+.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary {
+ border-top: 1px solid #000000;
+}
+.tox.tox-tinymce-aux .tox-toolbar__overflow {
+ background-color: #222f3e;
+ border: 1px solid #000000;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+}
+.tox[dir=rtl] .tox-tbtn__icon-rtl svg {
+ transform: rotateY(180deg);
+}
+.tox .tox-toolbar__group {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 0;
+ padding: 0 4px 0 4px;
+}
+.tox .tox-toolbar__group--pull-right {
+ margin-left: auto;
+}
+.tox .tox-toolbar--scrolling .tox-toolbar__group {
+ flex-shrink: 0;
+ flex-wrap: nowrap;
+}
+.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) {
+ border-right: 1px solid #000000;
+}
+.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) {
+ border-left: 1px solid #000000;
+}
+.tox .tox-tooltip {
+ display: inline-block;
+ padding: 8px;
+ position: relative;
+}
+.tox .tox-tooltip__body {
+ background-color: #3d546f;
+ border-radius: 3px;
+ box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3);
+ color: rgba(255, 255, 255, 0.75);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ padding: 4px 8px;
+ text-transform: none;
+}
+.tox .tox-tooltip__arrow {
+ position: absolute;
+}
+.tox .tox-tooltip--down .tox-tooltip__arrow {
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-top: 8px solid #3d546f;
+ bottom: 0;
+ left: 50%;
+ position: absolute;
+ transform: translateX(-50%);
+}
+.tox .tox-tooltip--up .tox-tooltip__arrow {
+ border-bottom: 8px solid #3d546f;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ left: 50%;
+ position: absolute;
+ top: 0;
+ transform: translateX(-50%);
+}
+.tox .tox-tooltip--right .tox-tooltip__arrow {
+ border-bottom: 8px solid transparent;
+ border-left: 8px solid #3d546f;
+ border-top: 8px solid transparent;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-tooltip--left .tox-tooltip__arrow {
+ border-bottom: 8px solid transparent;
+ border-right: 8px solid #3d546f;
+ border-top: 8px solid transparent;
+ left: 0;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-well {
+ border: 1px solid #000000;
+ border-radius: 3px;
+ padding: 8px;
+ width: 100%;
+}
+.tox .tox-well > *:first-child {
+ margin-top: 0;
+}
+.tox .tox-well > *:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-well > *:only-child {
+ margin: 0;
+}
+.tox .tox-custom-editor {
+ border: 1px solid #000000;
+ border-radius: 3px;
+ display: flex;
+ flex: 1;
+ position: relative;
+}
+/* stylelint-disable */
+.tox {
+ /* stylelint-enable */
+}
+.tox .tox-dialog-loading::before {
+ background-color: rgba(0, 0, 0, 0.5);
+ content: "";
+ height: 100%;
+ position: absolute;
+ width: 100%;
+ z-index: 1000;
+}
+.tox .tox-tab {
+ cursor: pointer;
+}
+.tox .tox-dialog__content-js {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-content .tox-collection {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-image-tools-edit-panel {
+ height: 60px;
+}
+.tox .tox-image-tools__sidebar {
+ height: 60px;
+}
diff --git a/public/tinymce/skins/ui/oxide-dark/skin.min.css b/public/tinymce/skins/ui/oxide-dark/skin.min.css
new file mode 100644
index 00000000..db3d09fa
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/skin.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tox{box-sizing:content-box;color:#2a3746;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #000;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{border:1px solid #000;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #000;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#000;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.5);border-color:#207ab7;color:#fff}.tox .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:#207ab7}.tox .accessibility-issue--info h2{color:#fff}.tox .accessibility-issue--info .tox-icon svg{fill:#fff}.tox .accessibility-issue--info a .tox-icon{color:#fff}.tox .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.5);border-color:rgba(255,165,0,.8);color:#fff}.tox .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.8)}.tox .accessibility-issue--warn h2{color:#fff}.tox .accessibility-issue--warn .tox-icon svg{fill:#fff}.tox .accessibility-issue--warn a .tox-icon{color:#fff}.tox .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.5);border-color:rgba(204,0,0,.8);color:#fff}.tox .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.8)}.tox .accessibility-issue--error h2{color:#fff}.tox .accessibility-issue--error .tox-icon svg{fill:#fff}.tox .accessibility-issue--error a .tox-icon{color:#fff}.tox .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);border-color:rgba(120,171,70,.8);color:#fff}.tox .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.8)}.tox .accessibility-issue--success h2{color:#fff}.tox .accessibility-issue--success .tox-icon svg{fill:#fff}.tox .accessibility-issue--success a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:capitalize;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#3d546f;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#3d546f;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#fff;outline:0;padding:4px 16px;text-decoration:none;text-transform:capitalize}.tox .tox-button--secondary[disabled]{background-color:#3d546f;background-image:none;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:hover:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:active:not(:disabled){background-color:#2b3b4e;background-image:none;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#fff}.tox .tox-button--naked[disabled]{background-color:#3d546f;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:focus:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:active:not(:disabled){background-color:#2b3b4e;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#fff}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(255,255,255,.2)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(255,255,255,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#1a1a1a;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#333;color:#fff;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#fff;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(255,255,255,.5);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#fff}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid #1a1a1a;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #000}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #000}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#4a5562}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#2b3b4e;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(255,255,255,.5);font-size:12px}.tox .tox-comment__body{color:#fff;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#2b3b4e;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(43,59,78,0),#2b3b4e);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#2b3b4e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#2b3b4e;box-shadow:0 0 8px 8px #2b3b4e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#2b3b4e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,.5)}.tox .tox-user__name{color:rgba(255,255,255,.5);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{font-size:20px;font-weight:700;margin-bottom:16px;margin-top:2rem}.tox .tox-dialog__body-content .tox-form__group h2{font-size:16px;font-weight:700;margin-bottom:16px;margin-top:2rem}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:1px solid #000;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}body.tox-dialog__disable-scroll{overflow:hidden}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #000;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #000}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(42,55,70,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-selectfield select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox-fullscreen .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-fullscreen .tox.tox-tinymce.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#000;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #000}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn--active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#fff}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fff}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#fff}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#fff;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#000 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #000 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #000 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #000;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#222f3e;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #000;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid #000;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#fff;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:#fff}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1400}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#fff}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#4a5562;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #4a5562 inset}.tox .tox-split-button:focus{background:#4a5562;box-shadow:none;color:#fff}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #000;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #000}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #000}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #000}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#3d546f;border-radius:3px;box-shadow:0 2px 4px rgba(42,55,70,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #3d546f;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #3d546f;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #3d546f;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #3d546f;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #000;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #000;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px}
diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css
new file mode 100644
index 00000000..875721a2
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css
@@ -0,0 +1,673 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+/* RESET all the things! */
+.tinymce-mobile-outer-container {
+ all: initial;
+ display: block;
+}
+.tinymce-mobile-outer-container * {
+ border: 0;
+ box-sizing: initial;
+ cursor: inherit;
+ float: none;
+ line-height: 1;
+ margin: 0;
+ outline: 0;
+ padding: 0;
+ -webkit-tap-highlight-color: transparent;
+ /* TBIO-3691, stop the gray flicker on touch. */
+ text-shadow: none;
+ white-space: nowrap;
+}
+.tinymce-mobile-icon-arrow-back::before {
+ content: "\e5cd";
+}
+.tinymce-mobile-icon-image::before {
+ content: "\e412";
+}
+.tinymce-mobile-icon-cancel-circle::before {
+ content: "\e5c9";
+}
+.tinymce-mobile-icon-full-dot::before {
+ content: "\e061";
+}
+.tinymce-mobile-icon-align-center::before {
+ content: "\e234";
+}
+.tinymce-mobile-icon-align-left::before {
+ content: "\e236";
+}
+.tinymce-mobile-icon-align-right::before {
+ content: "\e237";
+}
+.tinymce-mobile-icon-bold::before {
+ content: "\e238";
+}
+.tinymce-mobile-icon-italic::before {
+ content: "\e23f";
+}
+.tinymce-mobile-icon-unordered-list::before {
+ content: "\e241";
+}
+.tinymce-mobile-icon-ordered-list::before {
+ content: "\e242";
+}
+.tinymce-mobile-icon-font-size::before {
+ content: "\e245";
+}
+.tinymce-mobile-icon-underline::before {
+ content: "\e249";
+}
+.tinymce-mobile-icon-link::before {
+ content: "\e157";
+}
+.tinymce-mobile-icon-unlink::before {
+ content: "\eca2";
+}
+.tinymce-mobile-icon-color::before {
+ content: "\e891";
+}
+.tinymce-mobile-icon-previous::before {
+ content: "\e314";
+}
+.tinymce-mobile-icon-next::before {
+ content: "\e315";
+}
+.tinymce-mobile-icon-large-font::before,
+.tinymce-mobile-icon-style-formats::before {
+ content: "\e264";
+}
+.tinymce-mobile-icon-undo::before {
+ content: "\e166";
+}
+.tinymce-mobile-icon-redo::before {
+ content: "\e15a";
+}
+.tinymce-mobile-icon-removeformat::before {
+ content: "\e239";
+}
+.tinymce-mobile-icon-small-font::before {
+ content: "\e906";
+}
+.tinymce-mobile-icon-readonly-back::before,
+.tinymce-mobile-format-matches::after {
+ content: "\e5ca";
+}
+.tinymce-mobile-icon-small-heading::before {
+ content: "small";
+}
+.tinymce-mobile-icon-large-heading::before {
+ content: "large";
+}
+.tinymce-mobile-icon-small-heading::before,
+.tinymce-mobile-icon-large-heading::before {
+ font-family: sans-serif;
+ font-size: 80%;
+}
+.tinymce-mobile-mask-edit-icon::before {
+ content: "\e254";
+}
+.tinymce-mobile-icon-back::before {
+ content: "\e5c4";
+}
+.tinymce-mobile-icon-heading::before {
+ /* TODO: Translate */
+ content: "Headings";
+ font-family: sans-serif;
+ font-size: 80%;
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h1::before {
+ content: "H1";
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h2::before {
+ content: "H2";
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h3::before {
+ content: "H3";
+ font-weight: bold;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ background: rgba(51, 51, 51, 0.5);
+ height: 100%;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container {
+ align-items: center;
+ border-radius: 50%;
+ display: flex;
+ flex-direction: column;
+ font-family: sans-serif;
+ font-size: 1em;
+ justify-content: space-between;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ border-radius: 50%;
+ height: 2.1em;
+ width: 2.1em;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ font-size: 1em;
+}
+@media only screen and (min-device-width:700px) {
+ .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
+ font-size: 1.2em;
+ }
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ border-radius: 50%;
+ height: 2.1em;
+ width: 2.1em;
+ background-color: white;
+ color: #207ab7;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before {
+ content: "\e900";
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon {
+ z-index: 2;
+}
+.tinymce-mobile-android-container.tinymce-mobile-android-maximized {
+ background: #ffffff;
+ border: none;
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+}
+.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) {
+ position: relative;
+}
+.tinymce-mobile-android-container .tinymce-mobile-editor-socket {
+ display: flex;
+ flex-grow: 1;
+}
+.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe {
+ display: flex !important;
+ flex-grow: 1;
+ height: auto !important;
+}
+.tinymce-mobile-android-scroll-reload {
+ overflow: hidden;
+}
+:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar {
+ margin-top: 23px;
+}
+.tinymce-mobile-toolstrip {
+ background: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ z-index: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar {
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 1px solid #cccccc;
+ display: flex;
+ flex: 1;
+ height: 2.5em;
+ width: 100%;
+ /* Make it no larger than the toolstrip, so that it needs to scroll */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex-shrink: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container {
+ background: #f44336;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group {
+ flex-grow: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button {
+ align-items: center;
+ display: flex;
+ height: 80%;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected {
+ background: #c8cbcf;
+ color: #cccccc;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type {
+ background: #207ab7;
+ color: #eceff1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar {
+ /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+ padding-bottom: 0.4em;
+ padding-top: 0.4em;
+ /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */
+ /* For widgets like the colour picker, use the whole height */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog {
+ display: flex;
+ min-height: 1.5em;
+ overflow: hidden;
+ padding-left: 0;
+ padding-right: 0;
+ position: relative;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain {
+ display: flex;
+ height: 100%;
+ transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen {
+ display: flex;
+ flex: 0 0 auto;
+ justify-content: space-between;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input {
+ font-family: Sans-serif;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container {
+ display: flex;
+ flex-grow: 1;
+ position: relative;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x {
+ -ms-grid-row-align: center;
+ align-self: center;
+ background: inherit;
+ border: none;
+ border-radius: 50%;
+ color: #888;
+ font-size: 0.6em;
+ font-weight: bold;
+ height: 100%;
+ padding-right: 2px;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x {
+ display: none;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next {
+ align-items: center;
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before {
+ align-items: center;
+ display: flex;
+ font-weight: bold;
+ height: 100%;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before {
+ visibility: hidden;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item {
+ color: #cccccc;
+ font-size: 10px;
+ line-height: 10px;
+ margin: 0 2px;
+ padding-top: 3px;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active {
+ color: #c8cbcf;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before {
+ margin-left: 0.5em;
+ margin-right: 0.9em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before {
+ margin-left: 0.9em;
+ margin-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider {
+ display: flex;
+ flex: 1;
+ margin-left: 0;
+ margin-right: 0;
+ padding: 0.28em 0;
+ position: relative;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container {
+ align-items: center;
+ display: flex;
+ flex-grow: 1;
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line {
+ background: #cccccc;
+ display: flex;
+ flex: 1;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container {
+ align-items: center;
+ display: flex;
+ flex-grow: 1;
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient {
+ background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%);
+ display: flex;
+ flex: 1;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black {
+ /* Not part of theming */
+ background: black;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+ width: 1.2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white {
+ /* Not part of theming */
+ background: white;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+ width: 1.2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb {
+ /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave
+ * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is
+ * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without
+ * this approach.
+ */
+ align-items: center;
+ background-clip: padding-box;
+ background-color: #455a64;
+ border: 0.5em solid rgba(136, 136, 136, 0);
+ border-radius: 3em;
+ bottom: 0;
+ color: #fff;
+ display: flex;
+ height: 0.5em;
+ justify-content: center;
+ left: -10px;
+ margin: auto;
+ position: absolute;
+ top: 0;
+ transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1);
+ width: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active {
+ border: 0.5em solid rgba(136, 136, 136, 0.39);
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper {
+ flex-direction: column;
+ justify-content: center;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
+ align-items: center;
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) {
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container {
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input {
+ background: #ffffff;
+ border: none;
+ border-radius: 0;
+ color: #455a64;
+ flex-grow: 1;
+ font-size: 0.85em;
+ padding-bottom: 0.1em;
+ padding-left: 5px;
+ padding-top: 0.1em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder {
+ /* WebKit, Blink, Edge */
+ color: #888;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder {
+ /* WebKit, Blink, Edge */
+ color: #888;
+}
+/* dropup */
+.tinymce-mobile-dropup {
+ background: white;
+ display: flex;
+ overflow: hidden;
+ width: 100%;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking {
+ transition: height 0.3s ease-out;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-growing {
+ transition: height 0.3s ease-in;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-closed {
+ flex-grow: 0;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) {
+ flex-grow: 1;
+}
+/* TODO min-height for device size and orientation */
+.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 200px;
+}
+@media only screen and (orientation: landscape) {
+ .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 200px;
+ }
+}
+@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
+ .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 150px;
+ }
+}
+/* styles menu */
+.tinymce-mobile-styles-menu {
+ font-family: sans-serif;
+ outline: 4px solid black;
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+}
+.tinymce-mobile-styles-menu [role="menu"] {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ position: absolute;
+ width: 100%;
+}
+.tinymce-mobile-styles-menu [role="menu"].transitioning {
+ transition: transform 0.5s ease-in-out;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item {
+ border-bottom: 1px solid #ddd;
+ color: #455a64;
+ cursor: pointer;
+ display: flex;
+ padding: 1em 1em;
+ position: relative;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before {
+ color: #455a64;
+ content: "\e314";
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after {
+ color: #455a64;
+ content: "\e315";
+ font-family: 'tinymce-mobile', sans-serif;
+ padding-left: 1em;
+ padding-right: 1em;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after {
+ font-family: 'tinymce-mobile', sans-serif;
+ padding-left: 1em;
+ padding-right: 1em;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser {
+ align-items: center;
+ background: #fff;
+ border-top: #455a64;
+ color: #455a64;
+ display: flex;
+ min-height: 2.5em;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="before"] {
+ transform: translate(-100%);
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="current"] {
+ transform: translate(0%);
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="after"] {
+ transform: translate(100%);
+}
+@font-face {
+ font-family: 'tinymce-mobile';
+ font-style: normal;
+ font-weight: normal;
+ src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff');
+}
+@media (min-device-width: 700px) {
+ .tinymce-mobile-outer-container,
+ .tinymce-mobile-outer-container input {
+ font-size: 25px;
+ }
+}
+@media (max-device-width: 700px) {
+ .tinymce-mobile-outer-container,
+ .tinymce-mobile-outer-container input {
+ font-size: 18px;
+ }
+}
+.tinymce-mobile-icon {
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.mixin-flex-and-centre {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.mixin-flex-bar {
+ align-items: center;
+ display: flex;
+ height: 100%;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe {
+ background-color: #fff;
+ width: 100%;
+}
+.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */
+ background-color: #207ab7;
+ border-radius: 50%;
+ bottom: 1em;
+ color: white;
+ font-size: 1em;
+ height: 2.1em;
+ position: fixed;
+ right: 2em;
+ width: 2.1em;
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+@media only screen and (min-device-width:700px) {
+ .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ font-size: 1.2em;
+ }
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket {
+ height: 300px;
+ overflow: hidden;
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe {
+ height: 100%;
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip {
+ display: none;
+}
+/*
+ Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets
+ increased and the whole body becomes scrollable. It's important!
+ */
+input[type="file"]::-webkit-file-upload-button {
+ display: none;
+}
+@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
+ .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ bottom: 50%;
+ }
+}
diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
new file mode 100644
index 00000000..3a45cacf
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
diff --git a/public/tinymce/skins/ui/oxide/content.css b/public/tinymce/skins/ui/oxide/content.css
new file mode 100644
index 00000000..a15f08fd
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.css
@@ -0,0 +1,695 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ cursor: default;
+ display: inline-block;
+ height: 12px !important;
+ padding: 0 2px;
+ -webkit-user-modify: read-only;
+ -moz-user-modify: read-only;
+ -webkit-user-select: all;
+ -moz-user-select: all;
+ -ms-user-select: all;
+ user-select: all;
+ width: 8px !important;
+}
+.mce-content-body .mce-item-anchor[data-mce-selected] {
+ outline-offset: 1px;
+}
+.tox-comments-visible .tox-comment {
+ background-color: #fff0b7;
+}
+.tox-comments-visible .tox-comment--active {
+ background-color: #ffe168;
+}
+.tox-checklist > li:not(.tox-checklist--hidden) {
+ list-style: none;
+ margin: 0.25em 0;
+}
+.tox-checklist > li:not(.tox-checklist--hidden)::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+ background-size: 100%;
+ content: '';
+ cursor: pointer;
+ height: 1em;
+ margin-left: -1.5em;
+ margin-top: 0.125em;
+ position: absolute;
+ width: 1em;
+}
+.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+}
+[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
+ margin-left: 0;
+ margin-right: -1.5em;
+}
+/* stylelint-disable */
+/* http://prismjs.com/ */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ background: none;
+ text-shadow: 0 1px white;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1em;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+}
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #f5f2f0;
+}
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+ white-space: normal;
+}
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+.token.punctuation {
+ color: #999;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #905;
+}
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #690;
+}
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #9a6e3a;
+ background: hsla(0, 0%, 100%, 0.5);
+}
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+.token.function,
+.token.class-name {
+ color: #DD4A68;
+}
+.token.regex,
+.token.important,
+.token.variable {
+ color: #e90;
+}
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.entity {
+ cursor: help;
+}
+/* stylelint-enable */
+.mce-content-body {
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.mce-content-body .mce-visual-caret {
+ background-color: black;
+ background-color: currentColor;
+ position: absolute;
+}
+.mce-content-body .mce-visual-caret-hidden {
+ display: none;
+}
+.mce-content-body *[data-mce-caret] {
+ left: -1000px;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+ right: auto;
+ top: 0;
+}
+.mce-content-body .mce-offscreen-selection {
+ left: -2000000px;
+ max-width: 1000000px;
+ position: absolute;
+}
+.mce-content-body *[contentEditable=false] {
+ cursor: default;
+}
+.mce-content-body *[contentEditable=true] {
+ cursor: text;
+}
+.tox-cursor-format-painter {
+ cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
+}
+.mce-content-body figure.align-left {
+ float: left;
+}
+.mce-content-body figure.align-right {
+ float: right;
+}
+.mce-content-body figure.image.align-center {
+ display: table;
+ margin-left: auto;
+ margin-right: auto;
+}
+.mce-preview-object {
+ border: 1px solid gray;
+ display: inline-block;
+ line-height: 0;
+ margin: 0 2px 0 2px;
+ position: relative;
+}
+.mce-preview-object .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-preview-object[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.mce-object {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ border: 1px dashed #aaa;
+}
+.mce-pagebreak {
+ border: 1px dashed #aaa;
+ cursor: default;
+ display: block;
+ height: 5px;
+ margin-top: 15px;
+ page-break-before: always;
+ width: 100%;
+}
+@media print {
+ .mce-pagebreak {
+ border: 0;
+ }
+}
+.tiny-pageembed .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tiny-pageembed[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.tiny-pageembed {
+ display: inline-block;
+ position: relative;
+}
+.tiny-pageembed--21by9,
+.tiny-pageembed--16by9,
+.tiny-pageembed--4by3,
+.tiny-pageembed--1by1 {
+ display: block;
+ overflow: hidden;
+ padding: 0;
+ position: relative;
+ width: 100%;
+}
+.tiny-pageembed--21by9 {
+ padding-top: 42.857143%;
+}
+.tiny-pageembed--16by9 {
+ padding-top: 56.25%;
+}
+.tiny-pageembed--4by3 {
+ padding-top: 75%;
+}
+.tiny-pageembed--1by1 {
+ padding-top: 100%;
+}
+.tiny-pageembed--21by9 iframe,
+.tiny-pageembed--16by9 iframe,
+.tiny-pageembed--4by3 iframe,
+.tiny-pageembed--1by1 iframe {
+ border: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-content-body[data-mce-placeholder] {
+ position: relative;
+}
+.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ color: rgba(34, 47, 62, 0.7);
+ content: attr(data-mce-placeholder);
+ position: absolute;
+}
+.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ left: 1px;
+}
+.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
+ right: 1px;
+}
+.mce-content-body div.mce-resizehandle {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+ z-index: 10000;
+}
+.mce-content-body div.mce-resizehandle:hover {
+ background-color: #4099ff;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(1) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(2) {
+ cursor: nesw-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(3) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(4) {
+ cursor: nesw-resize;
+}
+.mce-content-body .mce-clonedresizable {
+ opacity: 0.5;
+ outline: 1px dashed black;
+ position: absolute;
+ z-index: 10000;
+}
+.mce-content-body .mce-resize-helper {
+ background: #555;
+ background: rgba(0, 0, 0, 0.75);
+ border: 1px;
+ border-radius: 3px;
+ color: white;
+ display: none;
+ font-family: sans-serif;
+ font-size: 12px;
+ line-height: 14px;
+ margin: 5px 10px;
+ padding: 5px;
+ position: absolute;
+ white-space: nowrap;
+ z-index: 10001;
+}
+.tox-rtc-user-selection {
+ position: relative;
+}
+.tox-rtc-user-cursor {
+ bottom: 0;
+ cursor: default;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+.tox-rtc-user-cursor::before {
+ background-color: inherit;
+ border-radius: 50%;
+ content: '';
+ display: block;
+ height: 8px;
+ position: absolute;
+ right: -3px;
+ top: -3px;
+ width: 8px;
+}
+.tox-rtc-user-cursor:hover::after {
+ background-color: inherit;
+ border-radius: 100px;
+ box-sizing: border-box;
+ color: #fff;
+ content: attr(data-user);
+ display: block;
+ font-size: 12px;
+ font-weight: bold;
+ left: -5px;
+ min-height: 8px;
+ min-width: 8px;
+ padding: 0 12px;
+ position: absolute;
+ top: -11px;
+ white-space: nowrap;
+ z-index: 1000;
+}
+.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
+ background-color: #2dc26b;
+}
+.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
+ background-color: #e03e2d;
+}
+.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
+ background-color: #f1c40f;
+}
+.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
+ background-color: #3598db;
+}
+.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
+ background-color: #b96ad9;
+}
+.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
+ background-color: #e67e23;
+}
+.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
+ background-color: #aaa69d;
+}
+.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
+ background-color: #f368e0;
+}
+.tox-rtc-remote-image {
+ background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
+ border: 1px solid #ccc;
+ min-height: 240px;
+ min-width: 320px;
+}
+.mce-match-marker {
+ background: #aaa;
+ color: #fff;
+}
+.mce-match-marker-selected {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::-moz-selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-content-body img[data-mce-selected],
+.mce-content-body table[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body hr[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+ outline-offset: 1px;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false][data-mce-selected] {
+ cursor: not-allowed;
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
+.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
+ outline: none;
+}
+.mce-content-body *[data-mce-selected="inline-boundary"] {
+ background-color: #b4d7ff;
+}
+.mce-content-body .mce-edit-focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body td[data-mce-selected],
+.mce-content-body th[data-mce-selected] {
+ background-color: #b4d7ff !important;
+}
+.mce-content-body td[data-mce-selected]::-moz-selection,
+.mce-content-body th[data-mce-selected]::-moz-selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected]::selection,
+.mce-content-body th[data-mce-selected]::selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected] *,
+.mce-content-body th[data-mce-selected] * {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.mce-content-body img::-moz-selection {
+ background: none;
+}
+.mce-content-body img::selection {
+ background: none;
+}
+.ephox-snooker-resizer-bar {
+ background-color: #b4d7ff;
+ opacity: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ephox-snooker-resizer-cols {
+ cursor: col-resize;
+}
+.ephox-snooker-resizer-rows {
+ cursor: row-resize;
+}
+.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
+ opacity: 1;
+}
+.mce-spellchecker-word {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+ height: 2rem;
+}
+.mce-spellchecker-grammar {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+}
+.mce-toc {
+ border: 1px solid gray;
+}
+.mce-toc h2 {
+ margin: 4px;
+}
+.mce-toc li {
+ list-style-type: none;
+}
+.mce-item-table,
+.mce-item-table td,
+.mce-item-table th,
+.mce-item-table caption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks p,
+.mce-visualblocks h1,
+.mce-visualblocks h2,
+.mce-visualblocks h3,
+.mce-visualblocks h4,
+.mce-visualblocks h5,
+.mce-visualblocks h6,
+.mce-visualblocks div:not([data-mce-bogus]),
+.mce-visualblocks section,
+.mce-visualblocks article,
+.mce-visualblocks blockquote,
+.mce-visualblocks address,
+.mce-visualblocks pre,
+.mce-visualblocks figure,
+.mce-visualblocks figcaption,
+.mce-visualblocks hgroup,
+.mce-visualblocks aside,
+.mce-visualblocks ul,
+.mce-visualblocks ol,
+.mce-visualblocks dl {
+ background-repeat: no-repeat;
+ border: 1px dashed #bbb;
+ margin-left: 3px;
+ padding-top: 10px;
+}
+.mce-visualblocks p {
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
+}
+.mce-visualblocks h1 {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
+}
+.mce-visualblocks h2 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
+}
+.mce-visualblocks h3 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
+}
+.mce-visualblocks h4 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
+}
+.mce-visualblocks h5 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
+}
+.mce-visualblocks h6 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
+}
+.mce-visualblocks div:not([data-mce-bogus]) {
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
+}
+.mce-visualblocks section {
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
+}
+.mce-visualblocks article {
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
+}
+.mce-visualblocks blockquote {
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
+}
+.mce-visualblocks address {
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
+}
+.mce-visualblocks pre {
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
+}
+.mce-visualblocks figure {
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
+}
+.mce-visualblocks figcaption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks hgroup {
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
+}
+.mce-visualblocks aside {
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
+}
+.mce-visualblocks ul {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
+}
+.mce-visualblocks ol {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
+}
+.mce-visualblocks dl {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
+}
+.mce-visualblocks:not([dir=rtl]) p,
+.mce-visualblocks:not([dir=rtl]) h1,
+.mce-visualblocks:not([dir=rtl]) h2,
+.mce-visualblocks:not([dir=rtl]) h3,
+.mce-visualblocks:not([dir=rtl]) h4,
+.mce-visualblocks:not([dir=rtl]) h5,
+.mce-visualblocks:not([dir=rtl]) h6,
+.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
+.mce-visualblocks:not([dir=rtl]) section,
+.mce-visualblocks:not([dir=rtl]) article,
+.mce-visualblocks:not([dir=rtl]) blockquote,
+.mce-visualblocks:not([dir=rtl]) address,
+.mce-visualblocks:not([dir=rtl]) pre,
+.mce-visualblocks:not([dir=rtl]) figure,
+.mce-visualblocks:not([dir=rtl]) figcaption,
+.mce-visualblocks:not([dir=rtl]) hgroup,
+.mce-visualblocks:not([dir=rtl]) aside,
+.mce-visualblocks:not([dir=rtl]) ul,
+.mce-visualblocks:not([dir=rtl]) ol,
+.mce-visualblocks:not([dir=rtl]) dl {
+ margin-left: 3px;
+}
+.mce-visualblocks[dir=rtl] p,
+.mce-visualblocks[dir=rtl] h1,
+.mce-visualblocks[dir=rtl] h2,
+.mce-visualblocks[dir=rtl] h3,
+.mce-visualblocks[dir=rtl] h4,
+.mce-visualblocks[dir=rtl] h5,
+.mce-visualblocks[dir=rtl] h6,
+.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
+.mce-visualblocks[dir=rtl] section,
+.mce-visualblocks[dir=rtl] article,
+.mce-visualblocks[dir=rtl] blockquote,
+.mce-visualblocks[dir=rtl] address,
+.mce-visualblocks[dir=rtl] pre,
+.mce-visualblocks[dir=rtl] figure,
+.mce-visualblocks[dir=rtl] figcaption,
+.mce-visualblocks[dir=rtl] hgroup,
+.mce-visualblocks[dir=rtl] aside,
+.mce-visualblocks[dir=rtl] ul,
+.mce-visualblocks[dir=rtl] ol,
+.mce-visualblocks[dir=rtl] dl {
+ background-position-x: right;
+ margin-right: 3px;
+}
+.mce-nbsp,
+.mce-shy {
+ background: #aaa;
+}
+.mce-shy::after {
+ content: '-';
+}
+body {
+ font-family: sans-serif;
+}
+table {
+ border-collapse: collapse;
+}
diff --git a/public/tinymce/skins/ui/oxide/content.inline.css b/public/tinymce/skins/ui/oxide/content.inline.css
new file mode 100644
index 00000000..f268801f
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.inline.css
@@ -0,0 +1,689 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ cursor: default;
+ display: inline-block;
+ height: 12px !important;
+ padding: 0 2px;
+ -webkit-user-modify: read-only;
+ -moz-user-modify: read-only;
+ -webkit-user-select: all;
+ -moz-user-select: all;
+ -ms-user-select: all;
+ user-select: all;
+ width: 8px !important;
+}
+.mce-content-body .mce-item-anchor[data-mce-selected] {
+ outline-offset: 1px;
+}
+.tox-comments-visible .tox-comment {
+ background-color: #fff0b7;
+}
+.tox-comments-visible .tox-comment--active {
+ background-color: #ffe168;
+}
+.tox-checklist > li:not(.tox-checklist--hidden) {
+ list-style: none;
+ margin: 0.25em 0;
+}
+.tox-checklist > li:not(.tox-checklist--hidden)::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+ background-size: 100%;
+ content: '';
+ cursor: pointer;
+ height: 1em;
+ margin-left: -1.5em;
+ margin-top: 0.125em;
+ position: absolute;
+ width: 1em;
+}
+.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
+}
+[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
+ margin-left: 0;
+ margin-right: -1.5em;
+}
+/* stylelint-disable */
+/* http://prismjs.com/ */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ background: none;
+ text-shadow: 0 1px white;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1em;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+@media print {
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+}
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #f5f2f0;
+}
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+ white-space: normal;
+}
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+.token.punctuation {
+ color: #999;
+}
+.namespace {
+ opacity: 0.7;
+}
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #905;
+}
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #690;
+}
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #9a6e3a;
+ background: hsla(0, 0%, 100%, 0.5);
+}
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+.token.function,
+.token.class-name {
+ color: #DD4A68;
+}
+.token.regex,
+.token.important,
+.token.variable {
+ color: #e90;
+}
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.entity {
+ cursor: help;
+}
+/* stylelint-enable */
+.mce-content-body {
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+}
+.mce-content-body .mce-visual-caret {
+ background-color: black;
+ background-color: currentColor;
+ position: absolute;
+}
+.mce-content-body .mce-visual-caret-hidden {
+ display: none;
+}
+.mce-content-body *[data-mce-caret] {
+ left: -1000px;
+ margin: 0;
+ padding: 0;
+ position: absolute;
+ right: auto;
+ top: 0;
+}
+.mce-content-body .mce-offscreen-selection {
+ left: -2000000px;
+ max-width: 1000000px;
+ position: absolute;
+}
+.mce-content-body *[contentEditable=false] {
+ cursor: default;
+}
+.mce-content-body *[contentEditable=true] {
+ cursor: text;
+}
+.tox-cursor-format-painter {
+ cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
+}
+.mce-content-body figure.align-left {
+ float: left;
+}
+.mce-content-body figure.align-right {
+ float: right;
+}
+.mce-content-body figure.image.align-center {
+ display: table;
+ margin-left: auto;
+ margin-right: auto;
+}
+.mce-preview-object {
+ border: 1px solid gray;
+ display: inline-block;
+ line-height: 0;
+ margin: 0 2px 0 2px;
+ position: relative;
+}
+.mce-preview-object .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-preview-object[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.mce-object {
+ background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+ border: 1px dashed #aaa;
+}
+.mce-pagebreak {
+ border: 1px dashed #aaa;
+ cursor: default;
+ display: block;
+ height: 5px;
+ margin-top: 15px;
+ page-break-before: always;
+ width: 100%;
+}
+@media print {
+ .mce-pagebreak {
+ border: 0;
+ }
+}
+.tiny-pageembed .mce-shim {
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tiny-pageembed[data-mce-selected="2"] .mce-shim {
+ display: none;
+}
+.tiny-pageembed {
+ display: inline-block;
+ position: relative;
+}
+.tiny-pageembed--21by9,
+.tiny-pageembed--16by9,
+.tiny-pageembed--4by3,
+.tiny-pageembed--1by1 {
+ display: block;
+ overflow: hidden;
+ padding: 0;
+ position: relative;
+ width: 100%;
+}
+.tiny-pageembed--21by9 {
+ padding-top: 42.857143%;
+}
+.tiny-pageembed--16by9 {
+ padding-top: 56.25%;
+}
+.tiny-pageembed--4by3 {
+ padding-top: 75%;
+}
+.tiny-pageembed--1by1 {
+ padding-top: 100%;
+}
+.tiny-pageembed--21by9 iframe,
+.tiny-pageembed--16by9 iframe,
+.tiny-pageembed--4by3 iframe,
+.tiny-pageembed--1by1 iframe {
+ border: 0;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.mce-content-body[data-mce-placeholder] {
+ position: relative;
+}
+.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ color: rgba(34, 47, 62, 0.7);
+ content: attr(data-mce-placeholder);
+ position: absolute;
+}
+.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before {
+ left: 1px;
+}
+.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before {
+ right: 1px;
+}
+.mce-content-body div.mce-resizehandle {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+ z-index: 10000;
+}
+.mce-content-body div.mce-resizehandle:hover {
+ background-color: #4099ff;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(1) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(2) {
+ cursor: nesw-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(3) {
+ cursor: nwse-resize;
+}
+.mce-content-body div.mce-resizehandle:nth-of-type(4) {
+ cursor: nesw-resize;
+}
+.mce-content-body .mce-clonedresizable {
+ opacity: 0.5;
+ outline: 1px dashed black;
+ position: absolute;
+ z-index: 10000;
+}
+.mce-content-body .mce-resize-helper {
+ background: #555;
+ background: rgba(0, 0, 0, 0.75);
+ border: 1px;
+ border-radius: 3px;
+ color: white;
+ display: none;
+ font-family: sans-serif;
+ font-size: 12px;
+ line-height: 14px;
+ margin: 5px 10px;
+ padding: 5px;
+ position: absolute;
+ white-space: nowrap;
+ z-index: 10001;
+}
+.tox-rtc-user-selection {
+ position: relative;
+}
+.tox-rtc-user-cursor {
+ bottom: 0;
+ cursor: default;
+ position: absolute;
+ top: 0;
+ width: 2px;
+}
+.tox-rtc-user-cursor::before {
+ background-color: inherit;
+ border-radius: 50%;
+ content: '';
+ display: block;
+ height: 8px;
+ position: absolute;
+ right: -3px;
+ top: -3px;
+ width: 8px;
+}
+.tox-rtc-user-cursor:hover::after {
+ background-color: inherit;
+ border-radius: 100px;
+ box-sizing: border-box;
+ color: #fff;
+ content: attr(data-user);
+ display: block;
+ font-size: 12px;
+ font-weight: bold;
+ left: -5px;
+ min-height: 8px;
+ min-width: 8px;
+ padding: 0 12px;
+ position: absolute;
+ top: -11px;
+ white-space: nowrap;
+ z-index: 1000;
+}
+.tox-rtc-user-selection--1 .tox-rtc-user-cursor {
+ background-color: #2dc26b;
+}
+.tox-rtc-user-selection--2 .tox-rtc-user-cursor {
+ background-color: #e03e2d;
+}
+.tox-rtc-user-selection--3 .tox-rtc-user-cursor {
+ background-color: #f1c40f;
+}
+.tox-rtc-user-selection--4 .tox-rtc-user-cursor {
+ background-color: #3598db;
+}
+.tox-rtc-user-selection--5 .tox-rtc-user-cursor {
+ background-color: #b96ad9;
+}
+.tox-rtc-user-selection--6 .tox-rtc-user-cursor {
+ background-color: #e67e23;
+}
+.tox-rtc-user-selection--7 .tox-rtc-user-cursor {
+ background-color: #aaa69d;
+}
+.tox-rtc-user-selection--8 .tox-rtc-user-cursor {
+ background-color: #f368e0;
+}
+.tox-rtc-remote-image {
+ background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;
+ border: 1px solid #ccc;
+ min-height: 240px;
+ min-width: 320px;
+}
+.mce-match-marker {
+ background: #aaa;
+ color: #fff;
+}
+.mce-match-marker-selected {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::-moz-selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-match-marker-selected::selection {
+ background: #39f;
+ color: #fff;
+}
+.mce-content-body img[data-mce-selected],
+.mce-content-body table[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body hr[data-mce-selected] {
+ outline: 3px solid #b4d7ff;
+ outline-offset: 1px;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body *[contentEditable=false][data-mce-selected] {
+ cursor: not-allowed;
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,
+.mce-content-body.mce-content-readonly *[contentEditable=true]:hover {
+ outline: none;
+}
+.mce-content-body *[data-mce-selected="inline-boundary"] {
+ background-color: #b4d7ff;
+}
+.mce-content-body .mce-edit-focus {
+ outline: 3px solid #b4d7ff;
+}
+.mce-content-body td[data-mce-selected],
+.mce-content-body th[data-mce-selected] {
+ background-color: #b4d7ff !important;
+}
+.mce-content-body td[data-mce-selected]::-moz-selection,
+.mce-content-body th[data-mce-selected]::-moz-selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected]::selection,
+.mce-content-body th[data-mce-selected]::selection {
+ background: none;
+}
+.mce-content-body td[data-mce-selected] *,
+.mce-content-body th[data-mce-selected] * {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.mce-content-body img::-moz-selection {
+ background: none;
+}
+.mce-content-body img::selection {
+ background: none;
+}
+.ephox-snooker-resizer-bar {
+ background-color: #b4d7ff;
+ opacity: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.ephox-snooker-resizer-cols {
+ cursor: col-resize;
+}
+.ephox-snooker-resizer-rows {
+ cursor: row-resize;
+}
+.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging {
+ opacity: 1;
+}
+.mce-spellchecker-word {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+ height: 2rem;
+}
+.mce-spellchecker-grammar {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");
+ background-position: 0 calc(100% + 1px);
+ background-repeat: repeat-x;
+ background-size: auto 6px;
+ cursor: default;
+}
+.mce-toc {
+ border: 1px solid gray;
+}
+.mce-toc h2 {
+ margin: 4px;
+}
+.mce-toc li {
+ list-style-type: none;
+}
+.mce-item-table,
+.mce-item-table td,
+.mce-item-table th,
+.mce-item-table caption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks p,
+.mce-visualblocks h1,
+.mce-visualblocks h2,
+.mce-visualblocks h3,
+.mce-visualblocks h4,
+.mce-visualblocks h5,
+.mce-visualblocks h6,
+.mce-visualblocks div:not([data-mce-bogus]),
+.mce-visualblocks section,
+.mce-visualblocks article,
+.mce-visualblocks blockquote,
+.mce-visualblocks address,
+.mce-visualblocks pre,
+.mce-visualblocks figure,
+.mce-visualblocks figcaption,
+.mce-visualblocks hgroup,
+.mce-visualblocks aside,
+.mce-visualblocks ul,
+.mce-visualblocks ol,
+.mce-visualblocks dl {
+ background-repeat: no-repeat;
+ border: 1px dashed #bbb;
+ margin-left: 3px;
+ padding-top: 10px;
+}
+.mce-visualblocks p {
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
+}
+.mce-visualblocks h1 {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
+}
+.mce-visualblocks h2 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
+}
+.mce-visualblocks h3 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
+}
+.mce-visualblocks h4 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
+}
+.mce-visualblocks h5 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
+}
+.mce-visualblocks h6 {
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
+}
+.mce-visualblocks div:not([data-mce-bogus]) {
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
+}
+.mce-visualblocks section {
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
+}
+.mce-visualblocks article {
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
+}
+.mce-visualblocks blockquote {
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
+}
+.mce-visualblocks address {
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
+}
+.mce-visualblocks pre {
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
+}
+.mce-visualblocks figure {
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
+}
+.mce-visualblocks figcaption {
+ border: 1px dashed #bbb;
+}
+.mce-visualblocks hgroup {
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
+}
+.mce-visualblocks aside {
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
+}
+.mce-visualblocks ul {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
+}
+.mce-visualblocks ol {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
+}
+.mce-visualblocks dl {
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
+}
+.mce-visualblocks:not([dir=rtl]) p,
+.mce-visualblocks:not([dir=rtl]) h1,
+.mce-visualblocks:not([dir=rtl]) h2,
+.mce-visualblocks:not([dir=rtl]) h3,
+.mce-visualblocks:not([dir=rtl]) h4,
+.mce-visualblocks:not([dir=rtl]) h5,
+.mce-visualblocks:not([dir=rtl]) h6,
+.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),
+.mce-visualblocks:not([dir=rtl]) section,
+.mce-visualblocks:not([dir=rtl]) article,
+.mce-visualblocks:not([dir=rtl]) blockquote,
+.mce-visualblocks:not([dir=rtl]) address,
+.mce-visualblocks:not([dir=rtl]) pre,
+.mce-visualblocks:not([dir=rtl]) figure,
+.mce-visualblocks:not([dir=rtl]) figcaption,
+.mce-visualblocks:not([dir=rtl]) hgroup,
+.mce-visualblocks:not([dir=rtl]) aside,
+.mce-visualblocks:not([dir=rtl]) ul,
+.mce-visualblocks:not([dir=rtl]) ol,
+.mce-visualblocks:not([dir=rtl]) dl {
+ margin-left: 3px;
+}
+.mce-visualblocks[dir=rtl] p,
+.mce-visualblocks[dir=rtl] h1,
+.mce-visualblocks[dir=rtl] h2,
+.mce-visualblocks[dir=rtl] h3,
+.mce-visualblocks[dir=rtl] h4,
+.mce-visualblocks[dir=rtl] h5,
+.mce-visualblocks[dir=rtl] h6,
+.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),
+.mce-visualblocks[dir=rtl] section,
+.mce-visualblocks[dir=rtl] article,
+.mce-visualblocks[dir=rtl] blockquote,
+.mce-visualblocks[dir=rtl] address,
+.mce-visualblocks[dir=rtl] pre,
+.mce-visualblocks[dir=rtl] figure,
+.mce-visualblocks[dir=rtl] figcaption,
+.mce-visualblocks[dir=rtl] hgroup,
+.mce-visualblocks[dir=rtl] aside,
+.mce-visualblocks[dir=rtl] ul,
+.mce-visualblocks[dir=rtl] ol,
+.mce-visualblocks[dir=rtl] dl {
+ background-position-x: right;
+ margin-right: 3px;
+}
+.mce-nbsp,
+.mce-shy {
+ background: #aaa;
+}
+.mce-shy::after {
+ content: '-';
+}
diff --git a/public/tinymce/skins/ui/oxide/content.inline.min.css b/public/tinymce/skins/ui/oxide/content.inline.min.css
new file mode 100644
index 00000000..19483c72
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.inline.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");background-size:100%;content:'';cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-clonedresizable{opacity:.5;outline:1px dashed #000;position:absolute;z-index:10000}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10001}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body img[data-mce-selected],.mce-content-body table[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{background-color:#b4d7ff!important}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table,.mce-item-table caption,.mce-item-table td,.mce-item-table th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}
diff --git a/public/tinymce/skins/ui/oxide/content.min.css b/public/tinymce/skins/ui/oxide/content.min.css
new file mode 100644
index 00000000..21e002cd
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");background-size:100%;content:'';cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-clonedresizable{opacity:.5;outline:1px dashed #000;position:absolute;z-index:10000}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10001}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body img[data-mce-selected],.mce-content-body table[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{background-color:#b4d7ff!important}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table,.mce-item-table caption,.mce-item-table td,.mce-item-table th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/ui/oxide/content.mobile.css b/public/tinymce/skins/ui/oxide/content.mobile.css
new file mode 100644
index 00000000..4bdb8bab
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.mobile.css
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
+ /* Note: this file is used inside the content, so isn't part of theming */
+ background-color: green;
+ display: inline-block;
+ opacity: 0.5;
+ position: absolute;
+}
+body {
+ -webkit-text-size-adjust: none;
+}
+body img {
+ /* this is related to the content margin */
+ max-width: 96vw;
+}
+body table img {
+ max-width: 95%;
+}
+body {
+ font-family: sans-serif;
+}
+table {
+ border-collapse: collapse;
+}
diff --git a/public/tinymce/skins/ui/oxide/content.mobile.min.css b/public/tinymce/skins/ui/oxide/content.mobile.min.css
new file mode 100644
index 00000000..35f7dc08
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/content.mobile.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff
new file mode 100644
index 00000000..1e3be038
Binary files /dev/null and b/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff differ
diff --git a/public/tinymce/skins/ui/oxide/skin.css b/public/tinymce/skins/ui/oxide/skin.css
new file mode 100644
index 00000000..0366ab6c
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/skin.css
@@ -0,0 +1,2897 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tox {
+ box-sizing: content-box;
+ color: #222f3e;
+ cursor: auto;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: normal;
+ -webkit-tap-highlight-color: transparent;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ vertical-align: initial;
+ white-space: normal;
+}
+.tox *:not(svg):not(rect) {
+ box-sizing: inherit;
+ color: inherit;
+ cursor: inherit;
+ direction: inherit;
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ line-height: inherit;
+ -webkit-tap-highlight-color: inherit;
+ text-align: inherit;
+ text-decoration: inherit;
+ text-shadow: inherit;
+ text-transform: inherit;
+ vertical-align: inherit;
+ white-space: inherit;
+}
+.tox *:not(svg):not(rect) {
+ /* stylelint-disable-line no-duplicate-selectors */
+ background: transparent;
+ border: 0;
+ float: none;
+ height: auto;
+ margin: 0;
+ max-width: none;
+ outline: 0;
+ padding: 0;
+ position: static;
+ width: auto;
+}
+.tox:not([dir=rtl]) {
+ direction: ltr;
+ text-align: left;
+}
+.tox[dir=rtl] {
+ direction: rtl;
+ text-align: right;
+}
+.tox-tinymce {
+ border: 1px solid #cccccc;
+ border-radius: 0;
+ box-shadow: none;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ overflow: hidden;
+ position: relative;
+ visibility: inherit !important;
+}
+.tox-tinymce-inline {
+ border: none;
+ box-shadow: none;
+}
+.tox-tinymce-inline .tox-editor-header {
+ border: 1px solid #cccccc;
+ border-radius: 0;
+ box-shadow: none;
+}
+.tox-tinymce-aux {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ z-index: 1300;
+}
+.tox-tinymce *:focus,
+.tox-tinymce-aux *:focus {
+ outline: none;
+}
+button::-moz-focus-inner {
+ border: 0;
+}
+.tox .accessibility-issue__header {
+ align-items: center;
+ display: flex;
+ margin-bottom: 4px;
+}
+.tox .accessibility-issue__description {
+ align-items: stretch;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ display: flex;
+ justify-content: space-between;
+}
+.tox .accessibility-issue__description > div {
+ padding-bottom: 4px;
+}
+.tox .accessibility-issue__description > div > div {
+ align-items: center;
+ display: flex;
+ margin-bottom: 4px;
+}
+.tox .accessibility-issue__description > *:last-child:not(:only-child) {
+ border-color: #cccccc;
+ border-style: solid;
+}
+.tox .accessibility-issue__repair {
+ margin-top: 16px;
+}
+.tox .accessibility-issue--info .accessibility-issue__description {
+ background-color: rgba(32, 122, 183, 0.1);
+ border-color: rgba(32, 122, 183, 0.4);
+ color: #222f3e;
+}
+.tox .accessibility-issue--info .accessibility-issue__description > *:last-child {
+ border-color: rgba(32, 122, 183, 0.4);
+}
+.tox .accessibility-issue--info h2 {
+ color: #207ab7;
+}
+.tox .accessibility-issue--info .tox-icon svg {
+ fill: #207ab7;
+}
+.tox .accessibility-issue--info a .tox-icon {
+ color: #207ab7;
+}
+.tox .accessibility-issue--warn .accessibility-issue__description {
+ background-color: rgba(255, 165, 0, 0.1);
+ border-color: rgba(255, 165, 0, 0.5);
+ color: #222f3e;
+}
+.tox .accessibility-issue--warn .accessibility-issue__description > *:last-child {
+ border-color: rgba(255, 165, 0, 0.5);
+}
+.tox .accessibility-issue--warn h2 {
+ color: #cc8500;
+}
+.tox .accessibility-issue--warn .tox-icon svg {
+ fill: #cc8500;
+}
+.tox .accessibility-issue--warn a .tox-icon {
+ color: #cc8500;
+}
+.tox .accessibility-issue--error .accessibility-issue__description {
+ background-color: rgba(204, 0, 0, 0.1);
+ border-color: rgba(204, 0, 0, 0.4);
+ color: #222f3e;
+}
+.tox .accessibility-issue--error .accessibility-issue__description > *:last-child {
+ border-color: rgba(204, 0, 0, 0.4);
+}
+.tox .accessibility-issue--error h2 {
+ color: #c00;
+}
+.tox .accessibility-issue--error .tox-icon svg {
+ fill: #c00;
+}
+.tox .accessibility-issue--error a .tox-icon {
+ color: #c00;
+}
+.tox .accessibility-issue--success .accessibility-issue__description {
+ background-color: rgba(120, 171, 70, 0.1);
+ border-color: rgba(120, 171, 70, 0.4);
+ color: #222f3e;
+}
+.tox .accessibility-issue--success .accessibility-issue__description > *:last-child {
+ border-color: rgba(120, 171, 70, 0.4);
+}
+.tox .accessibility-issue--success h2 {
+ color: #78AB46;
+}
+.tox .accessibility-issue--success .tox-icon svg {
+ fill: #78AB46;
+}
+.tox .accessibility-issue--success a .tox-icon {
+ color: #78AB46;
+}
+.tox .tox-dialog__body-content .accessibility-issue__header h1,
+.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 {
+ margin-top: 0;
+}
+.tox:not([dir=rtl]) .accessibility-issue__header .tox-button {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .accessibility-issue__header > *:nth-last-child(2) {
+ margin-left: auto;
+}
+.tox:not([dir=rtl]) .accessibility-issue__description {
+ padding: 4px 4px 4px 8px;
+}
+.tox:not([dir=rtl]) .accessibility-issue__description > *:last-child {
+ border-left-width: 1px;
+ padding-left: 4px;
+}
+.tox[dir=rtl] .accessibility-issue__header .tox-button {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .accessibility-issue__header > *:nth-last-child(2) {
+ margin-right: auto;
+}
+.tox[dir=rtl] .accessibility-issue__description {
+ padding: 4px 8px 4px 4px;
+}
+.tox[dir=rtl] .accessibility-issue__description > *:last-child {
+ border-right-width: 1px;
+ padding-right: 4px;
+}
+.tox .tox-anchorbar {
+ display: flex;
+ flex: 0 0 auto;
+}
+.tox .tox-bar {
+ display: flex;
+ flex: 0 0 auto;
+}
+.tox .tox-button {
+ background-color: #207ab7;
+ background-image: none;
+ background-position: 0 0;
+ background-repeat: repeat;
+ border-color: #207ab7;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ color: #fff;
+ cursor: pointer;
+ display: inline-block;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ letter-spacing: normal;
+ line-height: 24px;
+ margin: 0;
+ outline: none;
+ padding: 4px 16px;
+ text-align: center;
+ text-decoration: none;
+ text-transform: capitalize;
+ white-space: nowrap;
+}
+.tox .tox-button[disabled] {
+ background-color: #207ab7;
+ background-image: none;
+ border-color: #207ab7;
+ box-shadow: none;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-button:focus:not(:disabled) {
+ background-color: #1c6ca1;
+ background-image: none;
+ border-color: #1c6ca1;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button:hover:not(:disabled) {
+ background-color: #1c6ca1;
+ background-image: none;
+ border-color: #1c6ca1;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button:active:not(:disabled) {
+ background-color: #185d8c;
+ background-image: none;
+ border-color: #185d8c;
+ box-shadow: none;
+ color: #fff;
+}
+.tox .tox-button--secondary {
+ background-color: #f0f0f0;
+ background-image: none;
+ background-position: 0 0;
+ background-repeat: repeat;
+ border-color: #f0f0f0;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ color: #222f3e;
+ outline: none;
+ padding: 4px 16px;
+ text-decoration: none;
+ text-transform: capitalize;
+}
+.tox .tox-button--secondary[disabled] {
+ background-color: #f0f0f0;
+ background-image: none;
+ border-color: #f0f0f0;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-button--secondary:focus:not(:disabled) {
+ background-color: #e3e3e3;
+ background-image: none;
+ border-color: #e3e3e3;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--secondary:hover:not(:disabled) {
+ background-color: #e3e3e3;
+ background-image: none;
+ border-color: #e3e3e3;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--secondary:active:not(:disabled) {
+ background-color: #d6d6d6;
+ background-image: none;
+ border-color: #d6d6d6;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--icon,
+.tox .tox-button.tox-button--icon,
+.tox .tox-button.tox-button--secondary.tox-button--icon {
+ padding: 4px;
+}
+.tox .tox-button--icon .tox-icon svg,
+.tox .tox-button.tox-button--icon .tox-icon svg,
+.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg {
+ display: block;
+ fill: currentColor;
+}
+.tox .tox-button-link {
+ background: 0;
+ border: none;
+ box-sizing: border-box;
+ cursor: pointer;
+ display: inline-block;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ font-weight: normal;
+ line-height: 1.3;
+ margin: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.tox .tox-button-link--sm {
+ font-size: 14px;
+}
+.tox .tox-button--naked {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: unset;
+ color: #222f3e;
+}
+.tox .tox-button--naked[disabled] {
+ background-color: #f0f0f0;
+ border-color: #f0f0f0;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-button--naked:hover:not(:disabled) {
+ background-color: #e3e3e3;
+ border-color: #e3e3e3;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--naked:focus:not(:disabled) {
+ background-color: #e3e3e3;
+ border-color: #e3e3e3;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--naked:active:not(:disabled) {
+ background-color: #d6d6d6;
+ border-color: #d6d6d6;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button--naked .tox-icon svg {
+ fill: currentColor;
+}
+.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {
+ color: #222f3e;
+}
+.tox .tox-checkbox {
+ align-items: center;
+ border-radius: 3px;
+ cursor: pointer;
+ display: flex;
+ height: 36px;
+ min-width: 36px;
+}
+.tox .tox-checkbox__input {
+ /* Hide from view but visible to screen readers */
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ top: auto;
+ width: 1px;
+}
+.tox .tox-checkbox__icons {
+ align-items: center;
+ border-radius: 3px;
+ box-shadow: 0 0 0 2px transparent;
+ box-sizing: content-box;
+ display: flex;
+ height: 24px;
+ justify-content: center;
+ padding: calc(4px - 1px);
+ width: 24px;
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: block;
+ fill: rgba(34, 47, 62, 0.3);
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ display: none;
+ fill: #207ab7;
+}
+.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ display: none;
+ fill: #207ab7;
+}
+.tox .tox-checkbox--disabled {
+ color: rgba(34, 47, 62, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: none;
+}
+.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg {
+ display: block;
+}
+.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
+ display: none;
+}
+.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
+ display: block;
+}
+.tox input.tox-checkbox__input:focus + .tox-checkbox__icons {
+ border-radius: 3px;
+ box-shadow: inset 0 0 0 1px #207ab7;
+ padding: calc(4px - 1px);
+}
+.tox:not([dir=rtl]) .tox-checkbox__label {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-checkbox__input {
+ left: -10000px;
+}
+.tox:not([dir=rtl]) .tox-bar .tox-checkbox {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-checkbox__label {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .tox-checkbox__input {
+ right: -10000px;
+}
+.tox[dir=rtl] .tox-bar .tox-checkbox {
+ margin-right: 4px;
+}
+.tox {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox .tox-collection--toolbar .tox-collection__group {
+ display: flex;
+ padding: 0;
+}
+.tox .tox-collection--grid .tox-collection__group {
+ display: flex;
+ flex-wrap: wrap;
+ max-height: 208px;
+ overflow-x: hidden;
+ overflow-y: auto;
+ padding: 0;
+}
+.tox .tox-collection--list .tox-collection__group {
+ border-bottom-width: 0;
+ border-color: #cccccc;
+ border-left-width: 0;
+ border-right-width: 0;
+ border-style: solid;
+ border-top-width: 1px;
+ padding: 4px 0;
+}
+.tox .tox-collection--list .tox-collection__group:first-child {
+ border-top-width: 0;
+}
+.tox .tox-collection__group-heading {
+ background-color: #e6e6e6;
+ color: rgba(34, 47, 62, 0.7);
+ cursor: default;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: normal;
+ margin-bottom: 4px;
+ margin-top: -4px;
+ padding: 4px 8px;
+ text-transform: none;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.tox .tox-collection__item {
+ align-items: center;
+ color: #222f3e;
+ cursor: pointer;
+ display: flex;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.tox .tox-collection--list .tox-collection__item {
+ padding: 4px 8px;
+}
+.tox .tox-collection--toolbar .tox-collection__item {
+ border-radius: 3px;
+ padding: 4px;
+}
+.tox .tox-collection--grid .tox-collection__item {
+ border-radius: 3px;
+ padding: 4px;
+}
+.tox .tox-collection--list .tox-collection__item--enabled {
+ background-color: #fff;
+ color: #222f3e;
+}
+.tox .tox-collection--list .tox-collection__item--active {
+ background-color: #dee0e2;
+}
+.tox .tox-collection--toolbar .tox-collection__item--enabled {
+ background-color: #c8cbcf;
+ color: #222f3e;
+}
+.tox .tox-collection--toolbar .tox-collection__item--active {
+ background-color: #dee0e2;
+}
+.tox .tox-collection--grid .tox-collection__item--enabled {
+ background-color: #c8cbcf;
+ color: #222f3e;
+}
+.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ background-color: #dee0e2;
+ color: #222f3e;
+}
+.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ color: #222f3e;
+}
+.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
+ color: #222f3e;
+}
+.tox .tox-collection__item--state-disabled {
+ background-color: transparent;
+ color: rgba(34, 47, 62, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-collection__item-icon,
+.tox .tox-collection__item-checkmark {
+ align-items: center;
+ display: flex;
+ height: 24px;
+ justify-content: center;
+ width: 24px;
+}
+.tox .tox-collection__item-icon svg,
+.tox .tox-collection__item-checkmark svg {
+ fill: currentColor;
+}
+.tox .tox-collection--toolbar-lg .tox-collection__item-icon {
+ height: 48px;
+ width: 48px;
+}
+.tox .tox-collection__item-label {
+ color: currentColor;
+ display: inline-block;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 24px;
+ text-transform: none;
+ word-break: break-all;
+}
+.tox .tox-collection__item-accessory {
+ color: rgba(34, 47, 62, 0.7);
+ display: inline-block;
+ font-size: 14px;
+ height: 24px;
+ line-height: 24px;
+ text-transform: none;
+}
+.tox .tox-collection__item-caret {
+ align-items: center;
+ display: flex;
+ min-height: 24px;
+}
+.tox .tox-collection__item-caret::after {
+ content: '';
+ font-size: 0;
+ min-height: inherit;
+}
+.tox .tox-collection__item-caret svg {
+ fill: #222f3e;
+}
+.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg {
+ display: none;
+}
+.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark {
+ display: none;
+}
+.tox .tox-collection--horizontal {
+ background-color: #fff;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: nowrap;
+ margin-bottom: 0;
+ overflow-x: auto;
+ padding: 0;
+}
+.tox .tox-collection--horizontal .tox-collection__group {
+ align-items: center;
+ display: flex;
+ flex-wrap: nowrap;
+ margin: 0;
+ padding: 0 4px;
+}
+.tox .tox-collection--horizontal .tox-collection__item {
+ height: 34px;
+ margin: 2px 0 3px 0;
+ padding: 0 4px;
+}
+.tox .tox-collection--horizontal .tox-collection__item-label {
+ white-space: nowrap;
+}
+.tox .tox-collection--horizontal .tox-collection__item-caret {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
+ border-right: 1px solid #cccccc;
+}
+.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item-label:first-child {
+ margin-left: 4px;
+}
+.tox:not([dir=rtl]) .tox-collection__item-accessory {
+ margin-left: 16px;
+ text-align: right;
+}
+.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret {
+ margin-left: 16px;
+}
+.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
+ border-left: 1px solid #cccccc;
+}
+.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-collection--list .tox-collection__item-label:first-child {
+ margin-right: 4px;
+}
+.tox[dir=rtl] .tox-collection__item-icon-rtl {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg {
+ transform: rotateY(180deg);
+}
+.tox[dir=rtl] .tox-collection__item-accessory {
+ margin-right: 16px;
+ text-align: left;
+}
+.tox[dir=rtl] .tox-collection .tox-collection__item-caret {
+ margin-right: 16px;
+ transform: rotateY(180deg);
+}
+.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret {
+ margin-right: 4px;
+}
+.tox .tox-color-picker-container {
+ display: flex;
+ flex-direction: row;
+ height: 225px;
+ margin: 0;
+}
+.tox .tox-sv-palette {
+ box-sizing: border-box;
+ display: flex;
+ height: 100%;
+}
+.tox .tox-sv-palette-spectrum {
+ height: 100%;
+}
+.tox .tox-sv-palette,
+.tox .tox-sv-palette-spectrum {
+ width: 225px;
+}
+.tox .tox-sv-palette-thumb {
+ background: none;
+ border: 1px solid black;
+ border-radius: 50%;
+ box-sizing: content-box;
+ height: 12px;
+ position: absolute;
+ width: 12px;
+}
+.tox .tox-sv-palette-inner-thumb {
+ border: 1px solid white;
+ border-radius: 50%;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+}
+.tox .tox-hue-slider {
+ box-sizing: border-box;
+ height: 100%;
+ width: 25px;
+}
+.tox .tox-hue-slider-spectrum {
+ background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00);
+ height: 100%;
+ width: 100%;
+}
+.tox .tox-hue-slider,
+.tox .tox-hue-slider-spectrum {
+ width: 20px;
+}
+.tox .tox-hue-slider-thumb {
+ background: white;
+ border: 1px solid black;
+ box-sizing: content-box;
+ height: 4px;
+ width: 100%;
+}
+.tox .tox-rgb-form {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+.tox .tox-rgb-form div {
+ align-items: center;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 5px;
+ width: inherit;
+}
+.tox .tox-rgb-form input {
+ width: 6em;
+}
+.tox .tox-rgb-form input.tox-invalid {
+ /* Need !important to override Chrome's focus styling unfortunately */
+ border: 1px solid red !important;
+}
+.tox .tox-rgb-form .tox-rgba-preview {
+ border: 1px solid black;
+ flex-grow: 2;
+ margin-bottom: 0;
+}
+.tox:not([dir=rtl]) .tox-sv-palette {
+ margin-right: 15px;
+}
+.tox:not([dir=rtl]) .tox-hue-slider {
+ margin-right: 15px;
+}
+.tox:not([dir=rtl]) .tox-hue-slider-thumb {
+ margin-left: -1px;
+}
+.tox:not([dir=rtl]) .tox-rgb-form label {
+ margin-right: 0.5em;
+}
+.tox[dir=rtl] .tox-sv-palette {
+ margin-left: 15px;
+}
+.tox[dir=rtl] .tox-hue-slider {
+ margin-left: 15px;
+}
+.tox[dir=rtl] .tox-hue-slider-thumb {
+ margin-right: -1px;
+}
+.tox[dir=rtl] .tox-rgb-form label {
+ margin-left: 0.5em;
+}
+.tox .tox-toolbar .tox-swatches,
+.tox .tox-toolbar__primary .tox-swatches,
+.tox .tox-toolbar__overflow .tox-swatches {
+ margin: 2px 0 3px 4px;
+}
+.tox .tox-collection--list .tox-collection__group .tox-swatches-menu {
+ border: 0;
+ margin: -4px 0;
+}
+.tox .tox-swatches__row {
+ display: flex;
+}
+.tox .tox-swatch {
+ height: 30px;
+ transition: transform 0.15s, box-shadow 0.15s;
+ width: 30px;
+}
+.tox .tox-swatch:hover,
+.tox .tox-swatch:focus {
+ box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset;
+ transform: scale(0.8);
+}
+.tox .tox-swatch--remove {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.tox .tox-swatch--remove svg path {
+ stroke: #e74c3c;
+}
+.tox .tox-swatches__picker-btn {
+ align-items: center;
+ background-color: transparent;
+ border: 0;
+ cursor: pointer;
+ display: flex;
+ height: 30px;
+ justify-content: center;
+ outline: none;
+ padding: 0;
+ width: 30px;
+}
+.tox .tox-swatches__picker-btn svg {
+ height: 24px;
+ width: 24px;
+}
+.tox .tox-swatches__picker-btn:hover {
+ background: #dee0e2;
+}
+.tox:not([dir=rtl]) .tox-swatches__picker-btn {
+ margin-left: auto;
+}
+.tox[dir=rtl] .tox-swatches__picker-btn {
+ margin-right: auto;
+}
+.tox .tox-comment-thread {
+ background: #fff;
+ position: relative;
+}
+.tox .tox-comment-thread > *:not(:first-child) {
+ margin-top: 8px;
+}
+.tox .tox-comment {
+ background: #fff;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1);
+ padding: 8px 8px 16px 8px;
+ position: relative;
+}
+.tox .tox-comment__header {
+ align-items: center;
+ color: #222f3e;
+ display: flex;
+ justify-content: space-between;
+}
+.tox .tox-comment__date {
+ color: rgba(34, 47, 62, 0.7);
+ font-size: 12px;
+}
+.tox .tox-comment__body {
+ color: #222f3e;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ margin-top: 8px;
+ position: relative;
+ text-transform: initial;
+}
+.tox .tox-comment__body textarea {
+ resize: none;
+ white-space: normal;
+ width: 100%;
+}
+.tox .tox-comment__expander {
+ padding-top: 8px;
+}
+.tox .tox-comment__expander p {
+ color: rgba(34, 47, 62, 0.7);
+ font-size: 14px;
+ font-style: normal;
+}
+.tox .tox-comment__body p {
+ margin: 0;
+}
+.tox .tox-comment__buttonspacing {
+ padding-top: 16px;
+ text-align: center;
+}
+.tox .tox-comment-thread__overlay::after {
+ background: #fff;
+ bottom: 0;
+ content: "";
+ display: flex;
+ left: 0;
+ opacity: 0.9;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 5;
+}
+.tox .tox-comment__reply {
+ display: flex;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ margin-top: 8px;
+}
+.tox .tox-comment__reply > *:first-child {
+ margin-bottom: 8px;
+ width: 100%;
+}
+.tox .tox-comment__edit {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ margin-top: 16px;
+}
+.tox .tox-comment__gradient::after {
+ background: linear-gradient(rgba(255, 255, 255, 0), #fff);
+ bottom: 0;
+ content: "";
+ display: block;
+ height: 5em;
+ margin-top: -40px;
+ position: absolute;
+ width: 100%;
+}
+.tox .tox-comment__overlay {
+ background: #fff;
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ left: 0;
+ opacity: 0.9;
+ position: absolute;
+ right: 0;
+ text-align: center;
+ top: 0;
+ z-index: 5;
+}
+.tox .tox-comment__loading-text {
+ align-items: center;
+ color: #222f3e;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+}
+.tox .tox-comment__loading-text > div {
+ padding-bottom: 16px;
+}
+.tox .tox-comment__overlaytext {
+ bottom: 0;
+ flex-direction: column;
+ font-size: 14px;
+ left: 0;
+ padding: 1em;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 10;
+}
+.tox .tox-comment__overlaytext p {
+ background-color: #fff;
+ box-shadow: 0 0 8px 8px #fff;
+ color: #222f3e;
+ text-align: center;
+}
+.tox .tox-comment__overlaytext div:nth-of-type(2) {
+ font-size: 0.8em;
+}
+.tox .tox-comment__busy-spinner {
+ align-items: center;
+ background-color: #fff;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 20;
+}
+.tox .tox-comment__scroll {
+ display: flex;
+ flex-direction: column;
+ flex-shrink: 1;
+ overflow: auto;
+}
+.tox .tox-conversations {
+ margin: 8px;
+}
+.tox:not([dir=rtl]) .tox-comment__edit {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child,
+.tox:not([dir=rtl]) .tox-comment__edit > *:last-child,
+.tox:not([dir=rtl]) .tox-comment__reply > *:last-child {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-comment__edit {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child,
+.tox[dir=rtl] .tox-comment__edit > *:last-child,
+.tox[dir=rtl] .tox-comment__reply > *:last-child {
+ margin-right: 8px;
+}
+.tox .tox-user {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-user__avatar svg {
+ fill: rgba(34, 47, 62, 0.7);
+}
+.tox .tox-user__name {
+ color: rgba(34, 47, 62, 0.7);
+ font-size: 12px;
+ font-style: normal;
+ font-weight: bold;
+ text-transform: uppercase;
+}
+.tox:not([dir=rtl]) .tox-user__avatar svg {
+ margin-right: 8px;
+}
+.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-user__avatar svg {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
+ margin-right: 8px;
+}
+.tox .tox-dialog-wrap {
+ align-items: center;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 1100;
+}
+.tox .tox-dialog-wrap__backdrop {
+ background-color: rgba(255, 255, 255, 0.75);
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 1;
+}
+.tox .tox-dialog-wrap__backdrop--opaque {
+ background-color: #fff;
+}
+.tox .tox-dialog {
+ background-color: #fff;
+ border-color: #cccccc;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15);
+ display: flex;
+ flex-direction: column;
+ max-height: 100%;
+ max-width: 480px;
+ overflow: hidden;
+ position: relative;
+ width: 95vw;
+ z-index: 2;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog {
+ align-self: flex-start;
+ margin: 8px auto;
+ width: calc(100vw - 16px);
+ }
+}
+.tox .tox-dialog-inline {
+ z-index: 1100;
+}
+.tox .tox-dialog__header {
+ align-items: center;
+ background-color: #fff;
+ border-bottom: none;
+ color: #222f3e;
+ display: flex;
+ font-size: 16px;
+ justify-content: space-between;
+ padding: 8px 16px 0 16px;
+ position: relative;
+}
+.tox .tox-dialog__header .tox-button {
+ z-index: 1;
+}
+.tox .tox-dialog__draghandle {
+ cursor: grab;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tox .tox-dialog__draghandle:active {
+ cursor: grabbing;
+}
+.tox .tox-dialog__dismiss {
+ margin-left: auto;
+}
+.tox .tox-dialog__title {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ margin: 0;
+ text-transform: none;
+}
+.tox .tox-dialog__body {
+ color: #222f3e;
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ font-size: 16px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ min-width: 0;
+ text-align: left;
+ text-transform: none;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog__body {
+ flex-direction: column;
+ }
+}
+.tox .tox-dialog__body-nav {
+ align-items: flex-start;
+ display: flex;
+ flex-direction: column;
+ padding: 16px 16px;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
+ flex-direction: row;
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding-bottom: 0;
+ }
+}
+.tox .tox-dialog__body-nav-item {
+ border-bottom: 2px solid transparent;
+ color: rgba(34, 47, 62, 0.7);
+ display: inline-block;
+ font-size: 14px;
+ line-height: 1.3;
+ margin-bottom: 8px;
+ text-decoration: none;
+ white-space: nowrap;
+}
+.tox .tox-dialog__body-nav-item:focus {
+ background-color: rgba(32, 122, 183, 0.1);
+}
+.tox .tox-dialog__body-nav-item--active {
+ border-bottom: 2px solid #207ab7;
+ color: #207ab7;
+}
+.tox .tox-dialog__body-content {
+ box-sizing: border-box;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+ max-height: 650px;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ padding: 16px 16px;
+}
+.tox .tox-dialog__body-content > * {
+ margin-bottom: 0;
+ margin-top: 16px;
+}
+.tox .tox-dialog__body-content > *:first-child {
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content > *:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-dialog__body-content > *:only-child {
+ margin-bottom: 0;
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content a {
+ color: #207ab7;
+ cursor: pointer;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content a:hover,
+.tox .tox-dialog__body-content a:focus {
+ color: #185d8c;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content a:active {
+ color: #185d8c;
+ text-decoration: none;
+}
+.tox .tox-dialog__body-content svg {
+ fill: #222f3e;
+}
+.tox .tox-dialog__body-content ul {
+ display: block;
+ list-style-type: disc;
+ margin-bottom: 16px;
+ -webkit-margin-end: 0;
+ margin-inline-end: 0;
+ -webkit-margin-start: 0;
+ margin-inline-start: 0;
+ -webkit-padding-start: 2.5rem;
+ padding-inline-start: 2.5rem;
+}
+.tox .tox-dialog__body-content .tox-form__group h1 {
+ font-size: 20px;
+ font-weight: bold;
+ margin-bottom: 16px;
+ margin-top: 2rem;
+}
+.tox .tox-dialog__body-content .tox-form__group h2 {
+ font-size: 16px;
+ font-weight: bold;
+ margin-bottom: 16px;
+ margin-top: 2rem;
+}
+.tox .tox-dialog__body-content .tox-form__group p {
+ margin-bottom: 16px;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:first-child,
+.tox .tox-dialog__body-content .tox-form__group h2:first-child,
+.tox .tox-dialog__body-content .tox-form__group p:first-child {
+ margin-top: 0;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:last-child,
+.tox .tox-dialog__body-content .tox-form__group h2:last-child,
+.tox .tox-dialog__body-content .tox-form__group p:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-dialog__body-content .tox-form__group h1:only-child,
+.tox .tox-dialog__body-content .tox-form__group h2:only-child,
+.tox .tox-dialog__body-content .tox-form__group p:only-child {
+ margin-bottom: 0;
+ margin-top: 0;
+}
+.tox .tox-dialog--width-lg {
+ height: 650px;
+ max-width: 1200px;
+}
+.tox .tox-dialog--width-md {
+ max-width: 800px;
+}
+.tox .tox-dialog--width-md .tox-dialog__body-content {
+ overflow: auto;
+}
+.tox .tox-dialog__body-content--centered {
+ text-align: center;
+}
+.tox .tox-dialog__footer {
+ align-items: center;
+ background-color: #fff;
+ border-top: 1px solid #cccccc;
+ display: flex;
+ justify-content: space-between;
+ padding: 8px 16px;
+}
+.tox .tox-dialog__footer-start,
+.tox .tox-dialog__footer-end {
+ display: flex;
+}
+.tox .tox-dialog__busy-spinner {
+ align-items: center;
+ background-color: rgba(255, 255, 255, 0.75);
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 3;
+}
+.tox .tox-dialog__table {
+ border-collapse: collapse;
+ width: 100%;
+}
+.tox .tox-dialog__table thead th {
+ font-weight: bold;
+ padding-bottom: 8px;
+}
+.tox .tox-dialog__table tbody tr {
+ border-bottom: 1px solid #cccccc;
+}
+.tox .tox-dialog__table tbody tr:last-child {
+ border-bottom: none;
+}
+.tox .tox-dialog__table td {
+ padding-bottom: 8px;
+ padding-top: 8px;
+}
+.tox .tox-dialog__popups {
+ position: absolute;
+ width: 100%;
+ z-index: 1100;
+}
+.tox .tox-dialog__body-iframe {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-iframe .tox-navobj {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+}
+.tox .tox-dialog-dock-fadeout {
+ opacity: 0;
+ visibility: hidden;
+}
+.tox .tox-dialog-dock-fadein {
+ opacity: 1;
+ visibility: visible;
+}
+.tox .tox-dialog-dock-transition {
+ transition: visibility 0s linear 0.3s, opacity 0.3s ease;
+}
+.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
+ transition-delay: 0s;
+}
+body.tox-dialog__disable-scroll {
+ overflow: hidden;
+}
+.tox.tox-platform-ie {
+ /* IE11 CSS styles go here */
+}
+.tox.tox-platform-ie .tox-dialog-wrap {
+ position: -ms-device-fixed;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
+ margin-right: 0;
+ }
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
+ margin-left: 8px;
+ }
+}
+.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *,
+.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-dialog__body {
+ text-align: right;
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
+ margin-left: 0;
+ }
+}
+@media only screen and (max-width:767px) {
+ body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
+ margin-right: 8px;
+ }
+}
+.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *,
+.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * {
+ margin-right: 8px;
+}
+.tox .tox-dropzone-container {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dropzone {
+ align-items: center;
+ background: #fff;
+ border: 2px dashed #cccccc;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ justify-content: center;
+ min-height: 100px;
+ padding: 10px;
+}
+.tox .tox-dropzone p {
+ color: rgba(34, 47, 62, 0.7);
+ margin: 0 0 16px 0;
+}
+.tox .tox-edit-area {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ overflow: hidden;
+ position: relative;
+}
+.tox .tox-edit-area__iframe {
+ background-color: #fff;
+ border: 0;
+ box-sizing: border-box;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+ position: absolute;
+ width: 100%;
+}
+.tox.tox-inline-edit-area {
+ border: 1px dotted #cccccc;
+}
+.tox .tox-editor-container {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ overflow: hidden;
+}
+.tox .tox-editor-header {
+ z-index: 1;
+}
+.tox:not(.tox-tinymce-inline) .tox-editor-header {
+ box-shadow: none;
+ transition: box-shadow 0.5s;
+}
+.tox.tox-tinymce--toolbar-bottom .tox-editor-header,
+.tox.tox-tinymce-inline .tox-editor-header {
+ margin-bottom: -1px;
+}
+.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header {
+ box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25);
+}
+.tox-editor-dock-fadeout {
+ opacity: 0;
+ visibility: hidden;
+}
+.tox-editor-dock-fadein {
+ opacity: 1;
+ visibility: visible;
+}
+.tox-editor-dock-transition {
+ transition: visibility 0s linear 0.25s, opacity 0.25s ease;
+}
+.tox-editor-dock-transition.tox-editor-dock-fadein {
+ transition-delay: 0s;
+}
+.tox .tox-control-wrap {
+ flex: 1;
+ position: relative;
+}
+.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,
+.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,
+.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid {
+ display: none;
+}
+.tox .tox-control-wrap svg {
+ display: block;
+}
+.tox .tox-control-wrap__status-icon-wrap {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-control-wrap__status-icon-invalid svg {
+ fill: #c00;
+}
+.tox .tox-control-wrap__status-icon-unknown svg {
+ fill: orange;
+}
+.tox .tox-control-wrap__status-icon-valid svg {
+ fill: green;
+}
+.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,
+.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,
+.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield {
+ padding-right: 32px;
+}
+.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap {
+ right: 4px;
+}
+.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,
+.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,
+.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield {
+ padding-left: 32px;
+}
+.tox[dir=rtl] .tox-control-wrap__status-icon-wrap {
+ left: 4px;
+}
+.tox .tox-autocompleter {
+ max-width: 25em;
+}
+.tox .tox-autocompleter .tox-menu {
+ max-width: 25em;
+}
+.tox .tox-autocompleter .tox-autocompleter-highlight {
+ font-weight: bold;
+}
+.tox .tox-color-input {
+ display: flex;
+ position: relative;
+ z-index: 1;
+}
+.tox .tox-color-input .tox-textfield {
+ z-index: -1;
+}
+.tox .tox-color-input span {
+ border-color: rgba(34, 47, 62, 0.2);
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ height: 24px;
+ position: absolute;
+ top: 6px;
+ width: 24px;
+}
+.tox .tox-color-input span:hover:not([aria-disabled=true]),
+.tox .tox-color-input span:focus:not([aria-disabled=true]) {
+ border-color: #207ab7;
+ cursor: pointer;
+}
+.tox .tox-color-input span::before {
+ background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%);
+ background-position: 0 0, 0 6px, 6px -6px, -6px 0;
+ background-size: 12px 12px;
+ border: 1px solid #fff;
+ border-radius: 3px;
+ box-sizing: border-box;
+ content: '';
+ height: 24px;
+ left: -1px;
+ position: absolute;
+ top: -1px;
+ width: 24px;
+ z-index: -1;
+}
+.tox .tox-color-input span[aria-disabled=true] {
+ cursor: not-allowed;
+}
+.tox:not([dir=rtl]) .tox-color-input {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox:not([dir=rtl]) .tox-color-input .tox-textfield {
+ padding-left: 36px;
+}
+.tox:not([dir=rtl]) .tox-color-input span {
+ left: 6px;
+}
+.tox[dir="rtl"] .tox-color-input {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir="rtl"] .tox-color-input .tox-textfield {
+ padding-right: 36px;
+}
+.tox[dir="rtl"] .tox-color-input span {
+ right: 6px;
+}
+.tox .tox-label,
+.tox .tox-toolbar-label {
+ color: rgba(34, 47, 62, 0.7);
+ display: block;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1.3;
+ padding: 0 8px 0 0;
+ text-transform: none;
+ white-space: nowrap;
+}
+.tox .tox-toolbar-label {
+ padding: 0 8px;
+}
+.tox[dir=rtl] .tox-label {
+ padding: 0 0 0 8px;
+}
+.tox .tox-form {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group {
+ box-sizing: border-box;
+ margin-bottom: 4px;
+}
+.tox .tox-form-group--maximize {
+ flex: 1;
+}
+.tox .tox-form__group--error {
+ color: #c00;
+}
+.tox .tox-form__group--collection {
+ display: flex;
+}
+.tox .tox-form__grid {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+.tox .tox-form__grid--2col > .tox-form__group {
+ width: calc(50% - (8px / 2));
+}
+.tox .tox-form__grid--3col > .tox-form__group {
+ width: calc(100% / 3 - (8px / 2));
+}
+.tox .tox-form__grid--4col > .tox-form__group {
+ width: calc(25% - (8px / 2));
+}
+.tox .tox-form__controls-h-stack {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-form__group--inline {
+ align-items: center;
+ display: flex;
+}
+.tox .tox-form__group--stretched {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-textarea {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-navobj {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-form__group--stretched .tox-navobj :nth-child(2) {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 100%;
+}
+.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) {
+ margin-right: 4px;
+}
+.tox .tox-lock.tox-locked .tox-lock-icon__unlock,
+.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock {
+ display: none;
+}
+.tox .tox-textfield,
+.tox .tox-toolbar-textfield,
+.tox .tox-selectfield select,
+.tox .tox-textarea {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: #fff;
+ border-color: #cccccc;
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ color: #222f3e;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
+ font-size: 16px;
+ line-height: 24px;
+ margin: 0;
+ min-height: 34px;
+ outline: none;
+ padding: 5px 4.75px;
+ resize: none;
+ width: 100%;
+}
+.tox .tox-textfield[disabled],
+.tox .tox-textarea[disabled] {
+ background-color: #f2f2f2;
+ color: rgba(34, 47, 62, 0.85);
+ cursor: not-allowed;
+}
+.tox .tox-textfield:focus,
+.tox .tox-selectfield select:focus,
+.tox .tox-textarea:focus {
+ border-color: #207ab7;
+ box-shadow: none;
+ outline: none;
+}
+.tox .tox-toolbar-textfield {
+ border-width: 0;
+ margin-bottom: 3px;
+ margin-top: 2px;
+ max-width: 250px;
+}
+.tox .tox-naked-btn {
+ background-color: transparent;
+ border: 0;
+ border-color: transparent;
+ box-shadow: unset;
+ color: #207ab7;
+ cursor: pointer;
+ display: block;
+ margin: 0;
+ padding: 0;
+}
+.tox .tox-naked-btn svg {
+ display: block;
+ fill: #222f3e;
+}
+.tox:not([dir=rtl]) .tox-toolbar-textfield + * {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-toolbar-textfield + * {
+ margin-right: 4px;
+}
+.tox .tox-selectfield {
+ cursor: pointer;
+ position: relative;
+}
+.tox .tox-selectfield select[disabled] {
+ background-color: #f2f2f2;
+ color: rgba(34, 47, 62, 0.85);
+ cursor: not-allowed;
+}
+.tox .tox-selectfield select::-ms-expand {
+ display: none;
+}
+.tox .tox-selectfield svg {
+ pointer-events: none;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox:not([dir=rtl]) .tox-selectfield select[size="0"],
+.tox:not([dir=rtl]) .tox-selectfield select[size="1"] {
+ padding-right: 24px;
+}
+.tox:not([dir=rtl]) .tox-selectfield svg {
+ right: 8px;
+}
+.tox[dir=rtl] .tox-selectfield select[size="0"],
+.tox[dir=rtl] .tox-selectfield select[size="1"] {
+ padding-left: 24px;
+}
+.tox[dir=rtl] .tox-selectfield svg {
+ left: 8px;
+}
+.tox .tox-textarea {
+ -webkit-appearance: textarea;
+ -moz-appearance: textarea;
+ appearance: textarea;
+ white-space: pre-wrap;
+}
+.tox-fullscreen {
+ border: 0;
+ height: 100%;
+ left: 0;
+ margin: 0;
+ overflow: hidden;
+ -ms-scroll-chaining: none;
+ overscroll-behavior: none;
+ padding: 0;
+ position: fixed;
+ top: 0;
+ touch-action: pinch-zoom;
+ width: 100%;
+}
+.tox-fullscreen .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
+ display: none;
+}
+.tox-fullscreen .tox.tox-tinymce.tox-fullscreen {
+ z-index: 1200;
+}
+.tox-fullscreen .tox.tox-tinymce-aux {
+ z-index: 1201;
+}
+.tox .tox-help__more-link {
+ list-style: none;
+ margin-top: 1em;
+}
+.tox .tox-image-tools {
+ width: 100%;
+}
+.tox .tox-image-tools__toolbar {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.tox .tox-image-tools__image {
+ background-color: #666;
+ height: 380px;
+ overflow: auto;
+ position: relative;
+ width: 100%;
+}
+.tox .tox-image-tools__image,
+.tox .tox-image-tools__image + .tox-image-tools__toolbar {
+ margin-top: 8px;
+}
+.tox .tox-image-tools__image-bg {
+ background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==);
+}
+.tox .tox-image-tools__toolbar > .tox-spacer {
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-croprect-block {
+ background: black;
+ filter: alpha(opacity=50);
+ opacity: 0.5;
+ position: absolute;
+ zoom: 1;
+}
+.tox .tox-croprect-handle {
+ border: 2px solid white;
+ height: 20px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 20px;
+}
+.tox .tox-croprect-handle-move {
+ border: 0;
+ cursor: move;
+ position: absolute;
+}
+.tox .tox-croprect-handle-nw {
+ border-width: 2px 0 0 2px;
+ cursor: nw-resize;
+ left: 100px;
+ margin: -2px 0 0 -2px;
+ top: 100px;
+}
+.tox .tox-croprect-handle-ne {
+ border-width: 2px 2px 0 0;
+ cursor: ne-resize;
+ left: 200px;
+ margin: -2px 0 0 -20px;
+ top: 100px;
+}
+.tox .tox-croprect-handle-sw {
+ border-width: 0 0 2px 2px;
+ cursor: sw-resize;
+ left: 100px;
+ margin: -20px 2px 0 -2px;
+ top: 200px;
+}
+.tox .tox-croprect-handle-se {
+ border-width: 0 2px 2px 0;
+ cursor: se-resize;
+ left: 200px;
+ margin: -20px 0 0 -20px;
+ top: 200px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
+ margin-left: 8px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider {
+ margin-left: 32px;
+}
+.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button {
+ margin-left: 32px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
+ margin-right: 8px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider {
+ margin-right: 32px;
+}
+.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button {
+ margin-right: 32px;
+}
+.tox .tox-insert-table-picker {
+ display: flex;
+ flex-wrap: wrap;
+ width: 170px;
+}
+.tox .tox-insert-table-picker > div {
+ border-color: #cccccc;
+ border-style: solid;
+ border-width: 0 1px 1px 0;
+ box-sizing: border-box;
+ height: 17px;
+ width: 17px;
+}
+.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker {
+ margin: -4px 0;
+}
+.tox .tox-insert-table-picker .tox-insert-table-picker__selected {
+ background-color: rgba(32, 122, 183, 0.5);
+ border-color: rgba(32, 122, 183, 0.5);
+}
+.tox .tox-insert-table-picker__label {
+ color: rgba(34, 47, 62, 0.7);
+ display: block;
+ font-size: 14px;
+ padding: 4px;
+ text-align: center;
+ width: 100%;
+}
+.tox:not([dir=rtl]) {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) {
+ border-right: 0;
+}
+.tox[dir=rtl] {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) {
+ border-right: 0;
+}
+.tox {
+ /* stylelint-disable */
+ /* stylelint-enable */
+}
+.tox .tox-menu {
+ background-color: #fff;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1);
+ display: inline-block;
+ overflow: hidden;
+ vertical-align: top;
+ z-index: 1150;
+}
+.tox .tox-menu.tox-collection.tox-collection--list {
+ padding: 0;
+}
+.tox .tox-menu.tox-collection.tox-collection--toolbar {
+ padding: 4px;
+}
+.tox .tox-menu.tox-collection.tox-collection--grid {
+ padding: 4px;
+}
+.tox .tox-menu__label h1,
+.tox .tox-menu__label h2,
+.tox .tox-menu__label h3,
+.tox .tox-menu__label h4,
+.tox .tox-menu__label h5,
+.tox .tox-menu__label h6,
+.tox .tox-menu__label p,
+.tox .tox-menu__label blockquote,
+.tox .tox-menu__label code {
+ margin: 0;
+}
+.tox .tox-menubar {
+ background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;
+ background-color: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ padding: 0 4px 0 4px;
+}
+.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
+ border-top: 1px solid #cccccc;
+}
+/* Deprecated. Remove in next major release */
+.tox .tox-mbtn {
+ align-items: center;
+ background: transparent;
+ border: 0;
+ border-radius: 3px;
+ box-shadow: none;
+ color: #222f3e;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ height: 34px;
+ justify-content: center;
+ margin: 2px 0 3px 0;
+ outline: none;
+ overflow: hidden;
+ padding: 0 4px;
+ text-transform: none;
+ width: auto;
+}
+.tox .tox-mbtn[disabled] {
+ background-color: transparent;
+ border: 0;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-mbtn:focus:not(:disabled) {
+ background: #dee0e2;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-mbtn--active {
+ background: #c8cbcf;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) {
+ background: #dee0e2;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-mbtn__select-label {
+ cursor: default;
+ font-weight: normal;
+ margin: 0 4px;
+}
+.tox .tox-mbtn[disabled] .tox-mbtn__select-label {
+ cursor: not-allowed;
+}
+.tox .tox-mbtn__select-chevron {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ width: 16px;
+ display: none;
+}
+.tox .tox-notification {
+ border-radius: 3px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: none;
+ box-sizing: border-box;
+ display: -ms-grid;
+ display: grid;
+ font-size: 14px;
+ font-weight: normal;
+ -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
+ grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
+ margin-top: 4px;
+ opacity: 0;
+ padding: 4px;
+ transition: transform 100ms ease-in, opacity 150ms ease-in;
+}
+.tox .tox-notification p {
+ font-size: 14px;
+ font-weight: normal;
+}
+.tox .tox-notification a {
+ text-decoration: underline;
+}
+.tox .tox-notification--in {
+ opacity: 1;
+}
+.tox .tox-notification--success {
+ background-color: #e4eeda;
+ border-color: #d7e6c8;
+ color: #222f3e;
+}
+.tox .tox-notification--success p {
+ color: #222f3e;
+}
+.tox .tox-notification--success a {
+ color: #547831;
+}
+.tox .tox-notification--success svg {
+ fill: #222f3e;
+}
+.tox .tox-notification--error {
+ background-color: #f8dede;
+ border-color: #f2bfbf;
+ color: #222f3e;
+}
+.tox .tox-notification--error p {
+ color: #222f3e;
+}
+.tox .tox-notification--error a {
+ color: #c00;
+}
+.tox .tox-notification--error svg {
+ fill: #222f3e;
+}
+.tox .tox-notification--warn,
+.tox .tox-notification--warning {
+ background-color: #fffaea;
+ border-color: #ffe89d;
+ color: #222f3e;
+}
+.tox .tox-notification--warn p,
+.tox .tox-notification--warning p {
+ color: #222f3e;
+}
+.tox .tox-notification--warn a,
+.tox .tox-notification--warning a {
+ color: #222f3e;
+}
+.tox .tox-notification--warn svg,
+.tox .tox-notification--warning svg {
+ fill: #222f3e;
+}
+.tox .tox-notification--info {
+ background-color: #d9edf7;
+ border-color: #779ecb;
+ color: #222f3e;
+}
+.tox .tox-notification--info p {
+ color: #222f3e;
+}
+.tox .tox-notification--info a {
+ color: #222f3e;
+}
+.tox .tox-notification--info svg {
+ fill: #222f3e;
+}
+.tox .tox-notification__body {
+ -ms-grid-row-align: center;
+ align-self: center;
+ color: #222f3e;
+ font-size: 14px;
+ -ms-grid-column-span: 1;
+ grid-column-end: 3;
+ -ms-grid-column: 2;
+ grid-column-start: 2;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ text-align: center;
+ white-space: normal;
+ word-break: break-all;
+ word-break: break-word;
+}
+.tox .tox-notification__body > * {
+ margin: 0;
+}
+.tox .tox-notification__body > * + * {
+ margin-top: 1rem;
+}
+.tox .tox-notification__icon {
+ -ms-grid-row-align: center;
+ align-self: center;
+ -ms-grid-column-span: 1;
+ grid-column-end: 2;
+ -ms-grid-column: 1;
+ grid-column-start: 1;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ -ms-grid-column-align: end;
+ justify-self: end;
+}
+.tox .tox-notification__icon svg {
+ display: block;
+}
+.tox .tox-notification__dismiss {
+ -ms-grid-row-align: start;
+ align-self: start;
+ -ms-grid-column-span: 1;
+ grid-column-end: 4;
+ -ms-grid-column: 3;
+ grid-column-start: 3;
+ -ms-grid-row-span: 1;
+ grid-row-end: 2;
+ -ms-grid-row: 1;
+ grid-row-start: 1;
+ -ms-grid-column-align: end;
+ justify-self: end;
+}
+.tox .tox-notification .tox-progress-bar {
+ -ms-grid-column-span: 3;
+ grid-column-end: 4;
+ -ms-grid-column: 1;
+ grid-column-start: 1;
+ -ms-grid-row-span: 1;
+ grid-row-end: 3;
+ -ms-grid-row: 2;
+ grid-row-start: 2;
+ -ms-grid-column-align: center;
+ justify-self: center;
+}
+.tox .tox-pop {
+ display: inline-block;
+ position: relative;
+}
+.tox .tox-pop--resizing {
+ transition: width 0.1s ease;
+}
+.tox .tox-pop--resizing .tox-toolbar {
+ flex-wrap: nowrap;
+}
+.tox .tox-pop__dialog {
+ background-color: #fff;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ min-width: 0;
+ overflow: hidden;
+}
+.tox .tox-pop__dialog > *:not(.tox-toolbar) {
+ margin: 4px 4px 4px 8px;
+}
+.tox .tox-pop__dialog .tox-toolbar {
+ background-color: transparent;
+ margin-bottom: -1px;
+}
+.tox .tox-pop::before,
+.tox .tox-pop::after {
+ border-style: solid;
+ content: '';
+ display: block;
+ height: 0;
+ position: absolute;
+ width: 0;
+}
+.tox .tox-pop.tox-pop--bottom::before,
+.tox .tox-pop.tox-pop--bottom::after {
+ left: 50%;
+ top: 100%;
+}
+.tox .tox-pop.tox-pop--bottom::after {
+ border-color: #fff transparent transparent transparent;
+ border-width: 8px;
+ margin-left: -8px;
+ margin-top: -1px;
+}
+.tox .tox-pop.tox-pop--bottom::before {
+ border-color: #cccccc transparent transparent transparent;
+ border-width: 9px;
+ margin-left: -9px;
+}
+.tox .tox-pop.tox-pop--top::before,
+.tox .tox-pop.tox-pop--top::after {
+ left: 50%;
+ top: 0;
+ transform: translateY(-100%);
+}
+.tox .tox-pop.tox-pop--top::after {
+ border-color: transparent transparent #fff transparent;
+ border-width: 8px;
+ margin-left: -8px;
+ margin-top: 1px;
+}
+.tox .tox-pop.tox-pop--top::before {
+ border-color: transparent transparent #cccccc transparent;
+ border-width: 9px;
+ margin-left: -9px;
+}
+.tox .tox-pop.tox-pop--left::before,
+.tox .tox-pop.tox-pop--left::after {
+ left: 0;
+ top: calc(50% - 1px);
+ transform: translateY(-50%);
+}
+.tox .tox-pop.tox-pop--left::after {
+ border-color: transparent #fff transparent transparent;
+ border-width: 8px;
+ margin-left: -15px;
+}
+.tox .tox-pop.tox-pop--left::before {
+ border-color: transparent #cccccc transparent transparent;
+ border-width: 10px;
+ margin-left: -19px;
+}
+.tox .tox-pop.tox-pop--right::before,
+.tox .tox-pop.tox-pop--right::after {
+ left: 100%;
+ top: calc(50% + 1px);
+ transform: translateY(-50%);
+}
+.tox .tox-pop.tox-pop--right::after {
+ border-color: transparent transparent transparent #fff;
+ border-width: 8px;
+ margin-left: -1px;
+}
+.tox .tox-pop.tox-pop--right::before {
+ border-color: transparent transparent transparent #cccccc;
+ border-width: 10px;
+ margin-left: -1px;
+}
+.tox .tox-pop.tox-pop--align-left::before,
+.tox .tox-pop.tox-pop--align-left::after {
+ left: 20px;
+}
+.tox .tox-pop.tox-pop--align-right::before,
+.tox .tox-pop.tox-pop--align-right::after {
+ left: calc(100% - 20px);
+}
+.tox .tox-sidebar-wrap {
+ display: flex;
+ flex-direction: row;
+ flex-grow: 1;
+ -ms-flex-preferred-size: 0;
+ min-height: 0;
+}
+.tox .tox-sidebar {
+ background-color: #fff;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+}
+.tox .tox-sidebar__slider {
+ display: flex;
+ overflow: hidden;
+}
+.tox .tox-sidebar__pane-container {
+ display: flex;
+}
+.tox .tox-sidebar__pane {
+ display: flex;
+}
+.tox .tox-sidebar--sliding-closed {
+ opacity: 0;
+}
+.tox .tox-sidebar--sliding-open {
+ opacity: 1;
+}
+.tox .tox-sidebar--sliding-growing,
+.tox .tox-sidebar--sliding-shrinking {
+ transition: width 0.5s ease, opacity 0.5s ease;
+}
+.tox .tox-selector {
+ background-color: #4099ff;
+ border-color: #4099ff;
+ border-style: solid;
+ border-width: 1px;
+ box-sizing: border-box;
+ display: inline-block;
+ height: 10px;
+ position: absolute;
+ width: 10px;
+}
+.tox.tox-platform-touch .tox-selector {
+ height: 12px;
+ width: 12px;
+}
+.tox .tox-slider {
+ align-items: center;
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+ height: 24px;
+ justify-content: center;
+ position: relative;
+}
+.tox .tox-slider__rail {
+ background-color: transparent;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ height: 10px;
+ min-width: 120px;
+ width: 100%;
+}
+.tox .tox-slider__handle {
+ background-color: #207ab7;
+ border: 2px solid #185d8c;
+ border-radius: 3px;
+ box-shadow: none;
+ height: 24px;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ width: 14px;
+}
+.tox .tox-source-code {
+ overflow: auto;
+}
+.tox .tox-spinner {
+ display: flex;
+}
+.tox .tox-spinner > div {
+ animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both;
+ background-color: rgba(34, 47, 62, 0.7);
+ border-radius: 100%;
+ height: 8px;
+ width: 8px;
+}
+.tox .tox-spinner > div:nth-child(1) {
+ animation-delay: -0.32s;
+}
+.tox .tox-spinner > div:nth-child(2) {
+ animation-delay: -0.16s;
+}
+@keyframes tam-bouncing-dots {
+ 0%,
+ 80%,
+ 100% {
+ transform: scale(0);
+ }
+ 40% {
+ transform: scale(1);
+ }
+}
+.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) {
+ margin-left: 4px;
+}
+.tox[dir=rtl] .tox-spinner > div:not(:first-child) {
+ margin-right: 4px;
+}
+.tox .tox-statusbar {
+ align-items: center;
+ background-color: #fff;
+ border-top: 1px solid #cccccc;
+ color: rgba(34, 47, 62, 0.7);
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 12px;
+ font-weight: normal;
+ height: 18px;
+ overflow: hidden;
+ padding: 0 8px;
+ position: relative;
+ text-transform: uppercase;
+}
+.tox .tox-statusbar__text-container {
+ display: flex;
+ flex: 1 1 auto;
+ justify-content: flex-end;
+ overflow: hidden;
+}
+.tox .tox-statusbar__path {
+ display: flex;
+ flex: 1 1 auto;
+ margin-right: auto;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tox .tox-statusbar__path > * {
+ display: inline;
+ white-space: nowrap;
+}
+.tox .tox-statusbar__wordcount {
+ flex: 0 0 auto;
+ margin-left: 1ch;
+}
+.tox .tox-statusbar a,
+.tox .tox-statusbar__path-item,
+.tox .tox-statusbar__wordcount {
+ color: rgba(34, 47, 62, 0.7);
+ text-decoration: none;
+}
+.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),
+.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) {
+ cursor: pointer;
+ text-decoration: underline;
+}
+.tox .tox-statusbar__resize-handle {
+ align-items: flex-end;
+ align-self: stretch;
+ cursor: nwse-resize;
+ display: flex;
+ flex: 0 0 auto;
+ justify-content: flex-end;
+ margin-left: auto;
+ margin-right: -8px;
+ padding-left: 1ch;
+}
+.tox .tox-statusbar__resize-handle svg {
+ display: block;
+ fill: rgba(34, 47, 62, 0.7);
+}
+.tox:not([dir=rtl]) .tox-statusbar__path > * {
+ margin-right: 4px;
+}
+.tox:not([dir=rtl]) .tox-statusbar__branding {
+ margin-left: 1ch;
+}
+.tox[dir=rtl] .tox-statusbar {
+ flex-direction: row-reverse;
+}
+.tox[dir=rtl] .tox-statusbar__path > * {
+ margin-left: 4px;
+}
+.tox .tox-throbber {
+ z-index: 1400;
+}
+.tox .tox-throbber__busy-spinner {
+ align-items: center;
+ background-color: rgba(255, 255, 255, 0.6);
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+.tox .tox-tbtn {
+ align-items: center;
+ background: transparent;
+ border: 0;
+ border-radius: 3px;
+ box-shadow: none;
+ color: #222f3e;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ height: 34px;
+ justify-content: center;
+ margin: 2px 0 3px 0;
+ outline: none;
+ overflow: hidden;
+ padding: 0;
+ text-transform: none;
+ width: 34px;
+}
+.tox .tox-tbtn svg {
+ display: block;
+ fill: #222f3e;
+}
+.tox .tox-tbtn.tox-tbtn-more {
+ padding-left: 5px;
+ padding-right: 5px;
+ width: inherit;
+}
+.tox .tox-tbtn:focus {
+ background: #dee0e2;
+ border: 0;
+ box-shadow: none;
+}
+.tox .tox-tbtn:hover {
+ background: #dee0e2;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tbtn:hover svg {
+ fill: #222f3e;
+}
+.tox .tox-tbtn:active {
+ background: #c8cbcf;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tbtn:active svg {
+ fill: #222f3e;
+}
+.tox .tox-tbtn--disabled,
+.tox .tox-tbtn--disabled:hover,
+.tox .tox-tbtn:disabled,
+.tox .tox-tbtn:disabled:hover {
+ background: transparent;
+ border: 0;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-tbtn--disabled svg,
+.tox .tox-tbtn--disabled:hover svg,
+.tox .tox-tbtn:disabled svg,
+.tox .tox-tbtn:disabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-tbtn--enabled,
+.tox .tox-tbtn--enabled:hover {
+ background: #c8cbcf;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tbtn--enabled > *,
+.tox .tox-tbtn--enabled:hover > * {
+ transform: none;
+}
+.tox .tox-tbtn--enabled svg,
+.tox .tox-tbtn--enabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: #222f3e;
+}
+.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) {
+ color: #222f3e;
+}
+.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg {
+ fill: #222f3e;
+}
+.tox .tox-tbtn:active > * {
+ transform: none;
+}
+.tox .tox-tbtn--md {
+ height: 51px;
+ width: 51px;
+}
+.tox .tox-tbtn--lg {
+ flex-direction: column;
+ height: 68px;
+ width: 68px;
+}
+.tox .tox-tbtn--return {
+ -ms-grid-row-align: stretch;
+ align-self: stretch;
+ height: unset;
+ width: 16px;
+}
+.tox .tox-tbtn--labeled {
+ padding: 0 4px;
+ width: unset;
+}
+.tox .tox-tbtn__vlabel {
+ display: block;
+ font-size: 10px;
+ font-weight: normal;
+ letter-spacing: -0.025em;
+ margin-bottom: 4px;
+ white-space: nowrap;
+}
+.tox .tox-tbtn--select {
+ margin: 2px 0 3px 0;
+ padding: 0 4px;
+ width: auto;
+}
+.tox .tox-tbtn__select-label {
+ cursor: default;
+ font-weight: normal;
+ margin: 0 4px;
+}
+.tox .tox-tbtn__select-chevron {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ width: 16px;
+}
+.tox .tox-tbtn__select-chevron svg {
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-tbtn--bespoke .tox-tbtn__select-label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 7em;
+}
+.tox .tox-split-button {
+ border: 0;
+ border-radius: 3px;
+ box-sizing: border-box;
+ display: flex;
+ margin: 2px 0 3px 0;
+ overflow: hidden;
+}
+.tox .tox-split-button:hover {
+ box-shadow: 0 0 0 1px #dee0e2 inset;
+}
+.tox .tox-split-button:focus {
+ background: #dee0e2;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-split-button > * {
+ border-radius: 0;
+}
+.tox .tox-split-button__chevron {
+ width: 16px;
+}
+.tox .tox-split-button__chevron svg {
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-split-button .tox-tbtn {
+ margin: 0;
+}
+.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child {
+ width: 30px;
+}
+.tox.tox-platform-touch .tox-split-button__chevron {
+ width: 20px;
+}
+.tox .tox-split-button.tox-tbtn--disabled:hover,
+.tox .tox-split-button.tox-tbtn--disabled:focus,
+.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,
+.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus {
+ background: transparent;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-toolbar-overlord {
+ background-color: #fff;
+}
+.tox .tox-toolbar,
+.tox .tox-toolbar__primary,
+.tox .tox-toolbar__overflow {
+ background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;
+ background-color: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ padding: 0 0;
+}
+.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed {
+ height: 0;
+ opacity: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+ visibility: hidden;
+}
+.tox .tox-toolbar__overflow--growing {
+ transition: height 0.3s ease, opacity 0.2s linear 0.1s;
+}
+.tox .tox-toolbar__overflow--shrinking {
+ transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
+}
+.tox .tox-menubar + .tox-toolbar,
+.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {
+ border-top: 1px solid #cccccc;
+ margin-top: -1px;
+}
+.tox .tox-toolbar--scrolling {
+ flex-wrap: nowrap;
+ overflow-x: auto;
+}
+.tox .tox-pop .tox-toolbar {
+ border-width: 0;
+}
+.tox .tox-toolbar--no-divider {
+ background-image: none;
+}
+.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child,
+.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary {
+ border-top: 1px solid #cccccc;
+}
+.tox.tox-tinymce-aux .tox-toolbar__overflow {
+ background-color: #fff;
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+}
+.tox[dir=rtl] .tox-tbtn__icon-rtl svg {
+ transform: rotateY(180deg);
+}
+.tox .tox-toolbar__group {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0 0;
+ padding: 0 4px 0 4px;
+}
+.tox .tox-toolbar__group--pull-right {
+ margin-left: auto;
+}
+.tox .tox-toolbar--scrolling .tox-toolbar__group {
+ flex-shrink: 0;
+ flex-wrap: nowrap;
+}
+.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) {
+ border-right: 1px solid #cccccc;
+}
+.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) {
+ border-left: 1px solid #cccccc;
+}
+.tox .tox-tooltip {
+ display: inline-block;
+ padding: 8px;
+ position: relative;
+}
+.tox .tox-tooltip__body {
+ background-color: #222f3e;
+ border-radius: 3px;
+ box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3);
+ color: rgba(255, 255, 255, 0.75);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ padding: 4px 8px;
+ text-transform: none;
+}
+.tox .tox-tooltip__arrow {
+ position: absolute;
+}
+.tox .tox-tooltip--down .tox-tooltip__arrow {
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-top: 8px solid #222f3e;
+ bottom: 0;
+ left: 50%;
+ position: absolute;
+ transform: translateX(-50%);
+}
+.tox .tox-tooltip--up .tox-tooltip__arrow {
+ border-bottom: 8px solid #222f3e;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ left: 50%;
+ position: absolute;
+ top: 0;
+ transform: translateX(-50%);
+}
+.tox .tox-tooltip--right .tox-tooltip__arrow {
+ border-bottom: 8px solid transparent;
+ border-left: 8px solid #222f3e;
+ border-top: 8px solid transparent;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-tooltip--left .tox-tooltip__arrow {
+ border-bottom: 8px solid transparent;
+ border-right: 8px solid #222f3e;
+ border-top: 8px solid transparent;
+ left: 0;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.tox .tox-well {
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ padding: 8px;
+ width: 100%;
+}
+.tox .tox-well > *:first-child {
+ margin-top: 0;
+}
+.tox .tox-well > *:last-child {
+ margin-bottom: 0;
+}
+.tox .tox-well > *:only-child {
+ margin: 0;
+}
+.tox .tox-custom-editor {
+ border: 1px solid #cccccc;
+ border-radius: 3px;
+ display: flex;
+ flex: 1;
+ position: relative;
+}
+/* stylelint-disable */
+.tox {
+ /* stylelint-enable */
+}
+.tox .tox-dialog-loading::before {
+ background-color: rgba(0, 0, 0, 0.5);
+ content: "";
+ height: 100%;
+ position: absolute;
+ width: 100%;
+ z-index: 1000;
+}
+.tox .tox-tab {
+ cursor: pointer;
+}
+.tox .tox-dialog__content-js {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-dialog__body-content .tox-collection {
+ display: flex;
+ flex: 1;
+ -ms-flex-preferred-size: auto;
+}
+.tox .tox-image-tools-edit-panel {
+ height: 60px;
+}
+.tox .tox-image-tools__sidebar {
+ height: 60px;
+}
diff --git a/public/tinymce/skins/ui/oxide/skin.min.css b/public/tinymce/skins/ui/oxide/skin.min.css
new file mode 100644
index 00000000..43b83451
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/skin.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tox{box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{border:1px solid #ccc;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}.tox .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}.tox .accessibility-issue--info h2{color:#207ab7}.tox .accessibility-issue--info .tox-icon svg{fill:#207ab7}.tox .accessibility-issue--info a .tox-icon{color:#207ab7}.tox .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}.tox .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .accessibility-issue--warn h2{color:#cc8500}.tox .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}.tox .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}.tox .accessibility-issue--error h2{color:#c00}.tox .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .accessibility-issue--error a .tox-icon{color:#c00}.tox .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}.tox .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}.tox .accessibility-issue--success h2{color:#78ab46}.tox .accessibility-issue--success .tox-icon svg{fill:#78ab46}.tox .accessibility-issue--success a .tox-icon{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:capitalize;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;outline:0;padding:4px 16px;text-decoration:none;text-transform:capitalize}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{font-size:20px;font-weight:700;margin-bottom:16px;margin-top:2rem}.tox .tox-dialog__body-content .tox-form__group h2{font-size:16px;font-weight:700;margin-bottom:16px;margin-top:2rem}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #ccc}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}body.tox-dialog__disable-scroll{overflow:hidden}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-selectfield select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox-fullscreen .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-fullscreen .tox.tox-tinymce.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#222f3e}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#222f3e}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1400}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}.tox .tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px}
diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.css b/public/tinymce/skins/ui/oxide/skin.mobile.css
new file mode 100644
index 00000000..875721a2
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/skin.mobile.css
@@ -0,0 +1,673 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+/* RESET all the things! */
+.tinymce-mobile-outer-container {
+ all: initial;
+ display: block;
+}
+.tinymce-mobile-outer-container * {
+ border: 0;
+ box-sizing: initial;
+ cursor: inherit;
+ float: none;
+ line-height: 1;
+ margin: 0;
+ outline: 0;
+ padding: 0;
+ -webkit-tap-highlight-color: transparent;
+ /* TBIO-3691, stop the gray flicker on touch. */
+ text-shadow: none;
+ white-space: nowrap;
+}
+.tinymce-mobile-icon-arrow-back::before {
+ content: "\e5cd";
+}
+.tinymce-mobile-icon-image::before {
+ content: "\e412";
+}
+.tinymce-mobile-icon-cancel-circle::before {
+ content: "\e5c9";
+}
+.tinymce-mobile-icon-full-dot::before {
+ content: "\e061";
+}
+.tinymce-mobile-icon-align-center::before {
+ content: "\e234";
+}
+.tinymce-mobile-icon-align-left::before {
+ content: "\e236";
+}
+.tinymce-mobile-icon-align-right::before {
+ content: "\e237";
+}
+.tinymce-mobile-icon-bold::before {
+ content: "\e238";
+}
+.tinymce-mobile-icon-italic::before {
+ content: "\e23f";
+}
+.tinymce-mobile-icon-unordered-list::before {
+ content: "\e241";
+}
+.tinymce-mobile-icon-ordered-list::before {
+ content: "\e242";
+}
+.tinymce-mobile-icon-font-size::before {
+ content: "\e245";
+}
+.tinymce-mobile-icon-underline::before {
+ content: "\e249";
+}
+.tinymce-mobile-icon-link::before {
+ content: "\e157";
+}
+.tinymce-mobile-icon-unlink::before {
+ content: "\eca2";
+}
+.tinymce-mobile-icon-color::before {
+ content: "\e891";
+}
+.tinymce-mobile-icon-previous::before {
+ content: "\e314";
+}
+.tinymce-mobile-icon-next::before {
+ content: "\e315";
+}
+.tinymce-mobile-icon-large-font::before,
+.tinymce-mobile-icon-style-formats::before {
+ content: "\e264";
+}
+.tinymce-mobile-icon-undo::before {
+ content: "\e166";
+}
+.tinymce-mobile-icon-redo::before {
+ content: "\e15a";
+}
+.tinymce-mobile-icon-removeformat::before {
+ content: "\e239";
+}
+.tinymce-mobile-icon-small-font::before {
+ content: "\e906";
+}
+.tinymce-mobile-icon-readonly-back::before,
+.tinymce-mobile-format-matches::after {
+ content: "\e5ca";
+}
+.tinymce-mobile-icon-small-heading::before {
+ content: "small";
+}
+.tinymce-mobile-icon-large-heading::before {
+ content: "large";
+}
+.tinymce-mobile-icon-small-heading::before,
+.tinymce-mobile-icon-large-heading::before {
+ font-family: sans-serif;
+ font-size: 80%;
+}
+.tinymce-mobile-mask-edit-icon::before {
+ content: "\e254";
+}
+.tinymce-mobile-icon-back::before {
+ content: "\e5c4";
+}
+.tinymce-mobile-icon-heading::before {
+ /* TODO: Translate */
+ content: "Headings";
+ font-family: sans-serif;
+ font-size: 80%;
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h1::before {
+ content: "H1";
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h2::before {
+ content: "H2";
+ font-weight: bold;
+}
+.tinymce-mobile-icon-h3::before {
+ content: "H3";
+ font-weight: bold;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ background: rgba(51, 51, 51, 0.5);
+ height: 100%;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container {
+ align-items: center;
+ border-radius: 50%;
+ display: flex;
+ flex-direction: column;
+ font-family: sans-serif;
+ font-size: 1em;
+ justify-content: space-between;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ border-radius: 50%;
+ height: 2.1em;
+ width: 2.1em;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ font-size: 1em;
+}
+@media only screen and (min-device-width:700px) {
+ .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
+ font-size: 1.2em;
+ }
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ border-radius: 50%;
+ height: 2.1em;
+ width: 2.1em;
+ background-color: white;
+ color: #207ab7;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before {
+ content: "\e900";
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon {
+ z-index: 2;
+}
+.tinymce-mobile-android-container.tinymce-mobile-android-maximized {
+ background: #ffffff;
+ border: none;
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+}
+.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) {
+ position: relative;
+}
+.tinymce-mobile-android-container .tinymce-mobile-editor-socket {
+ display: flex;
+ flex-grow: 1;
+}
+.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe {
+ display: flex !important;
+ flex-grow: 1;
+ height: auto !important;
+}
+.tinymce-mobile-android-scroll-reload {
+ overflow: hidden;
+}
+:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar {
+ margin-top: 23px;
+}
+.tinymce-mobile-toolstrip {
+ background: #fff;
+ display: flex;
+ flex: 0 0 auto;
+ z-index: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar {
+ align-items: center;
+ background-color: #fff;
+ border-bottom: 1px solid #cccccc;
+ display: flex;
+ flex: 1;
+ height: 2.5em;
+ width: 100%;
+ /* Make it no larger than the toolstrip, so that it needs to scroll */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex-shrink: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container {
+ background: #f44336;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group {
+ flex-grow: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button {
+ align-items: center;
+ display: flex;
+ height: 80%;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected {
+ background: #c8cbcf;
+ color: #cccccc;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type {
+ background: #207ab7;
+ color: #eceff1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar {
+ /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+ padding-bottom: 0.4em;
+ padding-top: 0.4em;
+ /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */
+ /* For widgets like the colour picker, use the whole height */
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog {
+ display: flex;
+ min-height: 1.5em;
+ overflow: hidden;
+ padding-left: 0;
+ padding-right: 0;
+ position: relative;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain {
+ display: flex;
+ height: 100%;
+ transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen {
+ display: flex;
+ flex: 0 0 auto;
+ justify-content: space-between;
+ width: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input {
+ font-family: Sans-serif;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container {
+ display: flex;
+ flex-grow: 1;
+ position: relative;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x {
+ -ms-grid-row-align: center;
+ align-self: center;
+ background: inherit;
+ border: none;
+ border-radius: 50%;
+ color: #888;
+ font-size: 0.6em;
+ font-weight: bold;
+ height: 100%;
+ padding-right: 2px;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x {
+ display: none;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next {
+ align-items: center;
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before {
+ align-items: center;
+ display: flex;
+ font-weight: bold;
+ height: 100%;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before {
+ visibility: hidden;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item {
+ color: #cccccc;
+ font-size: 10px;
+ line-height: 10px;
+ margin: 0 2px;
+ padding-top: 3px;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active {
+ color: #c8cbcf;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before {
+ margin-left: 0.5em;
+ margin-right: 0.9em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before {
+ margin-left: 0.9em;
+ margin-right: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider {
+ display: flex;
+ flex: 1;
+ margin-left: 0;
+ margin-right: 0;
+ padding: 0.28em 0;
+ position: relative;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container {
+ align-items: center;
+ display: flex;
+ flex-grow: 1;
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line {
+ background: #cccccc;
+ display: flex;
+ flex: 1;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container {
+ padding-left: 2em;
+ padding-right: 2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container {
+ align-items: center;
+ display: flex;
+ flex-grow: 1;
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient {
+ background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%);
+ display: flex;
+ flex: 1;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black {
+ /* Not part of theming */
+ background: black;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+ width: 1.2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white {
+ /* Not part of theming */
+ background: white;
+ height: 0.2em;
+ margin-bottom: 0.3em;
+ margin-top: 0.3em;
+ width: 1.2em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb {
+ /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave
+ * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is
+ * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without
+ * this approach.
+ */
+ align-items: center;
+ background-clip: padding-box;
+ background-color: #455a64;
+ border: 0.5em solid rgba(136, 136, 136, 0);
+ border-radius: 3em;
+ bottom: 0;
+ color: #fff;
+ display: flex;
+ height: 0.5em;
+ justify-content: center;
+ left: -10px;
+ margin: auto;
+ position: absolute;
+ top: 0;
+ transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1);
+ width: 0.5em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active {
+ border: 0.5em solid rgba(136, 136, 136, 0.39);
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div {
+ align-items: center;
+ display: flex;
+ height: 100%;
+ flex: 1;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper {
+ flex-direction: column;
+ justify-content: center;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
+ align-items: center;
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) {
+ height: 100%;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container {
+ display: flex;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input {
+ background: #ffffff;
+ border: none;
+ border-radius: 0;
+ color: #455a64;
+ flex-grow: 1;
+ font-size: 0.85em;
+ padding-bottom: 0.1em;
+ padding-left: 5px;
+ padding-top: 0.1em;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder {
+ /* WebKit, Blink, Edge */
+ color: #888;
+}
+.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder {
+ /* WebKit, Blink, Edge */
+ color: #888;
+}
+/* dropup */
+.tinymce-mobile-dropup {
+ background: white;
+ display: flex;
+ overflow: hidden;
+ width: 100%;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking {
+ transition: height 0.3s ease-out;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-growing {
+ transition: height 0.3s ease-in;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-closed {
+ flex-grow: 0;
+}
+.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) {
+ flex-grow: 1;
+}
+/* TODO min-height for device size and orientation */
+.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 200px;
+}
+@media only screen and (orientation: landscape) {
+ .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 200px;
+ }
+}
+@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
+ .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
+ min-height: 150px;
+ }
+}
+/* styles menu */
+.tinymce-mobile-styles-menu {
+ font-family: sans-serif;
+ outline: 4px solid black;
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+}
+.tinymce-mobile-styles-menu [role="menu"] {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ position: absolute;
+ width: 100%;
+}
+.tinymce-mobile-styles-menu [role="menu"].transitioning {
+ transition: transform 0.5s ease-in-out;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item {
+ border-bottom: 1px solid #ddd;
+ color: #455a64;
+ cursor: pointer;
+ display: flex;
+ padding: 1em 1em;
+ position: relative;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before {
+ color: #455a64;
+ content: "\e314";
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after {
+ color: #455a64;
+ content: "\e315";
+ font-family: 'tinymce-mobile', sans-serif;
+ padding-left: 1em;
+ padding-right: 1em;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after {
+ font-family: 'tinymce-mobile', sans-serif;
+ padding-left: 1em;
+ padding-right: 1em;
+ position: absolute;
+ right: 0;
+}
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,
+.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser {
+ align-items: center;
+ background: #fff;
+ border-top: #455a64;
+ color: #455a64;
+ display: flex;
+ min-height: 2.5em;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="before"] {
+ transform: translate(-100%);
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="current"] {
+ transform: translate(0%);
+}
+.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],
+.tinymce-mobile-styles-menu [data-transitioning-state="after"] {
+ transform: translate(100%);
+}
+@font-face {
+ font-family: 'tinymce-mobile';
+ font-style: normal;
+ font-weight: normal;
+ src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff');
+}
+@media (min-device-width: 700px) {
+ .tinymce-mobile-outer-container,
+ .tinymce-mobile-outer-container input {
+ font-size: 25px;
+ }
+}
+@media (max-device-width: 700px) {
+ .tinymce-mobile-outer-container,
+ .tinymce-mobile-outer-container input {
+ font-size: 18px;
+ }
+}
+.tinymce-mobile-icon {
+ font-family: 'tinymce-mobile', sans-serif;
+}
+.mixin-flex-and-centre {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+.mixin-flex-bar {
+ align-items: center;
+ display: flex;
+ height: 100%;
+}
+.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe {
+ background-color: #fff;
+ width: 100%;
+}
+.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */
+ background-color: #207ab7;
+ border-radius: 50%;
+ bottom: 1em;
+ color: white;
+ font-size: 1em;
+ height: 2.1em;
+ position: fixed;
+ right: 2em;
+ width: 2.1em;
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+@media only screen and (min-device-width:700px) {
+ .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ font-size: 1.2em;
+ }
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket {
+ height: 300px;
+ overflow: hidden;
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe {
+ height: 100%;
+}
+.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip {
+ display: none;
+}
+/*
+ Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets
+ increased and the whole body becomes scrollable. It's important!
+ */
+input[type="file"]::-webkit-file-upload-button {
+ display: none;
+}
+@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
+ .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
+ bottom: 50%;
+ }
+}
diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.min.css b/public/tinymce/skins/ui/oxide/skin.mobile.min.css
new file mode 100644
index 00000000..3a45cacf
--- /dev/null
+++ b/public/tinymce/skins/ui/oxide/skin.mobile.min.css
@@ -0,0 +1,7 @@
+/**
+ * Copyright (c) Tiny Technologies, Inc. All rights reserved.
+ * Licensed under the LGPL or a commercial license.
+ * For LGPL see License.txt in the project root for license information.
+ * For commercial licenses see https://www.tiny.cloud/
+ */
+.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
diff --git a/scss.template.hbs b/scss.template.hbs
new file mode 100644
index 00000000..7821aed7
--- /dev/null
+++ b/scss.template.hbs
@@ -0,0 +1,66 @@
+{
+ // Default options
+ 'functions': true,
+ 'variableNameTransforms': ['dasherize']
+}
+
+{{#block "sprites"}}
+{{#each sprites}}
+${{../spritesheet_info.strings.name}}-sprite-{{strings.name}}: ({{px.x}}, {{px.y}}, {{px.offset_x}}, {{px.offset_y}}, {{px.width}}, {{px.height}}, {{px.total_width}}, {{px.total_height}}, '{{{escaped_image}}}', '{{name}}');
+{{/each}}
+
+${{spritesheet_info.strings.name}}-sprites: (
+{{#each sprites}}
+ {{strings.name}}: ${{../spritesheet_info.strings.name}}-sprite-{{strings.name}},
+{{/each}}
+);
+{{/block}}
+
+{{#block "sprite-functions"}}
+{{#if options.functions}}
+@mixin {{spritesheet_info.strings.name}}-sprite-width($sprite) {
+ width: nth($sprite, 5);
+}
+
+@mixin {{spritesheet_info.strings.name}}-sprite-height($sprite) {
+ height: nth($sprite, 6);
+}
+
+@mixin {{spritesheet_info.strings.name}}-sprite-position($sprite) {
+ $sprite-offset-x: nth($sprite, 3);
+ $sprite-offset-y: nth($sprite, 4);
+ background-position: $sprite-offset-x $sprite-offset-y;
+}
+
+@mixin {{spritesheet_info.strings.name}}-sprite-size($sprite) {
+ background-size: nth($sprite, 7) nth($sprite, 8);
+}
+
+@mixin {{spritesheet_info.strings.name}}-sprite-image($sprite) {
+ $sprite-image: nth($sprite, 9);
+ background-image: url(#{$sprite-image});
+}
+
+@mixin {{spritesheet_info.strings.name}}-sprite($name) {
+ @include {{spritesheet_info.strings.name}}-sprite-image(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
+ @include {{spritesheet_info.strings.name}}-sprite-position(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
+ @include {{spritesheet_info.strings.name}}-sprite-size(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
+ @include {{spritesheet_info.strings.name}}-sprite-width(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
+ @include {{spritesheet_info.strings.name}}-sprite-height(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
+ background-repeat: no-repeat;
+}
+{{/if}}
+{{/block}}
+
+{{#block "spritesheet-functions"}}
+{{#if options.functions}}
+@mixin all-{{spritesheet_info.strings.name}}-sprites() {
+ @each $key, $val in ${{spritesheet_info.strings.name}}-sprites {
+ $sprite-name: nth($val, 10);
+ .{{spritesheet_info.strings.name}}-#{$sprite-name}-sprites {
+ @include {{spritesheet_info.strings.name}}-sprite($key);
+ }
+ }
+}
+{{/if}}
+{{/block}}
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 00000000..a8d1d884
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/api/index.js b/src/api/index.js
new file mode 100644
index 00000000..58662181
--- /dev/null
+++ b/src/api/index.js
@@ -0,0 +1,72 @@
+import axios from 'axios'
+import qs from 'qs'
+import router from '@/router/index'
+import store from '@/store/index'
+import { Message } from 'element-ui'
+
+const toLogin = () => {
+ router.push({
+ path: '/login',
+ query: {
+ redirect: router.currentRoute.fullPath
+ }
+ })
+}
+
+const api = axios.create({
+ baseURL: process.env.NODE_ENV !== 'development' && process.env.VUE_APP_API_ROOT,
+ timeout: 10000,
+ responseType: 'json'
+ // withCredentials: true
+})
+
+api.interceptors.request.use(
+ request => {
+ if (request.method == 'post') {
+ if (request.data instanceof FormData) {
+ if (store.getters['token/isLogin']) {
+ // 如果是 FormData 类型(上传图片)
+ request.data.append('token', store.state.token.token)
+ }
+ } else {
+ // 带上 token
+ if (request.data == undefined) {
+ request.data = {}
+ }
+ if (store.getters['token/isLogin']) {
+ request.data.token = store.state.token.token
+ }
+ request.data = qs.stringify(request.data)
+ }
+ } else {
+ // 带上 token
+ if (request.params == undefined) {
+ request.params = {}
+ }
+ if (store.getters['token/isLogin']) {
+ request.params.token = store.state.token.token
+ }
+ }
+ return request
+ }
+)
+
+api.interceptors.response.use(
+ response => {
+ if (response.data.error != '') {
+ // 如果接口请求时发现 token 失效,则立马跳转到登录页
+ if (response.data.status == 0) {
+ toLogin()
+ return false
+ }
+ Message.error(response.data.error)
+ return Promise.reject(response.data)
+ }
+ return Promise.resolve(response.data)
+ },
+ error => {
+ return Promise.reject(error)
+ }
+)
+
+export default api
diff --git a/src/assets/icons/404.svg b/src/assets/icons/404.svg
new file mode 100644
index 00000000..7e5f96bc
--- /dev/null
+++ b/src/assets/icons/404.svg
@@ -0,0 +1,66 @@
+
+
\ No newline at end of file
diff --git a/src/assets/icons/collapse.svg b/src/assets/icons/collapse.svg
new file mode 100644
index 00000000..252715e5
--- /dev/null
+++ b/src/assets/icons/collapse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/eye-open.svg b/src/assets/icons/eye-open.svg
new file mode 100644
index 00000000..88dcc98e
--- /dev/null
+++ b/src/assets/icons/eye-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/eye.svg b/src/assets/icons/eye.svg
new file mode 100644
index 00000000..16ed2d87
--- /dev/null
+++ b/src/assets/icons/eye.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/fullscreen-exit.svg b/src/assets/icons/fullscreen-exit.svg
new file mode 100644
index 00000000..08aa0afd
--- /dev/null
+++ b/src/assets/icons/fullscreen-exit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/fullscreen.svg b/src/assets/icons/fullscreen.svg
new file mode 100644
index 00000000..10fb23d2
--- /dev/null
+++ b/src/assets/icons/fullscreen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-load-fail.svg b/src/assets/icons/image-load-fail.svg
new file mode 100644
index 00000000..cbf0d999
--- /dev/null
+++ b/src/assets/icons/image-load-fail.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/password.svg b/src/assets/icons/password.svg
new file mode 100644
index 00000000..e291d85d
--- /dev/null
+++ b/src/assets/icons/password.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/reload.svg b/src/assets/icons/reload.svg
new file mode 100644
index 00000000..8123b667
--- /dev/null
+++ b/src/assets/icons/reload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/search.svg b/src/assets/icons/search.svg
new file mode 100644
index 00000000..e8d44839
--- /dev/null
+++ b/src/assets/icons/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-breadcrumb.svg b/src/assets/icons/sidebar-breadcrumb.svg
new file mode 100644
index 00000000..f6546787
--- /dev/null
+++ b/src/assets/icons/sidebar-breadcrumb.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-component.svg b/src/assets/icons/sidebar-component.svg
new file mode 100644
index 00000000..1b8a20cd
--- /dev/null
+++ b/src/assets/icons/sidebar-component.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-default.svg b/src/assets/icons/sidebar-default.svg
new file mode 100644
index 00000000..059be47a
--- /dev/null
+++ b/src/assets/icons/sidebar-default.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-external-link.svg b/src/assets/icons/sidebar-external-link.svg
new file mode 100644
index 00000000..79960588
--- /dev/null
+++ b/src/assets/icons/sidebar-external-link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-keep-alive.svg b/src/assets/icons/sidebar-keep-alive.svg
new file mode 100644
index 00000000..cdd627fe
--- /dev/null
+++ b/src/assets/icons/sidebar-keep-alive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-layout.svg b/src/assets/icons/sidebar-layout.svg
new file mode 100644
index 00000000..dd4469f2
--- /dev/null
+++ b/src/assets/icons/sidebar-layout.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-menu.svg b/src/assets/icons/sidebar-menu.svg
new file mode 100644
index 00000000..9813baae
--- /dev/null
+++ b/src/assets/icons/sidebar-menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-other.svg b/src/assets/icons/sidebar-other.svg
new file mode 100644
index 00000000..1431cbda
--- /dev/null
+++ b/src/assets/icons/sidebar-other.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/sidebar-permission.svg b/src/assets/icons/sidebar-permission.svg
new file mode 100644
index 00000000..322e8db3
--- /dev/null
+++ b/src/assets/icons/sidebar-permission.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/theme.svg b/src/assets/icons/theme.svg
new file mode 100644
index 00000000..39207396
--- /dev/null
+++ b/src/assets/icons/theme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/user.svg b/src/assets/icons/user.svg
new file mode 100644
index 00000000..0ba0716a
--- /dev/null
+++ b/src/assets/icons/user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/alipay.png b/src/assets/images/alipay.png
new file mode 100644
index 00000000..4c4316f0
Binary files /dev/null and b/src/assets/images/alipay.png differ
diff --git a/src/assets/images/login/bg1.jpg b/src/assets/images/login/bg1.jpg
new file mode 100644
index 00000000..e43067cc
Binary files /dev/null and b/src/assets/images/login/bg1.jpg differ
diff --git a/src/assets/images/login/bg2.jpg b/src/assets/images/login/bg2.jpg
new file mode 100644
index 00000000..0a28d753
Binary files /dev/null and b/src/assets/images/login/bg2.jpg differ
diff --git a/src/assets/images/login/bg3.jpg b/src/assets/images/login/bg3.jpg
new file mode 100644
index 00000000..b3443592
Binary files /dev/null and b/src/assets/images/login/bg3.jpg differ
diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png
new file mode 100644
index 00000000..47d879d6
Binary files /dev/null and b/src/assets/images/logo.png differ
diff --git a/src/assets/images/wechat.png b/src/assets/images/wechat.png
new file mode 100644
index 00000000..d5ec525e
Binary files /dev/null and b/src/assets/images/wechat.png differ
diff --git a/src/assets/sprites/.gitkeep b/src/assets/sprites/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/src/assets/styles/reset.scss b/src/assets/styles/reset.scss
new file mode 100644
index 00000000..0fdbb95b
--- /dev/null
+++ b/src/assets/styles/reset.scss
@@ -0,0 +1,49 @@
+::-webkit-scrollbar {
+ width: 13px;
+ height: 13px;
+}
+::-webkit-scrollbar-thumb {
+ background-color: rgba(0, 0, 0, 0.4);
+ background-clip: padding-box;
+ border: 3px solid transparent;
+ border-radius: 7px;
+}
+::-webkit-scrollbar-thumb:hover {
+ background-color: rgba(0, 0, 0, 0.5);
+}
+::-webkit-scrollbar-track {
+ background-color: transparent;
+}
+::-webkit-scrollbar-track:hover {
+ background-color: #f8fafc;
+}
+html,
+body {
+ height: 100%;
+}
+body {
+ margin: 0;
+ color: #333;
+ background-color: $g-app-bg;
+ box-sizing: border-box;
+ font-family: Lato, PingFang SC, Microsoft YaHei, sans-serif;
+ &.hidden {
+ overflow: hidden;
+ }
+}
+* {
+ box-sizing: inherit;
+}
+// remix icon
+[class^="ri-"],
+[class*=" ri-"] {
+ vertical-align: middle;
+}
+.el-button [class*=ri-] + span {
+ margin-left: 5px;
+ vertical-align: middle;
+}
+// textarea 字体跟随系统
+textarea {
+ font-family: inherit;
+}
diff --git a/src/assets/styles/resources/utils.scss b/src/assets/styles/resources/utils.scss
new file mode 100644
index 00000000..841b8503
--- /dev/null
+++ b/src/assets/styles/resources/utils.scss
@@ -0,0 +1,52 @@
+// @mixin 通过 @include 调用使用
+// % 通过 @extend 调用使用
+
+// 文字超出隐藏,默认为单行超出隐藏,可设置多行
+@mixin text-overflow($line: 1, $fixed-width: true) {
+ @if ($line==1 and $fixed-width==true) {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ @else {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: $line;
+ overflow: hidden;
+ }
+}
+
+// 定位居中,默认水平居中,可选择垂直居中,或者水平垂直都居中
+@mixin position-center($type: x) {
+ position: absolute;
+ @if ($type==x) {
+ left: 50%;
+ transform: translateX(-50%);
+ }
+ @if ($type==y) {
+ top: 50%;
+ transform: translateY(-50%);
+ }
+ @if ($type==xy) {
+ left: 50%;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ }
+}
+
+// 文字两端对齐
+%justify-align {
+ text-align: justify;
+ text-align-last: justify;
+}
+
+// 清除浮动
+%clearfix {
+ zoom: 1;
+ &::before,
+ &::after {
+ content: '';
+ display: block;
+ clear: both;
+ }
+}
diff --git a/src/assets/styles/resources/variables.scss b/src/assets/styles/resources/variables.scss
new file mode 100644
index 00000000..11a1eb64
--- /dev/null
+++ b/src/assets/styles/resources/variables.scss
@@ -0,0 +1,59 @@
+// 全局变量
+
+// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
+$g-header-width: 100%;
+// 头部高度
+$g-header-height: 70px;
+// 面包屑高度(同时也是侧边栏Logo区域的高度)
+$g-breadcrumb-height: 50px;
+// 侧边栏宽度
+$g-main-sidebar-width: 60px;
+$g-sub-sidebar-width: 220px;
+$g-sidebar-width: var(--real-sidebar-width);
+
+// 应用背景色
+$g-app-bg: #fff;
+// 主区域背景色
+$g-main-bg: #f5f7f9;
+
+// 头部背景色
+$g-header-bg: #736477;
+// 头部导航文字颜色
+$g-header-menu-color: #fff;
+// 头部导航选中颜色
+$g-header-menu-active-bg: lighten($g-header-bg, 10);
+
+// 主侧边栏背景色
+$g-main-sidebar-bg: #736477;
+// 主侧边栏文字颜色
+$g-main-sidebar-menu-color: #fff;
+// 主侧边栏菜单选中背景色
+$g-main-sidebar-menu-active-bg: lighten($g-main-sidebar-bg, 10);
+
+// 次侧边栏背景色
+$g-sub-sidebar-bg: #ddcdcd;
+// 次侧边栏菜单文字颜色
+$g-sub-sidebar-menu-color: #89768f;
+// 次侧边栏菜单文字选中颜色
+$g-sub-sidebar-menu-active-color: darken($g-sub-sidebar-menu-color, 30);
+// 次侧边栏菜单选中背景色
+$g-sub-sidebar-menu-active-bg: #b5a5a5;
+
+// 输出给js使用
+:export {
+ g_main_sidebar_width: $g-main-sidebar-width;
+ g_sub_sidebar_width: $g-sub-sidebar-width;
+ g_sidebar_width: $g-main-sidebar-width + $g-sub-sidebar-width;
+ g_app_bg: $g-app-bg;
+ g_main_bg: $g-main-bg;
+ g_header_bg: $g-header-bg;
+ g_header_menu_color: $g-header-menu-color;
+ g_header_menu_active_bg: $g-header-menu-active-bg;
+ g_main_sidebar_bg: $g-main-sidebar-bg;
+ g_main_sidebar_menu_color: $g-main-sidebar-menu-color;
+ g_main_sidebar_menu_active_bg: $g-main-sidebar-menu-active-bg;
+ g_sub_sidebar_bg: $g-sub-sidebar-bg;
+ g_sub_sidebar_menu_color: $g-sub-sidebar-menu-color;
+ g_sub_sidebar_menu_active_color: $g-sub-sidebar-menu-active-color;
+ g_sub_sidebar_menu_active_bg: $g-sub-sidebar-menu-active-bg;
+}
diff --git a/src/components/Auth/index.vue b/src/components/Auth/index.vue
new file mode 100644
index 00000000..b508ea19
--- /dev/null
+++ b/src/components/Auth/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/AuthAll/index.vue b/src/components/AuthAll/index.vue
new file mode 100644
index 00000000..2aa834eb
--- /dev/null
+++ b/src/components/AuthAll/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/BatchActionBar/index.vue b/src/components/BatchActionBar/index.vue
new file mode 100644
index 00000000..d09c43b7
--- /dev/null
+++ b/src/components/BatchActionBar/index.vue
@@ -0,0 +1,80 @@
+
+
+
当页全选
+
已选 {{ selectionData.length }} 项
+
+
+
+
+
+
+
+
+
diff --git a/src/components/CascaderArea/index.vue b/src/components/CascaderArea/index.vue
new file mode 100644
index 00000000..89ad11d5
--- /dev/null
+++ b/src/components/CascaderArea/index.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
diff --git a/src/components/Copyright/index.vue b/src/components/Copyright/index.vue
new file mode 100644
index 00000000..975536fb
--- /dev/null
+++ b/src/components/Copyright/index.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue
new file mode 100644
index 00000000..f0a4b335
--- /dev/null
+++ b/src/components/Editor/index.vue
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue
new file mode 100644
index 00000000..55a84351
--- /dev/null
+++ b/src/components/FileUpload/index.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/FixedActionBar/index.vue b/src/components/FixedActionBar/index.vue
new file mode 100644
index 00000000..76f3b275
--- /dev/null
+++ b/src/components/FixedActionBar/index.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue
new file mode 100644
index 00000000..5a193c24
--- /dev/null
+++ b/src/components/ImagePreview/index.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue
new file mode 100644
index 00000000..43c83730
--- /dev/null
+++ b/src/components/ImageUpload/index.vue
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ImagesUpload/index.vue b/src/components/ImagesUpload/index.vue
new file mode 100644
index 00000000..534db6d2
--- /dev/null
+++ b/src/components/ImagesUpload/index.vue
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Logo/index.vue b/src/components/Logo/index.vue
new file mode 100644
index 00000000..836f1dfd
--- /dev/null
+++ b/src/components/Logo/index.vue
@@ -0,0 +1,109 @@
+
+
+
+ {{ title }}
+
+
+
+
+
+
diff --git a/src/components/PageHeader/index.vue b/src/components/PageHeader/index.vue
new file mode 100644
index 00000000..cc4e2bea
--- /dev/null
+++ b/src/components/PageHeader/index.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
diff --git a/src/components/PageMain/index.vue b/src/components/PageMain/index.vue
new file mode 100644
index 00000000..a0f7146b
--- /dev/null
+++ b/src/components/PageMain/index.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Result/index.vue b/src/components/Result/index.vue
new file mode 100644
index 00000000..fe8236d5
--- /dev/null
+++ b/src/components/Result/index.vue
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
{{ title }}
+
{{ desc }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/SearchBar/index.vue b/src/components/SearchBar/index.vue
new file mode 100644
index 00000000..bba82fe8
--- /dev/null
+++ b/src/components/SearchBar/index.vue
@@ -0,0 +1,55 @@
+
+
+
+
+ {{ isOpen ? '收起' : '展开' }}
+
+
+
+
+
+
+
diff --git a/src/components/SearchSidebar/index.vue b/src/components/SearchSidebar/index.vue
new file mode 100644
index 00000000..d532d490
--- /dev/null
+++ b/src/components/SearchSidebar/index.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
你可以使用快捷键ctrl+s唤醒搜索面板,按esc退出
+
+
+
+
+
+
+
+
+
diff --git a/src/components/SidebarItem/index.vue b/src/components/SidebarItem/index.vue
new file mode 100644
index 00000000..29d56bd9
--- /dev/null
+++ b/src/components/SidebarItem/index.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue
new file mode 100644
index 00000000..e8e61781
--- /dev/null
+++ b/src/components/SvgIcon/index.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/src/components/ThemeSetting/index.vue b/src/components/ThemeSetting/index.vue
new file mode 100644
index 00000000..89b00edf
--- /dev/null
+++ b/src/components/ThemeSetting/index.vue
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+ 显示
+ 隐藏
+
+
+
+
+ 启用
+ 关闭
+
+
+
+
+ 显示
+ 隐藏
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+ 开启
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Time/index.vue b/src/components/Time/index.vue
new file mode 100644
index 00000000..e547ed7c
--- /dev/null
+++ b/src/components/Time/index.vue
@@ -0,0 +1,96 @@
+
+ {{ date }}
+
+
+
diff --git a/src/components/Trend/index.vue b/src/components/Trend/index.vue
new file mode 100644
index 00000000..8f7727bc
--- /dev/null
+++ b/src/components/Trend/index.vue
@@ -0,0 +1,61 @@
+
+
+ {{ prefix }}
+ {{ value }}
+ {{ suffix }}
+
+
+
+
+
+
+
diff --git a/src/components/UserMenu/index.vue b/src/components/UserMenu/index.vue
new file mode 100644
index 00000000..e0f008b6
--- /dev/null
+++ b/src/components/UserMenu/index.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $store.state.token.account }}
+
+
+
+ 控制台
+ 个人设置
+ 退出登录
+
+
+
+
+
+
+
+
diff --git a/src/components/autoRegister.js b/src/components/autoRegister.js
new file mode 100644
index 00000000..94c774c4
--- /dev/null
+++ b/src/components/autoRegister.js
@@ -0,0 +1,21 @@
+/**
+ * 全局组件自动注册
+ *
+ * 全局组件各个组件按文件夹区分,文件夹名称与组件名无关联,但建议与组件名保持一致
+ * 文件夹内至少保留一个文件名为 index 的组件入口,例如 index.vue
+ * 普通组件必须设置 name 并保证其唯一,自动注册会将组件的 name 设为组件名,可参考 SvgIcon 组件写法
+ * 如果组件是通过 js 进行调用,则确保组件入口文件为 index.js,可参考 ExampleNotice 组件
+ */
+
+import Vue from 'vue'
+
+const componentsContext = require.context('./', true, /index.(vue|js)$/)
+componentsContext.keys().forEach(file_name => {
+ // 获取文件中的 default 模块
+ const componentConfig = componentsContext(file_name).default
+ if (/.vue$/.test(file_name)) {
+ Vue.component(componentConfig.name, componentConfig)
+ } else {
+ Vue.use(componentConfig)
+ }
+})
diff --git a/src/layout/index.vue b/src/layout/index.vue
new file mode 100644
index 00000000..de91f95a
--- /dev/null
+++ b/src/layout/index.vue
@@ -0,0 +1,496 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.meta.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/layout/keepAlive.vue b/src/layout/keepAlive.vue
new file mode 100644
index 00000000..e4b27e6e
--- /dev/null
+++ b/src/layout/keepAlive.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 00000000..1dc31a86
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,44 @@
+import Vue from 'vue'
+import App from './App.vue'
+import router from './router/index'
+import store from './store/index'
+
+import api from './api'
+Vue.prototype.$api = api
+
+import dayjs from 'dayjs'
+Vue.prototype.$dayjs = dayjs
+
+import auth from './util/auth'
+Vue.use(auth)
+
+import cookies from 'vue-cookies'
+Vue.use(cookies)
+
+import meta from 'vue-meta'
+Vue.use(meta)
+
+import ElementUI from 'element-ui'
+import 'element-ui/lib/theme-chalk/index.css'
+Vue.use(ElementUI)
+
+import hotkeys from 'hotkeys-js'
+Vue.prototype.$hotkeys = hotkeys
+
+// 全局组件自动注册
+import './components/autoRegister'
+
+// 自动加载 svg 图标
+const req = require.context('./assets/icons', false, /\.svg$/)
+const requireAll = requireContext => requireContext.keys().map(requireContext)
+requireAll(req)
+
+import './assets/styles/reset.scss'
+
+Vue.config.productionTip = false
+
+Vue.prototype.$eventBus = new Vue({
+ router,
+ store,
+ render: h => h(App)
+}).$mount('#app')
diff --git a/src/mixins/pagination.js b/src/mixins/pagination.js
new file mode 100644
index 00000000..f7e2309a
--- /dev/null
+++ b/src/mixins/pagination.js
@@ -0,0 +1,48 @@
+export default {
+ data() {
+ return {
+ loading: false,
+ sort: null,
+ order: null,
+ pagination: {
+ page: 1,
+ size: 10,
+ total: 0,
+ sizes: [10, 20, 50, 100],
+ layout: 'total, sizes, ->, prev, pager, next, jumper'
+ }
+ }
+ },
+ methods: {
+ getParams(params = {}) {
+ const baseParams = {
+ from: (this.pagination.page - 1) * this.pagination.size,
+ limit: this.pagination.size
+ }
+ if (this.sort && this.order) {
+ baseParams.sort = this.sort
+ baseParams.order = this.order
+ }
+ Object.assign(baseParams, params)
+ return baseParams
+ },
+ onSizeChange(size) {
+ this.pagination.size = size
+ this.getDataList()
+ },
+ onCurrentChange(page) {
+ this.pagination.page = page
+ this.getDataList()
+ },
+ onSortChange(params) {
+ if (params.order) {
+ this.sort = params.prop
+ this.order = params.order === 'ascending' ? 'asc' : 'desc'
+ } else {
+ this.sort = null
+ this.order = null
+ }
+ this.getDataList()
+ }
+ }
+}
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 00000000..6b0a9835
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,185 @@
+import Vue from 'vue'
+import Router from 'vue-router'
+import store from '@/store/index'
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css' // progress bar style
+
+Vue.use(Router)
+
+import Layout from '@/layout'
+import KeepAliveLayout from '@/layout/keepAlive'
+
+const constantRoutes = [
+ {
+ path: '/login',
+ name: 'login',
+ component: () => import('@/views/login'),
+ meta: {
+ title: '登录'
+ }
+ },
+ {
+ path: '/',
+ component: Layout,
+ redirect: '/dashboard',
+ children: [
+ {
+ path: 'dashboard',
+ name: 'dashboard',
+ component: () => import('@/views/index'),
+ meta: {
+ title: store.state.global.dashboardTitle
+ }
+ },
+ {
+ path: 'personal',
+ component: KeepAliveLayout,
+ redirect: '/personal/setting',
+ meta: {
+ title: '个人中心',
+ breadcrumb: false
+ },
+ children: [
+ {
+ path: 'setting',
+ name: 'personalSetting',
+ component: () => import('@/views/personal/setting'),
+ meta: {
+ title: '个人设置'
+ }
+ },
+ {
+ path: 'edit/password',
+ name: 'personalEditPassword',
+ component: () => import('@/views/personal/edit.password'),
+ meta: {
+ title: '修改密码'
+ }
+ }
+ ]
+ },
+ {
+ path: 'reload',
+ name: 'reload',
+ component: () => import('@/views/reload')
+ }
+ ]
+ }
+]
+
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+import BreadcrumbExample from './modules/breadcrumb.example'
+import KeepAliveExample from './modules/keep.alive.example'
+import ComponentExample from './modules/component.example'
+import PermissionExample from './modules/permission.example'
+import ExTernalLinkExample from './modules/external.link.example'
+
+// 当 children 不为空的主导航只有一项时,则隐藏
+let asyncRoutes = [
+ {
+ meta: {
+ title: '默认',
+ icon: 'sidebar-default'
+ },
+ children: [
+ MultilevelMenuExample,
+ BreadcrumbExample,
+ KeepAliveExample,
+ ComponentExample,
+ PermissionExample
+ ]
+ },
+ {
+ meta: {
+ title: '其它',
+ icon: 'sidebar-other'
+ },
+ children: [
+ ExTernalLinkExample
+ ]
+ }
+]
+
+const lastRoute = [{
+ path: '*',
+ component: () => import('@/views/404'),
+ meta: {
+ title: '404',
+ sidebar: false
+ }
+}]
+
+const router = new Router({
+ routes: constantRoutes
+})
+
+// 解决路由在 push/replace 了相同地址报错的问题
+const originalPush = Router.prototype.push
+Router.prototype.push = function push(location) {
+ return originalPush.call(this, location).catch(err => err)
+}
+const originalReplace = Router.prototype.replace
+Router.prototype.replace = function replace(location) {
+ return originalReplace.call(this, location).catch(err => err)
+}
+
+router.beforeEach(async(to, from, next) => {
+ store.state.global.enableProgress && NProgress.start()
+ // 已经登录,但还没根据权限动态挂载路由
+ if (store.getters['token/isLogin'] && !store.state.global.permissionInit) {
+ /**
+ * 重置 matcher
+ * https://blog.csdn.net/baidu_28647571/article/details/101711682
+ */
+ router.matcher = new Router({
+ routes: constantRoutes
+ }).matcher
+ const accessRoutes = await store.dispatch('global/generateRoutes', {
+ asyncRoutes,
+ currentPath: to.path
+ })
+ router.addRoutes(accessRoutes)
+ router.addRoutes(lastRoute)
+ next({ ...to, replace: true })
+ }
+ if (store.state.global.permissionInit) {
+ store.commit('global/setHeaderActive', to.path)
+ }
+ to.meta.title && store.commit('global/setTitle', to.meta.title)
+ if (store.getters['token/isLogin']) {
+ if (to.name) {
+ if (to.matched.length !== 0) {
+ // 如果未开启控制台页面,则默认进入侧边栏导航第一个模块
+ if (!store.state.global.enableDashboard && to.name == 'dashboard') {
+ next({
+ name: store.state.global.sidebarRoutes[0].name,
+ replace: true
+ })
+ } else {
+ next()
+ }
+ } else {
+ // 如果是通过 name 跳转,并且 name 对应的路由没有权限时,需要做这步处理,手动指向到 404 页面
+ next({
+ path: '/404'
+ })
+ }
+ } else {
+ next()
+ }
+ } else {
+ if (to.name != 'login') {
+ next({
+ name: 'login',
+ query: {
+ redirect: to.fullPath
+ }
+ })
+ } else {
+ next()
+ }
+ }
+ store.state.global.enableProgress && NProgress.done()
+})
+
+export default router
diff --git a/src/router/modules/breadcrumb.example.js b/src/router/modules/breadcrumb.example.js
new file mode 100644
index 00000000..1d75be4f
--- /dev/null
+++ b/src/router/modules/breadcrumb.example.js
@@ -0,0 +1,63 @@
+import Layout from '@/layout'
+import KeepAliveLayout from '@/layout/keepAlive'
+
+export default {
+ path: '/breadcrumb_example',
+ component: Layout,
+ redirect: '/breadcrumb_example/list1',
+ name: 'breadcrumbExample',
+ meta: {
+ title: '面包屑导航',
+ icon: 'sidebar-breadcrumb'
+ },
+ children: [
+ {
+ path: 'list1',
+ name: 'breadcrumbExampleList1',
+ component: () => import(/* webpackChunkName: 'breadcrumb_example' */ '@/views/breadcrumb_example/list1'),
+ meta: {
+ title: '列表1(平级模式)'
+ }
+ },
+ {
+ path: 'detail1',
+ name: 'breadcrumbExampleDetail1',
+ component: () => import(/* webpackChunkName: 'breadcrumb_example' */ '@/views/breadcrumb_example/detail1'),
+ meta: {
+ title: '详情1',
+ sidebar: false,
+ activeMenu: '/breadcrumb_example/list1'
+ }
+ },
+ {
+ path: 'list2',
+ name: 'breadcrumbExampleList2',
+ component: KeepAliveLayout,
+ redirect: '/breadcrumb_example/list2',
+ meta: {
+ title: '列表2(层级模式)'
+ },
+ children: [
+ {
+ path: '',
+ component: () => import(/* webpackChunkName: 'breadcrumb_example' */ '@/views/breadcrumb_example/list2'),
+ meta: {
+ title: '列表2(层级模式)',
+ sidebar: false,
+ breadcrumb: false
+ }
+ },
+ {
+ path: 'detail2',
+ name: 'breadcrumbExampleDetail2',
+ component: () => import(/* webpackChunkName: 'breadcrumb_example' */ '@/views/breadcrumb_example/detail2'),
+ meta: {
+ title: '详情2',
+ sidebar: false,
+ activeMenu: '/breadcrumb_example/list2'
+ }
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/router/modules/component.example.js b/src/router/modules/component.example.js
new file mode 100644
index 00000000..b91fc967
--- /dev/null
+++ b/src/router/modules/component.example.js
@@ -0,0 +1,110 @@
+import Layout from '@/layout'
+
+export default {
+ path: '/component_example',
+ component: Layout,
+ redirect: '/component_example/pagemain',
+ name: 'componentExample',
+ meta: {
+ title: '基础组件',
+ icon: 'sidebar-component'
+ },
+ children: [
+ {
+ path: 'pagemain',
+ name: 'componentExamplePagemain',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/pagemain'),
+ meta: {
+ title: '空白页'
+ }
+ },
+ {
+ path: 'pageheader',
+ name: 'componentExamplePageheader',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/pageheader'),
+ meta: {
+ title: '页头'
+ }
+ },
+ {
+ path: 'editor',
+ name: 'componentExampleEditor',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/editor'),
+ meta: {
+ title: '编辑器'
+ }
+ },
+ {
+ path: 'result',
+ name: 'componentExampleResult',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/result'),
+ meta: {
+ title: '处理结果'
+ }
+ },
+ {
+ path: 'actionbar',
+ name: 'componentExampleActionbar',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/actionbar'),
+ meta: {
+ title: '固定底部操作栏'
+ }
+ },
+ {
+ path: 'searchbar',
+ name: 'componentExampleSearchbar',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/searchbar'),
+ meta: {
+ title: '搜索栏'
+ }
+ },
+ {
+ path: 'batchactionbar',
+ name: 'componentExampleBatchactionbar',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/batchactionbar'),
+ meta: {
+ title: '批量操作栏'
+ }
+ },
+ {
+ path: 'tableautoheight',
+ name: 'componentExampleTableautoheight',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/table.autoheight'),
+ meta: {
+ title: '表格自适应'
+ }
+ },
+ {
+ path: 'upload',
+ name: 'componentExampleUpload',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/upload'),
+ meta: {
+ title: '上传'
+ }
+ },
+ {
+ path: 'imagepreview',
+ name: 'componentExampleImagePreview',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/image.preview'),
+ meta: {
+ title: '图片预览'
+ }
+ },
+ {
+ path: 'trend',
+ name: 'componentExampleTrend',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/trend'),
+ meta: {
+ title: '趋势标记'
+ }
+ },
+ {
+ path: 'area',
+ name: 'componentExampleArea',
+ component: () => import(/* webpackChunkName: 'component_example' */ '@/views/component_example/area'),
+ meta: {
+ title: '省市区联动'
+ }
+ }
+ ]
+}
diff --git a/src/router/modules/external.link.example.js b/src/router/modules/external.link.example.js
new file mode 100644
index 00000000..d4f9fc52
--- /dev/null
+++ b/src/router/modules/external.link.example.js
@@ -0,0 +1,9 @@
+
+export default {
+ path: 'https://hooray.gitee.io/fantastic-admin',
+ name: 'externalLinkExample',
+ meta: {
+ title: '官网',
+ icon: 'sidebar-external-link'
+ }
+}
diff --git a/src/router/modules/keep.alive.example.js b/src/router/modules/keep.alive.example.js
new file mode 100644
index 00000000..d6f88af8
--- /dev/null
+++ b/src/router/modules/keep.alive.example.js
@@ -0,0 +1,75 @@
+import Layout from '@/layout'
+import KeepAliveLayout from '@/layout/keepAlive'
+
+export default {
+ path: '/keep_alive_example',
+ component: Layout,
+ redirect: '/keep_alive_example/page',
+ name: 'keepAliveExample',
+ meta: {
+ title: '页面缓存',
+ icon: 'sidebar-keep-alive'
+ },
+ children: [
+ {
+ path: 'page',
+ name: 'keepAliveExamplePage',
+ component: () => import(/* webpackChunkName: 'keep_alive_example' */ '@/views/keep_alive_example/page'),
+ meta: {
+ title: '演示',
+ sidebar: false,
+ activeMenu: '/keep_alive_example'
+ }
+ },
+ {
+ path: 'detail',
+ name: 'keepAliveExampleDetail',
+ component: () => import(/* webpackChunkName: 'keep_alive_example' */ '@/views/keep_alive_example/detail'),
+ meta: {
+ title: '同级路由',
+ sidebar: false,
+ activeMenu: '/keep_alive_example/page'
+ }
+ },
+ {
+ path: 'detail2',
+ component: KeepAliveLayout,
+ redirect: '/keep_alive_example/detail2',
+ meta: {
+ title: '下级路由',
+ sidebar: false,
+ activeMenu: '/keep_alive_example/page'
+ },
+ children: [
+ {
+ path: '',
+ name: 'keepAliveExampleDetail2',
+ component: () => import(/* webpackChunkName: 'keep_alive_example' */ '@/views/keep_alive_example/detail'),
+ meta: {
+ title: '下级路由'
+ }
+ },
+ {
+ path: 'detail3',
+ component: KeepAliveLayout,
+ redirect: '/keep_alive_example/detail2/detail3',
+ meta: {
+ title: '下下级路由',
+ sidebar: false,
+ activeMenu: '/keep_alive_example/page'
+ },
+ children: [
+ {
+ path: '',
+ name: 'keepAliveExampleDetail3',
+ component: () => import(/* webpackChunkName: 'keep_alive_example' */ '@/views/keep_alive_example/detail'),
+ meta: {
+ title: '下下级路由'
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/router/modules/multilevel.menu.example.js b/src/router/modules/multilevel.menu.example.js
new file mode 100644
index 00000000..ecca7b0a
--- /dev/null
+++ b/src/router/modules/multilevel.menu.example.js
@@ -0,0 +1,69 @@
+import Layout from '@/layout'
+import KeepAliveLayout from '@/layout/keepAlive'
+
+export default {
+ path: '/multilevel_menu_example',
+ component: Layout,
+ redirect: '/multilevel_menu_example/page',
+ name: 'multilevelMenuExample',
+ meta: {
+ title: '多级导航',
+ icon: 'sidebar-menu'
+ },
+ children: [
+ {
+ path: 'page',
+ name: 'multilevelMenuExample1',
+ component: () => import(/* webpackChunkName: 'multilevel_menu_example' */ '@/views/multilevel_menu_example/page'),
+ meta: {
+ title: '导航1'
+ }
+ },
+ {
+ path: 'level2',
+ name: 'multilevelMenuExample2',
+ component: KeepAliveLayout,
+ redirect: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2'
+ },
+ children: [
+ {
+ path: 'page',
+ name: 'multilevelMenuExample2-1',
+ component: () => import(/* webpackChunkName: 'multilevel_menu_example' */ '@/views/multilevel_menu_example/level2/page'),
+ meta: {
+ title: '导航2-1'
+ }
+ },
+ {
+ path: 'level3',
+ name: 'multilevelMenuExample2-2',
+ component: KeepAliveLayout,
+ redirect: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2'
+ },
+ children: [
+ {
+ path: 'page1',
+ name: 'multilevelMenuExample2-2-1',
+ component: () => import(/* webpackChunkName: 'multilevel_menu_example' */ '@/views/multilevel_menu_example/level2/level3/page1'),
+ meta: {
+ title: '导航2-2-1'
+ }
+ },
+ {
+ path: 'page2',
+ name: 'multilevelMenuExample2-2-2',
+ component: () => import(/* webpackChunkName: 'multilevel_menu_example' */ '@/views/multilevel_menu_example/level2/level3/page2'),
+ meta: {
+ title: '导航2-2-2'
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/router/modules/permission.example.js b/src/router/modules/permission.example.js
new file mode 100644
index 00000000..e77b3dbf
--- /dev/null
+++ b/src/router/modules/permission.example.js
@@ -0,0 +1,26 @@
+import Layout from '@/layout'
+
+export default {
+ path: '/permission_example',
+ component: Layout,
+ redirect: '/permission_example/index',
+ name: 'permissionExample',
+ meta: {
+ title: '权限',
+ icon: 'sidebar-permission'
+ },
+ children: [
+ {
+ path: 'index',
+ name: 'permissionExampleIndex',
+ component: () => import(/* webpackChunkName: 'permission_example' */ '@/views/permission_example'),
+ meta: {
+ title: '权限',
+ auth: ['permission.browse'],
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/permission_example'
+ }
+ }
+ ]
+}
diff --git a/src/setting.js b/src/setting.js
new file mode 100644
index 00000000..d1c61c11
--- /dev/null
+++ b/src/setting.js
@@ -0,0 +1,49 @@
+let globalSettings = {
+ /**
+ * 是否开启权限功能,权限功能提供以下鉴权支持:
+ * 1、路由鉴权
+ * 2、鉴权组件:、
+ * 3、鉴权指令:v-auth、v-auth-all
+ * 4、鉴权函数:this.$auth()、this.$authAll()
+ */
+ openPermission: false,
+ // 是否显示头部
+ showHeader: false,
+ // 是否开启侧边栏展开收起按钮
+ enableSidebarCollapse: false,
+ // 侧边栏是否收起
+ sidebarCollapse: false,
+ // 是否显示底部版权信息,同时在路由 meta 对象里可以单独设置某个路由是否显示底部版权信息
+ showCopyright: true,
+ // 版权信息配置,格式为:Copyright © [dates]
+ copyrightDates: '2020',
+ copyrightCompany: 'Fantastic-admin',
+ copyrightWebsite: 'https://gitee.com/hooray/fantastic-admin',
+ // 是否开启导航搜索
+ enableNavSearch: true,
+ // 是否开启全屏
+ enableFullscreen: false,
+ // 是否开启页面刷新
+ enablePageReload: false,
+ // 是否开启载入进度条
+ enableProgress: true,
+ // 是否开启动态标题
+ enableDynamicTitle: false,
+ // 是否开启控制台
+ enableDashboard: true,
+ // 控制台名称
+ dashboardTitle: '控制台',
+ // 是否开启主题配置(建议在生产环境关闭)
+ enableThemeSetting: true
+}
+
+// 演示环境开启全部功能(这部分代码可删除,仅方便作者打包演示环境)
+if (process.env.VUE_APP_TYPE == 'example') {
+ globalSettings.openPermission = true
+ globalSettings.enableSidebarCollapse = true
+ globalSettings.enableFullscreen = true
+ globalSettings.enablePageReload = true
+ globalSettings.enableDynamicTitle = true
+}
+
+export default globalSettings
diff --git a/src/store/index.js b/src/store/index.js
new file mode 100644
index 00000000..66519149
--- /dev/null
+++ b/src/store/index.js
@@ -0,0 +1,15 @@
+import Vue from 'vue'
+import Vuex from 'vuex'
+
+Vue.use(Vuex)
+
+const modules = {}
+const require_module = require.context('./modules', false, /.js$/)
+require_module.keys().forEach(file_name => {
+ modules[file_name.slice(2, -3)] = require_module(file_name).default
+})
+
+export default new Vuex.Store({
+ modules: modules,
+ strict: process.env.NODE_ENV !== 'production'
+})
diff --git a/src/store/modules/global.js b/src/store/modules/global.js
new file mode 100644
index 00000000..ace5b197
--- /dev/null
+++ b/src/store/modules/global.js
@@ -0,0 +1,169 @@
+/**
+ * 存放全局公用状态
+ */
+import setting from '@/setting'
+import { deepClone } from '@/util'
+
+function hasPermission(permissions, route) {
+ let isAuth = false
+ if (route.meta && route.meta.auth) {
+ isAuth = permissions.some(auth => {
+ if (typeof route.meta.auth == 'string') {
+ return route.meta.auth === auth
+ } else {
+ return route.meta.auth.some(routeAuth => {
+ return routeAuth === auth
+ })
+ }
+ })
+ } else {
+ isAuth = true
+ }
+ return isAuth
+}
+
+function filterAsyncRoutes(routes, permissions) {
+ const res = []
+ routes.forEach(route => {
+ const tmp = { ...route }
+ if (hasPermission(permissions, tmp)) {
+ if (tmp.children) {
+ tmp.children = filterAsyncRoutes(tmp.children, permissions)
+ tmp.children.length && res.push(tmp)
+ } else {
+ res.push(tmp)
+ }
+ }
+ })
+ return res
+}
+
+const state = {
+ ...setting,
+ // 如果未开启 openPermission 则 permissionInit 和 permissions 参数不会使用到
+ permissionInit: false,
+ permissions: [],
+ // 如果未开启 showHeader 则 allRoutes 和 headerNavActive 参数不会使用到
+ allRoutes: [],
+ headerNavActive: 0,
+ // 侧边栏导航,通过路由自动生成
+ sidebarRoutes: [],
+ // 页面标题
+ title: '',
+ // 是否打开搜索
+ openSearch: false,
+ // 是否打开主题配置
+ openTheme: false
+}
+
+const getters = {
+ hasPermission: state => permissions => {
+ if (state.openPermission) {
+ return state.permissions.some(v => {
+ return v === permissions
+ })
+ } else {
+ return true
+ }
+ }
+}
+
+const actions = {
+ // 获取我的权限
+ getPermissions({rootState, commit}) {
+ return new Promise(resolve => {
+ // 模拟权限数据
+ let permissions
+ if (rootState.token.account == 'admin') {
+ permissions = [
+ 'permission.browse',
+ 'permission.create',
+ 'permission.edit',
+ 'permission.remove'
+ ]
+ } else if (rootState.token.account == 'test') {
+ permissions = [
+ 'permission.browse'
+ ]
+ } else {
+ permissions = []
+ }
+ commit('setPermissions', permissions)
+ resolve(permissions)
+ })
+ },
+ // 根据权限动态生成路由
+ generateRoutes({state, dispatch, commit}, data) {
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async resolve => {
+ let accessedRoutes
+ // 判断权限功能是否开启
+ if (state.openPermission) {
+ const permissions = await dispatch('getPermissions')
+ accessedRoutes = filterAsyncRoutes(data.asyncRoutes, permissions)
+ } else {
+ accessedRoutes = data.asyncRoutes
+ }
+ commit('setRoutes', accessedRoutes)
+ commit('setHeaderActive', data.currentPath)
+ let routes = []
+ accessedRoutes.map(item => {
+ routes.push(item.children)
+ })
+ routes = routes.flat()
+ resolve(routes)
+ })
+ }
+}
+
+const mutations = {
+ setPermissions(state, permissions) {
+ state.permissions = permissions
+ },
+ setRoutes(state, routes) {
+ state.permissionInit = true
+ state.allRoutes = deepClone(routes)
+ state.allRoutes = state.allRoutes.filter(item => {
+ return item.children.length != 0
+ })
+ },
+ setHeaderActive(state, currentPath) {
+ state.allRoutes.map((item, index) => {
+ if (item.children.some(r => currentPath.indexOf(r.path + '/') === 0)) {
+ state.headerNavActive = index
+ }
+ })
+ state.sidebarRoutes = state.allRoutes[state.headerNavActive].children
+ },
+ switchHeader(state, index) {
+ state.headerNavActive = index
+ state.sidebarRoutes = state.allRoutes[index].children
+ },
+ invalidRoutes(state) {
+ state.permissionInit = false
+ state.headerNavActive = 0
+ },
+ setTitle(state, title) {
+ state.title = title
+ },
+ toggleSidebarCollapse(state) {
+ state.sidebarCollapse = !state.sidebarCollapse
+ },
+ toggleSearch(state) {
+ state.openSearch = !state.openSearch
+ },
+ toggleTheme(state) {
+ state.openTheme = !state.openTheme
+ },
+ updateThemeSetting(state, data) {
+ Object.assign(state, data)
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ actions,
+ getters,
+ mutations
+}
diff --git a/src/store/modules/keepAlive.js b/src/store/modules/keepAlive.js
new file mode 100644
index 00000000..d411a264
--- /dev/null
+++ b/src/store/modules/keepAlive.js
@@ -0,0 +1,29 @@
+const state = {
+ list: []
+}
+
+const getters = {}
+
+const actions = {}
+
+const mutations = {
+ add(state, name) {
+ !state.list.includes(name) && state.list.push(name)
+ },
+ remove(state, name) {
+ state.list = state.list.filter(v => {
+ return v != name
+ })
+ },
+ clean(state) {
+ state.list = []
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ actions,
+ getters,
+ mutations
+}
diff --git a/src/store/modules/menuBadge.js b/src/store/modules/menuBadge.js
new file mode 100644
index 00000000..5fac2599
--- /dev/null
+++ b/src/store/modules/menuBadge.js
@@ -0,0 +1,29 @@
+const state = {
+ dot: true,
+ number: 10,
+ text: '热门'
+}
+
+const getters = {}
+
+const actions = {}
+
+const mutations = {
+ switchDot(state) {
+ state.dot = !state.dot
+ },
+ setNumber(state, number) {
+ state.number = number
+ },
+ setText(state, text) {
+ state.text = text
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ actions,
+ getters,
+ mutations
+}
diff --git a/src/store/modules/token.js b/src/store/modules/token.js
new file mode 100644
index 00000000..b5a3f6e7
--- /dev/null
+++ b/src/store/modules/token.js
@@ -0,0 +1,75 @@
+// import api from '@/api'
+
+const state = {
+ account: localStorage.account,
+ token: localStorage.token,
+ failure_time: localStorage.failure_time
+}
+
+const getters = {
+ isLogin: state => {
+ let retn = false
+ if (state.token != null) {
+ let unix = Date.parse(new Date())
+ if (unix < state.failure_time * 1000) {
+ retn = true
+ }
+ }
+ return retn
+ }
+}
+
+const actions = {
+ // login({commit}, data) {
+ // return new Promise((resolve, reject) => {
+ // api.post('member/login', data).then(res => {
+ // commit('setData', res.data)
+ // resolve(res)
+ // }).catch(error => {
+ // reject(error)
+ // })
+ // })
+ // }
+ login({commit}, data) {
+ return new Promise(resolve => {
+ // 模拟登录成功,写入 token 信息
+ commit('setData', {
+ account: data.account,
+ token: '1234567890',
+ failure_time: Date.parse(new Date()) / 1000 + 24 * 60 * 60
+ })
+ resolve()
+ })
+ },
+ logout({commit}) {
+ commit('removeData')
+ commit('global/invalidRoutes', null, {root: true})
+ }
+}
+
+const mutations = {
+ setData(state, data) {
+ localStorage.setItem('account', data.account)
+ localStorage.setItem('token', data.token)
+ localStorage.setItem('failure_time', data.failure_time)
+ state.account = data.account
+ state.token = data.token
+ state.failure_time = data.failure_time
+ },
+ removeData(state) {
+ localStorage.removeItem('account')
+ localStorage.removeItem('token')
+ localStorage.removeItem('failure_time')
+ state.account = ''
+ state.token = ''
+ state.failure_time = ''
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ actions,
+ getters,
+ mutations
+}
diff --git a/src/util/area.js b/src/util/area.js
new file mode 100644
index 00000000..ccf00454
--- /dev/null
+++ b/src/util/area.js
@@ -0,0 +1,13681 @@
+const area = [
+ {
+ 'name': '北京市',
+ 'code': '110000',
+ 'region': 'north',
+ 'provinceLevelCity': true,
+ 'children': [
+ {
+ 'name': '市辖区',
+ 'code': '110100',
+ 'children': [
+ {
+ 'name': '东城区',
+ 'code': '110101'
+ },
+ {
+ 'name': '西城区',
+ 'code': '110102'
+ },
+ {
+ 'name': '朝阳区',
+ 'code': '110105'
+ },
+ {
+ 'name': '丰台区',
+ 'code': '110106'
+ },
+ {
+ 'name': '石景山区',
+ 'code': '110107'
+ },
+ {
+ 'name': '海淀区',
+ 'code': '110108'
+ },
+ {
+ 'name': '门头沟区',
+ 'code': '110109'
+ },
+ {
+ 'name': '房山区',
+ 'code': '110111'
+ },
+ {
+ 'name': '通州区',
+ 'code': '110112'
+ },
+ {
+ 'name': '顺义区',
+ 'code': '110113'
+ },
+ {
+ 'name': '昌平区',
+ 'code': '110114'
+ },
+ {
+ 'name': '大兴区',
+ 'code': '110115'
+ },
+ {
+ 'name': '怀柔区',
+ 'code': '110116'
+ },
+ {
+ 'name': '平谷区',
+ 'code': '110117'
+ },
+ {
+ 'name': '密云区',
+ 'code': '110118'
+ },
+ {
+ 'name': '延庆区',
+ 'code': '110119'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '天津市',
+ 'code': '120000',
+ 'region': 'north',
+ 'provinceLevelCity': true,
+ 'children': [
+ {
+ 'name': '市辖区',
+ 'code': '120100',
+ 'children': [
+ {
+ 'name': '和平区',
+ 'code': '120101'
+ },
+ {
+ 'name': '河东区',
+ 'code': '120102'
+ },
+ {
+ 'name': '河西区',
+ 'code': '120103'
+ },
+ {
+ 'name': '南开区',
+ 'code': '120104'
+ },
+ {
+ 'name': '河北区',
+ 'code': '120105'
+ },
+ {
+ 'name': '红桥区',
+ 'code': '120106'
+ },
+ {
+ 'name': '东丽区',
+ 'code': '120110'
+ },
+ {
+ 'name': '西青区',
+ 'code': '120111'
+ },
+ {
+ 'name': '津南区',
+ 'code': '120112'
+ },
+ {
+ 'name': '北辰区',
+ 'code': '120113'
+ },
+ {
+ 'name': '武清区',
+ 'code': '120114'
+ },
+ {
+ 'name': '宝坻区',
+ 'code': '120115'
+ },
+ {
+ 'name': '滨海新区',
+ 'code': '120116'
+ },
+ {
+ 'name': '宁河区',
+ 'code': '120117'
+ },
+ {
+ 'name': '静海区',
+ 'code': '120118'
+ },
+ {
+ 'name': '蓟州区',
+ 'code': '120119'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '河北省',
+ 'code': '130000',
+ 'region': 'north',
+ 'children': [
+ {
+ 'name': '石家庄市',
+ 'code': '130100',
+ 'children': [
+ {
+ 'name': '长安区',
+ 'code': '130102'
+ },
+ {
+ 'name': '桥西区',
+ 'code': '130104'
+ },
+ {
+ 'name': '新华区',
+ 'code': '130105'
+ },
+ {
+ 'name': '井陉矿区',
+ 'code': '130107'
+ },
+ {
+ 'name': '裕华区',
+ 'code': '130108'
+ },
+ {
+ 'name': '藁城区',
+ 'code': '130109'
+ },
+ {
+ 'name': '鹿泉区',
+ 'code': '130110'
+ },
+ {
+ 'name': '栾城区',
+ 'code': '130111'
+ },
+ {
+ 'name': '井陉县',
+ 'code': '130121'
+ },
+ {
+ 'name': '正定县',
+ 'code': '130123'
+ },
+ {
+ 'name': '行唐县',
+ 'code': '130125'
+ },
+ {
+ 'name': '灵寿县',
+ 'code': '130126'
+ },
+ {
+ 'name': '高邑县',
+ 'code': '130127'
+ },
+ {
+ 'name': '深泽县',
+ 'code': '130128'
+ },
+ {
+ 'name': '赞皇县',
+ 'code': '130129'
+ },
+ {
+ 'name': '无极县',
+ 'code': '130130'
+ },
+ {
+ 'name': '平山县',
+ 'code': '130131'
+ },
+ {
+ 'name': '元氏县',
+ 'code': '130132'
+ },
+ {
+ 'name': '赵县',
+ 'code': '130133'
+ },
+ {
+ 'name': '辛集市',
+ 'code': '130181'
+ },
+ {
+ 'name': '晋州市',
+ 'code': '130183'
+ },
+ {
+ 'name': '新乐市',
+ 'code': '130184'
+ }
+ ]
+ },
+ {
+ 'name': '唐山市',
+ 'code': '130200',
+ 'children': [
+ {
+ 'name': '路南区',
+ 'code': '130202'
+ },
+ {
+ 'name': '路北区',
+ 'code': '130203'
+ },
+ {
+ 'name': '古冶区',
+ 'code': '130204'
+ },
+ {
+ 'name': '开平区',
+ 'code': '130205'
+ },
+ {
+ 'name': '丰南区',
+ 'code': '130207'
+ },
+ {
+ 'name': '丰润区',
+ 'code': '130208'
+ },
+ {
+ 'name': '曹妃甸区',
+ 'code': '130209'
+ },
+ {
+ 'name': '滦南县',
+ 'code': '130224'
+ },
+ {
+ 'name': '乐亭县',
+ 'code': '130225'
+ },
+ {
+ 'name': '迁西县',
+ 'code': '130227'
+ },
+ {
+ 'name': '玉田县',
+ 'code': '130229'
+ },
+ {
+ 'name': '遵化市',
+ 'code': '130281'
+ },
+ {
+ 'name': '迁安市',
+ 'code': '130283'
+ },
+ {
+ 'name': '滦州市',
+ 'code': '130284'
+ }
+ ]
+ },
+ {
+ 'name': '秦皇岛市',
+ 'code': '130300',
+ 'children': [
+ {
+ 'name': '海港区',
+ 'code': '130302'
+ },
+ {
+ 'name': '山海关区',
+ 'code': '130303'
+ },
+ {
+ 'name': '北戴河区',
+ 'code': '130304'
+ },
+ {
+ 'name': '抚宁区',
+ 'code': '130306'
+ },
+ {
+ 'name': '青龙满族自治县',
+ 'code': '130321'
+ },
+ {
+ 'name': '昌黎县',
+ 'code': '130322'
+ },
+ {
+ 'name': '卢龙县',
+ 'code': '130324'
+ }
+ ]
+ },
+ {
+ 'name': '邯郸市',
+ 'code': '130400',
+ 'children': [
+ {
+ 'name': '邯山区',
+ 'code': '130402'
+ },
+ {
+ 'name': '丛台区',
+ 'code': '130403'
+ },
+ {
+ 'name': '复兴区',
+ 'code': '130404'
+ },
+ {
+ 'name': '峰峰矿区',
+ 'code': '130406'
+ },
+ {
+ 'name': '肥乡区',
+ 'code': '130407'
+ },
+ {
+ 'name': '永年区',
+ 'code': '130408'
+ },
+ {
+ 'name': '临漳县',
+ 'code': '130423'
+ },
+ {
+ 'name': '成安县',
+ 'code': '130424'
+ },
+ {
+ 'name': '大名县',
+ 'code': '130425'
+ },
+ {
+ 'name': '涉县',
+ 'code': '130426'
+ },
+ {
+ 'name': '磁县',
+ 'code': '130427'
+ },
+ {
+ 'name': '邱县',
+ 'code': '130430'
+ },
+ {
+ 'name': '鸡泽县',
+ 'code': '130431'
+ },
+ {
+ 'name': '广平县',
+ 'code': '130432'
+ },
+ {
+ 'name': '馆陶县',
+ 'code': '130433'
+ },
+ {
+ 'name': '魏县',
+ 'code': '130434'
+ },
+ {
+ 'name': '曲周县',
+ 'code': '130435'
+ },
+ {
+ 'name': '武安市',
+ 'code': '130481'
+ }
+ ]
+ },
+ {
+ 'name': '邢台市',
+ 'code': '130500',
+ 'children': [
+ {
+ 'name': '桥东区',
+ 'code': '130502'
+ },
+ {
+ 'name': '桥西区',
+ 'code': '130503'
+ },
+ {
+ 'name': '邢台县',
+ 'code': '130521'
+ },
+ {
+ 'name': '临城县',
+ 'code': '130522'
+ },
+ {
+ 'name': '内丘县',
+ 'code': '130523'
+ },
+ {
+ 'name': '柏乡县',
+ 'code': '130524'
+ },
+ {
+ 'name': '隆尧县',
+ 'code': '130525'
+ },
+ {
+ 'name': '任县',
+ 'code': '130526'
+ },
+ {
+ 'name': '南和县',
+ 'code': '130527'
+ },
+ {
+ 'name': '宁晋县',
+ 'code': '130528'
+ },
+ {
+ 'name': '巨鹿县',
+ 'code': '130529'
+ },
+ {
+ 'name': '新河县',
+ 'code': '130530'
+ },
+ {
+ 'name': '广宗县',
+ 'code': '130531'
+ },
+ {
+ 'name': '平乡县',
+ 'code': '130532'
+ },
+ {
+ 'name': '威县',
+ 'code': '130533'
+ },
+ {
+ 'name': '清河县',
+ 'code': '130534'
+ },
+ {
+ 'name': '临西县',
+ 'code': '130535'
+ },
+ {
+ 'name': '南宫市',
+ 'code': '130581'
+ },
+ {
+ 'name': '沙河市',
+ 'code': '130582'
+ }
+ ]
+ },
+ {
+ 'name': '保定市',
+ 'code': '130600',
+ 'children': [
+ {
+ 'name': '竞秀区',
+ 'code': '130602'
+ },
+ {
+ 'name': '莲池区',
+ 'code': '130606'
+ },
+ {
+ 'name': '满城区',
+ 'code': '130607'
+ },
+ {
+ 'name': '清苑区',
+ 'code': '130608'
+ },
+ {
+ 'name': '徐水区',
+ 'code': '130609'
+ },
+ {
+ 'name': '涞水县',
+ 'code': '130623'
+ },
+ {
+ 'name': '阜平县',
+ 'code': '130624'
+ },
+ {
+ 'name': '定兴县',
+ 'code': '130626'
+ },
+ {
+ 'name': '唐县',
+ 'code': '130627'
+ },
+ {
+ 'name': '高阳县',
+ 'code': '130628'
+ },
+ {
+ 'name': '容城县',
+ 'code': '130629'
+ },
+ {
+ 'name': '涞源县',
+ 'code': '130630'
+ },
+ {
+ 'name': '望都县',
+ 'code': '130631'
+ },
+ {
+ 'name': '安新县',
+ 'code': '130632'
+ },
+ {
+ 'name': '易县',
+ 'code': '130633'
+ },
+ {
+ 'name': '曲阳县',
+ 'code': '130634'
+ },
+ {
+ 'name': '蠡县',
+ 'code': '130635'
+ },
+ {
+ 'name': '顺平县',
+ 'code': '130636'
+ },
+ {
+ 'name': '博野县',
+ 'code': '130637'
+ },
+ {
+ 'name': '雄县',
+ 'code': '130638'
+ },
+ {
+ 'name': '涿州市',
+ 'code': '130681'
+ },
+ {
+ 'name': '定州市',
+ 'code': '130682'
+ },
+ {
+ 'name': '安国市',
+ 'code': '130683'
+ },
+ {
+ 'name': '高碑店市',
+ 'code': '130684'
+ }
+ ]
+ },
+ {
+ 'name': '张家口市',
+ 'code': '130700',
+ 'children': [
+ {
+ 'name': '桥东区',
+ 'code': '130702'
+ },
+ {
+ 'name': '桥西区',
+ 'code': '130703'
+ },
+ {
+ 'name': '宣化区',
+ 'code': '130705'
+ },
+ {
+ 'name': '下花园区',
+ 'code': '130706'
+ },
+ {
+ 'name': '万全区',
+ 'code': '130708'
+ },
+ {
+ 'name': '崇礼区',
+ 'code': '130709'
+ },
+ {
+ 'name': '张北县',
+ 'code': '130722'
+ },
+ {
+ 'name': '康保县',
+ 'code': '130723'
+ },
+ {
+ 'name': '沽源县',
+ 'code': '130724'
+ },
+ {
+ 'name': '尚义县',
+ 'code': '130725'
+ },
+ {
+ 'name': '蔚县',
+ 'code': '130726'
+ },
+ {
+ 'name': '阳原县',
+ 'code': '130727'
+ },
+ {
+ 'name': '怀安县',
+ 'code': '130728'
+ },
+ {
+ 'name': '怀来县',
+ 'code': '130730'
+ },
+ {
+ 'name': '涿鹿县',
+ 'code': '130731'
+ },
+ {
+ 'name': '赤城县',
+ 'code': '130732'
+ }
+ ]
+ },
+ {
+ 'name': '承德市',
+ 'code': '130800',
+ 'children': [
+ {
+ 'name': '双桥区',
+ 'code': '130802'
+ },
+ {
+ 'name': '双滦区',
+ 'code': '130803'
+ },
+ {
+ 'name': '鹰手营子矿区',
+ 'code': '130804'
+ },
+ {
+ 'name': '承德县',
+ 'code': '130821'
+ },
+ {
+ 'name': '兴隆县',
+ 'code': '130822'
+ },
+ {
+ 'name': '滦平县',
+ 'code': '130824'
+ },
+ {
+ 'name': '隆化县',
+ 'code': '130825'
+ },
+ {
+ 'name': '丰宁满族自治县',
+ 'code': '130826'
+ },
+ {
+ 'name': '宽城满族自治县',
+ 'code': '130827'
+ },
+ {
+ 'name': '围场满族蒙古族自治县',
+ 'code': '130828'
+ },
+ {
+ 'name': '平泉市',
+ 'code': '130881'
+ }
+ ]
+ },
+ {
+ 'name': '沧州市',
+ 'code': '130900',
+ 'children': [
+ {
+ 'name': '新华区',
+ 'code': '130902'
+ },
+ {
+ 'name': '运河区',
+ 'code': '130903'
+ },
+ {
+ 'name': '沧县',
+ 'code': '130921'
+ },
+ {
+ 'name': '青县',
+ 'code': '130922'
+ },
+ {
+ 'name': '东光县',
+ 'code': '130923'
+ },
+ {
+ 'name': '海兴县',
+ 'code': '130924'
+ },
+ {
+ 'name': '盐山县',
+ 'code': '130925'
+ },
+ {
+ 'name': '肃宁县',
+ 'code': '130926'
+ },
+ {
+ 'name': '南皮县',
+ 'code': '130927'
+ },
+ {
+ 'name': '吴桥县',
+ 'code': '130928'
+ },
+ {
+ 'name': '献县',
+ 'code': '130929'
+ },
+ {
+ 'name': '孟村回族自治县',
+ 'code': '130930'
+ },
+ {
+ 'name': '泊头市',
+ 'code': '130981'
+ },
+ {
+ 'name': '任丘市',
+ 'code': '130982'
+ },
+ {
+ 'name': '黄骅市',
+ 'code': '130983'
+ },
+ {
+ 'name': '河间市',
+ 'code': '130984'
+ }
+ ]
+ },
+ {
+ 'name': '廊坊市',
+ 'code': '131000',
+ 'children': [
+ {
+ 'name': '安次区',
+ 'code': '131002'
+ },
+ {
+ 'name': '广阳区',
+ 'code': '131003'
+ },
+ {
+ 'name': '固安县',
+ 'code': '131022'
+ },
+ {
+ 'name': '永清县',
+ 'code': '131023'
+ },
+ {
+ 'name': '香河县',
+ 'code': '131024'
+ },
+ {
+ 'name': '大城县',
+ 'code': '131025'
+ },
+ {
+ 'name': '文安县',
+ 'code': '131026'
+ },
+ {
+ 'name': '大厂回族自治县',
+ 'code': '131028'
+ },
+ {
+ 'name': '霸州市',
+ 'code': '131081'
+ },
+ {
+ 'name': '三河市',
+ 'code': '131082'
+ }
+ ]
+ },
+ {
+ 'name': '衡水市',
+ 'code': '131100',
+ 'children': [
+ {
+ 'name': '桃城区',
+ 'code': '131102'
+ },
+ {
+ 'name': '冀州区',
+ 'code': '131103'
+ },
+ {
+ 'name': '枣强县',
+ 'code': '131121'
+ },
+ {
+ 'name': '武邑县',
+ 'code': '131122'
+ },
+ {
+ 'name': '武强县',
+ 'code': '131123'
+ },
+ {
+ 'name': '饶阳县',
+ 'code': '131124'
+ },
+ {
+ 'name': '安平县',
+ 'code': '131125'
+ },
+ {
+ 'name': '故城县',
+ 'code': '131126'
+ },
+ {
+ 'name': '景县',
+ 'code': '131127'
+ },
+ {
+ 'name': '阜城县',
+ 'code': '131128'
+ },
+ {
+ 'name': '深州市',
+ 'code': '131182'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '山西省',
+ 'code': '140000',
+ 'region': 'north',
+ 'children': [
+ {
+ 'name': '太原市',
+ 'code': '140100',
+ 'children': [
+ {
+ 'name': '小店区',
+ 'code': '140105'
+ },
+ {
+ 'name': '迎泽区',
+ 'code': '140106'
+ },
+ {
+ 'name': '杏花岭区',
+ 'code': '140107'
+ },
+ {
+ 'name': '尖草坪区',
+ 'code': '140108'
+ },
+ {
+ 'name': '万柏林区',
+ 'code': '140109'
+ },
+ {
+ 'name': '晋源区',
+ 'code': '140110'
+ },
+ {
+ 'name': '清徐县',
+ 'code': '140121'
+ },
+ {
+ 'name': '阳曲县',
+ 'code': '140122'
+ },
+ {
+ 'name': '娄烦县',
+ 'code': '140123'
+ },
+ {
+ 'name': '古交市',
+ 'code': '140181'
+ }
+ ]
+ },
+ {
+ 'name': '大同市',
+ 'code': '140200',
+ 'children': [
+ {
+ 'name': '新荣区',
+ 'code': '140212'
+ },
+ {
+ 'name': '平城区',
+ 'code': '140213'
+ },
+ {
+ 'name': '云冈区',
+ 'code': '140214'
+ },
+ {
+ 'name': '云州区',
+ 'code': '140215'
+ },
+ {
+ 'name': '阳高县',
+ 'code': '140221'
+ },
+ {
+ 'name': '天镇县',
+ 'code': '140222'
+ },
+ {
+ 'name': '广灵县',
+ 'code': '140223'
+ },
+ {
+ 'name': '灵丘县',
+ 'code': '140224'
+ },
+ {
+ 'name': '浑源县',
+ 'code': '140225'
+ },
+ {
+ 'name': '左云县',
+ 'code': '140226'
+ }
+ ]
+ },
+ {
+ 'name': '阳泉市',
+ 'code': '140300',
+ 'children': [
+ {
+ 'name': '城区',
+ 'code': '140302'
+ },
+ {
+ 'name': '矿区',
+ 'code': '140303'
+ },
+ {
+ 'name': '郊区',
+ 'code': '140311'
+ },
+ {
+ 'name': '平定县',
+ 'code': '140321'
+ },
+ {
+ 'name': '盂县',
+ 'code': '140322'
+ }
+ ]
+ },
+ {
+ 'name': '长治市',
+ 'code': '140400',
+ 'children': [
+ {
+ 'name': '潞州区',
+ 'code': '140403'
+ },
+ {
+ 'name': '上党区',
+ 'code': '140404'
+ },
+ {
+ 'name': '屯留区',
+ 'code': '140405'
+ },
+ {
+ 'name': '潞城区',
+ 'code': '140406'
+ },
+ {
+ 'name': '襄垣县',
+ 'code': '140423'
+ },
+ {
+ 'name': '平顺县',
+ 'code': '140425'
+ },
+ {
+ 'name': '黎城县',
+ 'code': '140426'
+ },
+ {
+ 'name': '壶关县',
+ 'code': '140427'
+ },
+ {
+ 'name': '长子县',
+ 'code': '140428'
+ },
+ {
+ 'name': '武乡县',
+ 'code': '140429'
+ },
+ {
+ 'name': '沁县',
+ 'code': '140430'
+ },
+ {
+ 'name': '沁源县',
+ 'code': '140431'
+ }
+ ]
+ },
+ {
+ 'name': '晋城市',
+ 'code': '140500',
+ 'children': [
+ {
+ 'name': '城区',
+ 'code': '140502'
+ },
+ {
+ 'name': '沁水县',
+ 'code': '140521'
+ },
+ {
+ 'name': '阳城县',
+ 'code': '140522'
+ },
+ {
+ 'name': '陵川县',
+ 'code': '140524'
+ },
+ {
+ 'name': '泽州县',
+ 'code': '140525'
+ },
+ {
+ 'name': '高平市',
+ 'code': '140581'
+ }
+ ]
+ },
+ {
+ 'name': '朔州市',
+ 'code': '140600',
+ 'children': [
+ {
+ 'name': '朔城区',
+ 'code': '140602'
+ },
+ {
+ 'name': '平鲁区',
+ 'code': '140603'
+ },
+ {
+ 'name': '山阴县',
+ 'code': '140621'
+ },
+ {
+ 'name': '应县',
+ 'code': '140622'
+ },
+ {
+ 'name': '右玉县',
+ 'code': '140623'
+ },
+ {
+ 'name': '怀仁市',
+ 'code': '140681'
+ }
+ ]
+ },
+ {
+ 'name': '晋中市',
+ 'code': '140700',
+ 'children': [
+ {
+ 'name': '榆次区',
+ 'code': '140702'
+ },
+ {
+ 'name': '榆社县',
+ 'code': '140721'
+ },
+ {
+ 'name': '左权县',
+ 'code': '140722'
+ },
+ {
+ 'name': '和顺县',
+ 'code': '140723'
+ },
+ {
+ 'name': '昔阳县',
+ 'code': '140724'
+ },
+ {
+ 'name': '寿阳县',
+ 'code': '140725'
+ },
+ {
+ 'name': '太谷县',
+ 'code': '140726'
+ },
+ {
+ 'name': '祁县',
+ 'code': '140727'
+ },
+ {
+ 'name': '平遥县',
+ 'code': '140728'
+ },
+ {
+ 'name': '灵石县',
+ 'code': '140729'
+ },
+ {
+ 'name': '介休市',
+ 'code': '140781'
+ }
+ ]
+ },
+ {
+ 'name': '运城市',
+ 'code': '140800',
+ 'children': [
+ {
+ 'name': '盐湖区',
+ 'code': '140802'
+ },
+ {
+ 'name': '临猗县',
+ 'code': '140821'
+ },
+ {
+ 'name': '万荣县',
+ 'code': '140822'
+ },
+ {
+ 'name': '闻喜县',
+ 'code': '140823'
+ },
+ {
+ 'name': '稷山县',
+ 'code': '140824'
+ },
+ {
+ 'name': '新绛县',
+ 'code': '140825'
+ },
+ {
+ 'name': '绛县',
+ 'code': '140826'
+ },
+ {
+ 'name': '垣曲县',
+ 'code': '140827'
+ },
+ {
+ 'name': '夏县',
+ 'code': '140828'
+ },
+ {
+ 'name': '平陆县',
+ 'code': '140829'
+ },
+ {
+ 'name': '芮城县',
+ 'code': '140830'
+ },
+ {
+ 'name': '永济市',
+ 'code': '140881'
+ },
+ {
+ 'name': '河津市',
+ 'code': '140882'
+ }
+ ]
+ },
+ {
+ 'name': '忻州市',
+ 'code': '140900',
+ 'children': [
+ {
+ 'name': '忻府区',
+ 'code': '140902'
+ },
+ {
+ 'name': '定襄县',
+ 'code': '140921'
+ },
+ {
+ 'name': '五台县',
+ 'code': '140922'
+ },
+ {
+ 'name': '代县',
+ 'code': '140923'
+ },
+ {
+ 'name': '繁峙县',
+ 'code': '140924'
+ },
+ {
+ 'name': '宁武县',
+ 'code': '140925'
+ },
+ {
+ 'name': '静乐县',
+ 'code': '140926'
+ },
+ {
+ 'name': '神池县',
+ 'code': '140927'
+ },
+ {
+ 'name': '五寨县',
+ 'code': '140928'
+ },
+ {
+ 'name': '岢岚县',
+ 'code': '140929'
+ },
+ {
+ 'name': '河曲县',
+ 'code': '140930'
+ },
+ {
+ 'name': '保德县',
+ 'code': '140931'
+ },
+ {
+ 'name': '偏关县',
+ 'code': '140932'
+ },
+ {
+ 'name': '原平市',
+ 'code': '140981'
+ }
+ ]
+ },
+ {
+ 'name': '临汾市',
+ 'code': '141000',
+ 'children': [
+ {
+ 'name': '尧都区',
+ 'code': '141002'
+ },
+ {
+ 'name': '曲沃县',
+ 'code': '141021'
+ },
+ {
+ 'name': '翼城县',
+ 'code': '141022'
+ },
+ {
+ 'name': '襄汾县',
+ 'code': '141023'
+ },
+ {
+ 'name': '洪洞县',
+ 'code': '141024'
+ },
+ {
+ 'name': '古县',
+ 'code': '141025'
+ },
+ {
+ 'name': '安泽县',
+ 'code': '141026'
+ },
+ {
+ 'name': '浮山县',
+ 'code': '141027'
+ },
+ {
+ 'name': '吉县',
+ 'code': '141028'
+ },
+ {
+ 'name': '乡宁县',
+ 'code': '141029'
+ },
+ {
+ 'name': '大宁县',
+ 'code': '141030'
+ },
+ {
+ 'name': '隰县',
+ 'code': '141031'
+ },
+ {
+ 'name': '永和县',
+ 'code': '141032'
+ },
+ {
+ 'name': '蒲县',
+ 'code': '141033'
+ },
+ {
+ 'name': '汾西县',
+ 'code': '141034'
+ },
+ {
+ 'name': '侯马市',
+ 'code': '141081'
+ },
+ {
+ 'name': '霍州市',
+ 'code': '141082'
+ }
+ ]
+ },
+ {
+ 'name': '吕梁市',
+ 'code': '141100',
+ 'children': [
+ {
+ 'name': '离石区',
+ 'code': '141102'
+ },
+ {
+ 'name': '文水县',
+ 'code': '141121'
+ },
+ {
+ 'name': '交城县',
+ 'code': '141122'
+ },
+ {
+ 'name': '兴县',
+ 'code': '141123'
+ },
+ {
+ 'name': '临县',
+ 'code': '141124'
+ },
+ {
+ 'name': '柳林县',
+ 'code': '141125'
+ },
+ {
+ 'name': '石楼县',
+ 'code': '141126'
+ },
+ {
+ 'name': '岚县',
+ 'code': '141127'
+ },
+ {
+ 'name': '方山县',
+ 'code': '141128'
+ },
+ {
+ 'name': '中阳县',
+ 'code': '141129'
+ },
+ {
+ 'name': '交口县',
+ 'code': '141130'
+ },
+ {
+ 'name': '孝义市',
+ 'code': '141181'
+ },
+ {
+ 'name': '汾阳市',
+ 'code': '141182'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '内蒙古自治区',
+ 'code': '150000',
+ 'region': 'north',
+ 'autonomousRegion': true,
+ 'children': [
+ {
+ 'name': '呼和浩特市',
+ 'code': '150100',
+ 'children': [
+ {
+ 'name': '新城区',
+ 'code': '150102'
+ },
+ {
+ 'name': '回民区',
+ 'code': '150103'
+ },
+ {
+ 'name': '玉泉区',
+ 'code': '150104'
+ },
+ {
+ 'name': '赛罕区',
+ 'code': '150105'
+ },
+ {
+ 'name': '土默特左旗',
+ 'code': '150121'
+ },
+ {
+ 'name': '托克托县',
+ 'code': '150122'
+ },
+ {
+ 'name': '和林格尔县',
+ 'code': '150123'
+ },
+ {
+ 'name': '清水河县',
+ 'code': '150124'
+ },
+ {
+ 'name': '武川县',
+ 'code': '150125'
+ }
+ ]
+ },
+ {
+ 'name': '包头市',
+ 'code': '150200',
+ 'children': [
+ {
+ 'name': '东河区',
+ 'code': '150202'
+ },
+ {
+ 'name': '昆都仑区',
+ 'code': '150203'
+ },
+ {
+ 'name': '青山区',
+ 'code': '150204'
+ },
+ {
+ 'name': '石拐区',
+ 'code': '150205'
+ },
+ {
+ 'name': '白云鄂博矿区',
+ 'code': '150206'
+ },
+ {
+ 'name': '九原区',
+ 'code': '150207'
+ },
+ {
+ 'name': '土默特右旗',
+ 'code': '150221'
+ },
+ {
+ 'name': '固阳县',
+ 'code': '150222'
+ },
+ {
+ 'name': '达尔罕茂明安联合旗',
+ 'code': '150223'
+ }
+ ]
+ },
+ {
+ 'name': '乌海市',
+ 'code': '150300',
+ 'children': [
+ {
+ 'name': '海勃湾区',
+ 'code': '150302'
+ },
+ {
+ 'name': '海南区',
+ 'code': '150303'
+ },
+ {
+ 'name': '乌达区',
+ 'code': '150304'
+ }
+ ]
+ },
+ {
+ 'name': '赤峰市',
+ 'code': '150400',
+ 'children': [
+ {
+ 'name': '红山区',
+ 'code': '150402'
+ },
+ {
+ 'name': '元宝山区',
+ 'code': '150403'
+ },
+ {
+ 'name': '松山区',
+ 'code': '150404'
+ },
+ {
+ 'name': '阿鲁科尔沁旗',
+ 'code': '150421'
+ },
+ {
+ 'name': '巴林左旗',
+ 'code': '150422'
+ },
+ {
+ 'name': '巴林右旗',
+ 'code': '150423'
+ },
+ {
+ 'name': '林西县',
+ 'code': '150424'
+ },
+ {
+ 'name': '克什克腾旗',
+ 'code': '150425'
+ },
+ {
+ 'name': '翁牛特旗',
+ 'code': '150426'
+ },
+ {
+ 'name': '喀喇沁旗',
+ 'code': '150428'
+ },
+ {
+ 'name': '宁城县',
+ 'code': '150429'
+ },
+ {
+ 'name': '敖汉旗',
+ 'code': '150430'
+ }
+ ]
+ },
+ {
+ 'name': '通辽市',
+ 'code': '150500',
+ 'children': [
+ {
+ 'name': '科尔沁区',
+ 'code': '150502'
+ },
+ {
+ 'name': '科尔沁左翼中旗',
+ 'code': '150521'
+ },
+ {
+ 'name': '科尔沁左翼后旗',
+ 'code': '150522'
+ },
+ {
+ 'name': '开鲁县',
+ 'code': '150523'
+ },
+ {
+ 'name': '库伦旗',
+ 'code': '150524'
+ },
+ {
+ 'name': '奈曼旗',
+ 'code': '150525'
+ },
+ {
+ 'name': '扎鲁特旗',
+ 'code': '150526'
+ },
+ {
+ 'name': '霍林郭勒市',
+ 'code': '150581'
+ }
+ ]
+ },
+ {
+ 'name': '鄂尔多斯市',
+ 'code': '150600',
+ 'children': [
+ {
+ 'name': '东胜区',
+ 'code': '150602'
+ },
+ {
+ 'name': '康巴什区',
+ 'code': '150603'
+ },
+ {
+ 'name': '达拉特旗',
+ 'code': '150621'
+ },
+ {
+ 'name': '准格尔旗',
+ 'code': '150622'
+ },
+ {
+ 'name': '鄂托克前旗',
+ 'code': '150623'
+ },
+ {
+ 'name': '鄂托克旗',
+ 'code': '150624'
+ },
+ {
+ 'name': '杭锦旗',
+ 'code': '150625'
+ },
+ {
+ 'name': '乌审旗',
+ 'code': '150626'
+ },
+ {
+ 'name': '伊金霍洛旗',
+ 'code': '150627'
+ }
+ ]
+ },
+ {
+ 'name': '呼伦贝尔市',
+ 'code': '150700',
+ 'children': [
+ {
+ 'name': '海拉尔区',
+ 'code': '150702'
+ },
+ {
+ 'name': '扎赉诺尔区',
+ 'code': '150703'
+ },
+ {
+ 'name': '阿荣旗',
+ 'code': '150721'
+ },
+ {
+ 'name': '莫力达瓦达斡尔族自治旗',
+ 'code': '150722'
+ },
+ {
+ 'name': '鄂伦春自治旗',
+ 'code': '150723'
+ },
+ {
+ 'name': '鄂温克族自治旗',
+ 'code': '150724'
+ },
+ {
+ 'name': '陈巴尔虎旗',
+ 'code': '150725'
+ },
+ {
+ 'name': '新巴尔虎左旗',
+ 'code': '150726'
+ },
+ {
+ 'name': '新巴尔虎右旗',
+ 'code': '150727'
+ },
+ {
+ 'name': '满洲里市',
+ 'code': '150781'
+ },
+ {
+ 'name': '牙克石市',
+ 'code': '150782'
+ },
+ {
+ 'name': '扎兰屯市',
+ 'code': '150783'
+ },
+ {
+ 'name': '额尔古纳市',
+ 'code': '150784'
+ },
+ {
+ 'name': '根河市',
+ 'code': '150785'
+ }
+ ]
+ },
+ {
+ 'name': '巴彦淖尔市',
+ 'code': '150800',
+ 'children': [
+ {
+ 'name': '临河区',
+ 'code': '150802'
+ },
+ {
+ 'name': '五原县',
+ 'code': '150821'
+ },
+ {
+ 'name': '磴口县',
+ 'code': '150822'
+ },
+ {
+ 'name': '乌拉特前旗',
+ 'code': '150823'
+ },
+ {
+ 'name': '乌拉特中旗',
+ 'code': '150824'
+ },
+ {
+ 'name': '乌拉特后旗',
+ 'code': '150825'
+ },
+ {
+ 'name': '杭锦后旗',
+ 'code': '150826'
+ }
+ ]
+ },
+ {
+ 'name': '乌兰察布市',
+ 'code': '150900',
+ 'children': [
+ {
+ 'name': '集宁区',
+ 'code': '150902'
+ },
+ {
+ 'name': '卓资县',
+ 'code': '150921'
+ },
+ {
+ 'name': '化德县',
+ 'code': '150922'
+ },
+ {
+ 'name': '商都县',
+ 'code': '150923'
+ },
+ {
+ 'name': '兴和县',
+ 'code': '150924'
+ },
+ {
+ 'name': '凉城县',
+ 'code': '150925'
+ },
+ {
+ 'name': '察哈尔右翼前旗',
+ 'code': '150926'
+ },
+ {
+ 'name': '察哈尔右翼中旗',
+ 'code': '150927'
+ },
+ {
+ 'name': '察哈尔右翼后旗',
+ 'code': '150928'
+ },
+ {
+ 'name': '四子王旗',
+ 'code': '150929'
+ },
+ {
+ 'name': '丰镇市',
+ 'code': '150981'
+ }
+ ]
+ },
+ {
+ 'name': '兴安盟',
+ 'code': '152200',
+ 'children': [
+ {
+ 'name': '乌兰浩特市',
+ 'code': '152201'
+ },
+ {
+ 'name': '阿尔山市',
+ 'code': '152202'
+ },
+ {
+ 'name': '科尔沁右翼前旗',
+ 'code': '152221'
+ },
+ {
+ 'name': '科尔沁右翼中旗',
+ 'code': '152222'
+ },
+ {
+ 'name': '扎赉特旗',
+ 'code': '152223'
+ },
+ {
+ 'name': '突泉县',
+ 'code': '152224'
+ }
+ ]
+ },
+ {
+ 'name': '锡林郭勒盟',
+ 'code': '152500',
+ 'children': [
+ {
+ 'name': '二连浩特市',
+ 'code': '152501'
+ },
+ {
+ 'name': '锡林浩特市',
+ 'code': '152502'
+ },
+ {
+ 'name': '阿巴嘎旗',
+ 'code': '152522'
+ },
+ {
+ 'name': '苏尼特左旗',
+ 'code': '152523'
+ },
+ {
+ 'name': '苏尼特右旗',
+ 'code': '152524'
+ },
+ {
+ 'name': '东乌珠穆沁旗',
+ 'code': '152525'
+ },
+ {
+ 'name': '西乌珠穆沁旗',
+ 'code': '152526'
+ },
+ {
+ 'name': '太仆寺旗',
+ 'code': '152527'
+ },
+ {
+ 'name': '镶黄旗',
+ 'code': '152528'
+ },
+ {
+ 'name': '正镶白旗',
+ 'code': '152529'
+ },
+ {
+ 'name': '正蓝旗',
+ 'code': '152530'
+ },
+ {
+ 'name': '多伦县',
+ 'code': '152531'
+ }
+ ]
+ },
+ {
+ 'name': '阿拉善盟',
+ 'code': '152900',
+ 'children': [
+ {
+ 'name': '阿拉善左旗',
+ 'code': '152921'
+ },
+ {
+ 'name': '阿拉善右旗',
+ 'code': '152922'
+ },
+ {
+ 'name': '额济纳旗',
+ 'code': '152923'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '辽宁省',
+ 'code': '210000',
+ 'region': 'northeast',
+ 'children': [
+ {
+ 'name': '沈阳市',
+ 'code': '210100',
+ 'children': [
+ {
+ 'name': '和平区',
+ 'code': '210102'
+ },
+ {
+ 'name': '沈河区',
+ 'code': '210103'
+ },
+ {
+ 'name': '大东区',
+ 'code': '210104'
+ },
+ {
+ 'name': '皇姑区',
+ 'code': '210105'
+ },
+ {
+ 'name': '铁西区',
+ 'code': '210106'
+ },
+ {
+ 'name': '苏家屯区',
+ 'code': '210111'
+ },
+ {
+ 'name': '浑南区',
+ 'code': '210112'
+ },
+ {
+ 'name': '沈北新区',
+ 'code': '210113'
+ },
+ {
+ 'name': '于洪区',
+ 'code': '210114'
+ },
+ {
+ 'name': '辽中区',
+ 'code': '210115'
+ },
+ {
+ 'name': '康平县',
+ 'code': '210123'
+ },
+ {
+ 'name': '法库县',
+ 'code': '210124'
+ },
+ {
+ 'name': '新民市',
+ 'code': '210181'
+ }
+ ]
+ },
+ {
+ 'name': '大连市',
+ 'code': '210200',
+ 'children': [
+ {
+ 'name': '中山区',
+ 'code': '210202'
+ },
+ {
+ 'name': '西岗区',
+ 'code': '210203'
+ },
+ {
+ 'name': '沙河口区',
+ 'code': '210204'
+ },
+ {
+ 'name': '甘井子区',
+ 'code': '210211'
+ },
+ {
+ 'name': '旅顺口区',
+ 'code': '210212'
+ },
+ {
+ 'name': '金州区',
+ 'code': '210213'
+ },
+ {
+ 'name': '普兰店区',
+ 'code': '210214'
+ },
+ {
+ 'name': '长海县',
+ 'code': '210224'
+ },
+ {
+ 'name': '瓦房店市',
+ 'code': '210281'
+ },
+ {
+ 'name': '庄河市',
+ 'code': '210283'
+ }
+ ]
+ },
+ {
+ 'name': '鞍山市',
+ 'code': '210300',
+ 'children': [
+ {
+ 'name': '铁东区',
+ 'code': '210302'
+ },
+ {
+ 'name': '铁西区',
+ 'code': '210303'
+ },
+ {
+ 'name': '立山区',
+ 'code': '210304'
+ },
+ {
+ 'name': '千山区',
+ 'code': '210311'
+ },
+ {
+ 'name': '台安县',
+ 'code': '210321'
+ },
+ {
+ 'name': '岫岩满族自治县',
+ 'code': '210323'
+ },
+ {
+ 'name': '海城市',
+ 'code': '210381'
+ }
+ ]
+ },
+ {
+ 'name': '抚顺市',
+ 'code': '210400',
+ 'children': [
+ {
+ 'name': '新抚区',
+ 'code': '210402'
+ },
+ {
+ 'name': '东洲区',
+ 'code': '210403'
+ },
+ {
+ 'name': '望花区',
+ 'code': '210404'
+ },
+ {
+ 'name': '顺城区',
+ 'code': '210411'
+ },
+ {
+ 'name': '抚顺县',
+ 'code': '210421'
+ },
+ {
+ 'name': '新宾满族自治县',
+ 'code': '210422'
+ },
+ {
+ 'name': '清原满族自治县',
+ 'code': '210423'
+ }
+ ]
+ },
+ {
+ 'name': '本溪市',
+ 'code': '210500',
+ 'children': [
+ {
+ 'name': '平山区',
+ 'code': '210502'
+ },
+ {
+ 'name': '溪湖区',
+ 'code': '210503'
+ },
+ {
+ 'name': '明山区',
+ 'code': '210504'
+ },
+ {
+ 'name': '南芬区',
+ 'code': '210505'
+ },
+ {
+ 'name': '本溪满族自治县',
+ 'code': '210521'
+ },
+ {
+ 'name': '桓仁满族自治县',
+ 'code': '210522'
+ }
+ ]
+ },
+ {
+ 'name': '丹东市',
+ 'code': '210600',
+ 'children': [
+ {
+ 'name': '元宝区',
+ 'code': '210602'
+ },
+ {
+ 'name': '振兴区',
+ 'code': '210603'
+ },
+ {
+ 'name': '振安区',
+ 'code': '210604'
+ },
+ {
+ 'name': '宽甸满族自治县',
+ 'code': '210624'
+ },
+ {
+ 'name': '东港市',
+ 'code': '210681'
+ },
+ {
+ 'name': '凤城市',
+ 'code': '210682'
+ }
+ ]
+ },
+ {
+ 'name': '锦州市',
+ 'code': '210700',
+ 'children': [
+ {
+ 'name': '古塔区',
+ 'code': '210702'
+ },
+ {
+ 'name': '凌河区',
+ 'code': '210703'
+ },
+ {
+ 'name': '太和区',
+ 'code': '210711'
+ },
+ {
+ 'name': '黑山县',
+ 'code': '210726'
+ },
+ {
+ 'name': '义县',
+ 'code': '210727'
+ },
+ {
+ 'name': '凌海市',
+ 'code': '210781'
+ },
+ {
+ 'name': '北镇市',
+ 'code': '210782'
+ }
+ ]
+ },
+ {
+ 'name': '营口市',
+ 'code': '210800',
+ 'children': [
+ {
+ 'name': '站前区',
+ 'code': '210802'
+ },
+ {
+ 'name': '西市区',
+ 'code': '210803'
+ },
+ {
+ 'name': '鲅鱼圈区',
+ 'code': '210804'
+ },
+ {
+ 'name': '老边区',
+ 'code': '210811'
+ },
+ {
+ 'name': '盖州市',
+ 'code': '210881'
+ },
+ {
+ 'name': '大石桥市',
+ 'code': '210882'
+ }
+ ]
+ },
+ {
+ 'name': '阜新市',
+ 'code': '210900',
+ 'children': [
+ {
+ 'name': '海州区',
+ 'code': '210902'
+ },
+ {
+ 'name': '新邱区',
+ 'code': '210903'
+ },
+ {
+ 'name': '太平区',
+ 'code': '210904'
+ },
+ {
+ 'name': '清河门区',
+ 'code': '210905'
+ },
+ {
+ 'name': '细河区',
+ 'code': '210911'
+ },
+ {
+ 'name': '阜新蒙古族自治县',
+ 'code': '210921'
+ },
+ {
+ 'name': '彰武县',
+ 'code': '210922'
+ }
+ ]
+ },
+ {
+ 'name': '辽阳市',
+ 'code': '211000',
+ 'children': [
+ {
+ 'name': '白塔区',
+ 'code': '211002'
+ },
+ {
+ 'name': '文圣区',
+ 'code': '211003'
+ },
+ {
+ 'name': '宏伟区',
+ 'code': '211004'
+ },
+ {
+ 'name': '弓长岭区',
+ 'code': '211005'
+ },
+ {
+ 'name': '太子河区',
+ 'code': '211011'
+ },
+ {
+ 'name': '辽阳县',
+ 'code': '211021'
+ },
+ {
+ 'name': '灯塔市',
+ 'code': '211081'
+ }
+ ]
+ },
+ {
+ 'name': '盘锦市',
+ 'code': '211100',
+ 'children': [
+ {
+ 'name': '双台子区',
+ 'code': '211102'
+ },
+ {
+ 'name': '兴隆台区',
+ 'code': '211103'
+ },
+ {
+ 'name': '大洼区',
+ 'code': '211104'
+ },
+ {
+ 'name': '盘山县',
+ 'code': '211122'
+ }
+ ]
+ },
+ {
+ 'name': '铁岭市',
+ 'code': '211200',
+ 'children': [
+ {
+ 'name': '银州区',
+ 'code': '211202'
+ },
+ {
+ 'name': '清河区',
+ 'code': '211204'
+ },
+ {
+ 'name': '铁岭县',
+ 'code': '211221'
+ },
+ {
+ 'name': '西丰县',
+ 'code': '211223'
+ },
+ {
+ 'name': '昌图县',
+ 'code': '211224'
+ },
+ {
+ 'name': '调兵山市',
+ 'code': '211281'
+ },
+ {
+ 'name': '开原市',
+ 'code': '211282'
+ }
+ ]
+ },
+ {
+ 'name': '朝阳市',
+ 'code': '211300',
+ 'children': [
+ {
+ 'name': '双塔区',
+ 'code': '211302'
+ },
+ {
+ 'name': '龙城区',
+ 'code': '211303'
+ },
+ {
+ 'name': '朝阳县',
+ 'code': '211321'
+ },
+ {
+ 'name': '建平县',
+ 'code': '211322'
+ },
+ {
+ 'name': '喀喇沁左翼蒙古族自治县',
+ 'code': '211324'
+ },
+ {
+ 'name': '北票市',
+ 'code': '211381'
+ },
+ {
+ 'name': '凌源市',
+ 'code': '211382'
+ }
+ ]
+ },
+ {
+ 'name': '葫芦岛市',
+ 'code': '211400',
+ 'children': [
+ {
+ 'name': '连山区',
+ 'code': '211402'
+ },
+ {
+ 'name': '龙港区',
+ 'code': '211403'
+ },
+ {
+ 'name': '南票区',
+ 'code': '211404'
+ },
+ {
+ 'name': '绥中县',
+ 'code': '211421'
+ },
+ {
+ 'name': '建昌县',
+ 'code': '211422'
+ },
+ {
+ 'name': '兴城市',
+ 'code': '211481'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '吉林省',
+ 'code': '220000',
+ 'region': 'northeast',
+ 'children': [
+ {
+ 'name': '长春市',
+ 'code': '220100',
+ 'children': [
+ {
+ 'name': '南关区',
+ 'code': '220102'
+ },
+ {
+ 'name': '宽城区',
+ 'code': '220103'
+ },
+ {
+ 'name': '朝阳区',
+ 'code': '220104'
+ },
+ {
+ 'name': '二道区',
+ 'code': '220105'
+ },
+ {
+ 'name': '绿园区',
+ 'code': '220106'
+ },
+ {
+ 'name': '双阳区',
+ 'code': '220112'
+ },
+ {
+ 'name': '九台区',
+ 'code': '220113'
+ },
+ {
+ 'name': '农安县',
+ 'code': '220122'
+ },
+ {
+ 'name': '榆树市',
+ 'code': '220182'
+ },
+ {
+ 'name': '德惠市',
+ 'code': '220183'
+ }
+ ]
+ },
+ {
+ 'name': '吉林市',
+ 'code': '220200',
+ 'children': [
+ {
+ 'name': '昌邑区',
+ 'code': '220202'
+ },
+ {
+ 'name': '龙潭区',
+ 'code': '220203'
+ },
+ {
+ 'name': '船营区',
+ 'code': '220204'
+ },
+ {
+ 'name': '丰满区',
+ 'code': '220211'
+ },
+ {
+ 'name': '永吉县',
+ 'code': '220221'
+ },
+ {
+ 'name': '蛟河市',
+ 'code': '220281'
+ },
+ {
+ 'name': '桦甸市',
+ 'code': '220282'
+ },
+ {
+ 'name': '舒兰市',
+ 'code': '220283'
+ },
+ {
+ 'name': '磐石市',
+ 'code': '220284'
+ }
+ ]
+ },
+ {
+ 'name': '四平市',
+ 'code': '220300',
+ 'children': [
+ {
+ 'name': '铁西区',
+ 'code': '220302'
+ },
+ {
+ 'name': '铁东区',
+ 'code': '220303'
+ },
+ {
+ 'name': '梨树县',
+ 'code': '220322'
+ },
+ {
+ 'name': '伊通满族自治县',
+ 'code': '220323'
+ },
+ {
+ 'name': '公主岭市',
+ 'code': '220381'
+ },
+ {
+ 'name': '双辽市',
+ 'code': '220382'
+ }
+ ]
+ },
+ {
+ 'name': '辽源市',
+ 'code': '220400',
+ 'children': [
+ {
+ 'name': '龙山区',
+ 'code': '220402'
+ },
+ {
+ 'name': '西安区',
+ 'code': '220403'
+ },
+ {
+ 'name': '东丰县',
+ 'code': '220421'
+ },
+ {
+ 'name': '东辽县',
+ 'code': '220422'
+ }
+ ]
+ },
+ {
+ 'name': '通化市',
+ 'code': '220500',
+ 'children': [
+ {
+ 'name': '东昌区',
+ 'code': '220502'
+ },
+ {
+ 'name': '二道江区',
+ 'code': '220503'
+ },
+ {
+ 'name': '通化县',
+ 'code': '220521'
+ },
+ {
+ 'name': '辉南县',
+ 'code': '220523'
+ },
+ {
+ 'name': '柳河县',
+ 'code': '220524'
+ },
+ {
+ 'name': '梅河口市',
+ 'code': '220581'
+ },
+ {
+ 'name': '集安市',
+ 'code': '220582'
+ }
+ ]
+ },
+ {
+ 'name': '白山市',
+ 'code': '220600',
+ 'children': [
+ {
+ 'name': '浑江区',
+ 'code': '220602'
+ },
+ {
+ 'name': '江源区',
+ 'code': '220605'
+ },
+ {
+ 'name': '抚松县',
+ 'code': '220621'
+ },
+ {
+ 'name': '靖宇县',
+ 'code': '220622'
+ },
+ {
+ 'name': '长白朝鲜族自治县',
+ 'code': '220623'
+ },
+ {
+ 'name': '临江市',
+ 'code': '220681'
+ }
+ ]
+ },
+ {
+ 'name': '松原市',
+ 'code': '220700',
+ 'children': [
+ {
+ 'name': '宁江区',
+ 'code': '220702'
+ },
+ {
+ 'name': '前郭尔罗斯蒙古族自治县',
+ 'code': '220721'
+ },
+ {
+ 'name': '长岭县',
+ 'code': '220722'
+ },
+ {
+ 'name': '乾安县',
+ 'code': '220723'
+ },
+ {
+ 'name': '扶余市',
+ 'code': '220781'
+ }
+ ]
+ },
+ {
+ 'name': '白城市',
+ 'code': '220800',
+ 'children': [
+ {
+ 'name': '洮北区',
+ 'code': '220802'
+ },
+ {
+ 'name': '镇赉县',
+ 'code': '220821'
+ },
+ {
+ 'name': '通榆县',
+ 'code': '220822'
+ },
+ {
+ 'name': '洮南市',
+ 'code': '220881'
+ },
+ {
+ 'name': '大安市',
+ 'code': '220882'
+ }
+ ]
+ },
+ {
+ 'name': '延边朝鲜族自治州',
+ 'code': '222400',
+ 'children': [
+ {
+ 'name': '延吉市',
+ 'code': '222401'
+ },
+ {
+ 'name': '图们市',
+ 'code': '222402'
+ },
+ {
+ 'name': '敦化市',
+ 'code': '222403'
+ },
+ {
+ 'name': '珲春市',
+ 'code': '222404'
+ },
+ {
+ 'name': '龙井市',
+ 'code': '222405'
+ },
+ {
+ 'name': '和龙市',
+ 'code': '222406'
+ },
+ {
+ 'name': '汪清县',
+ 'code': '222424'
+ },
+ {
+ 'name': '安图县',
+ 'code': '222426'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '黑龙江省',
+ 'code': '230000',
+ 'region': 'northeast',
+ 'children': [
+ {
+ 'name': '哈尔滨市',
+ 'code': '230100',
+ 'children': [
+ {
+ 'name': '道里区',
+ 'code': '230102'
+ },
+ {
+ 'name': '南岗区',
+ 'code': '230103'
+ },
+ {
+ 'name': '道外区',
+ 'code': '230104'
+ },
+ {
+ 'name': '平房区',
+ 'code': '230108'
+ },
+ {
+ 'name': '松北区',
+ 'code': '230109'
+ },
+ {
+ 'name': '香坊区',
+ 'code': '230110'
+ },
+ {
+ 'name': '呼兰区',
+ 'code': '230111'
+ },
+ {
+ 'name': '阿城区',
+ 'code': '230112'
+ },
+ {
+ 'name': '双城区',
+ 'code': '230113'
+ },
+ {
+ 'name': '依兰县',
+ 'code': '230123'
+ },
+ {
+ 'name': '方正县',
+ 'code': '230124'
+ },
+ {
+ 'name': '宾县',
+ 'code': '230125'
+ },
+ {
+ 'name': '巴彦县',
+ 'code': '230126'
+ },
+ {
+ 'name': '木兰县',
+ 'code': '230127'
+ },
+ {
+ 'name': '通河县',
+ 'code': '230128'
+ },
+ {
+ 'name': '延寿县',
+ 'code': '230129'
+ },
+ {
+ 'name': '尚志市',
+ 'code': '230183'
+ },
+ {
+ 'name': '五常市',
+ 'code': '230184'
+ }
+ ]
+ },
+ {
+ 'name': '齐齐哈尔市',
+ 'code': '230200',
+ 'children': [
+ {
+ 'name': '龙沙区',
+ 'code': '230202'
+ },
+ {
+ 'name': '建华区',
+ 'code': '230203'
+ },
+ {
+ 'name': '铁锋区',
+ 'code': '230204'
+ },
+ {
+ 'name': '昂昂溪区',
+ 'code': '230205'
+ },
+ {
+ 'name': '富拉尔基区',
+ 'code': '230206'
+ },
+ {
+ 'name': '碾子山区',
+ 'code': '230207'
+ },
+ {
+ 'name': '梅里斯达斡尔族区',
+ 'code': '230208'
+ },
+ {
+ 'name': '龙江县',
+ 'code': '230221'
+ },
+ {
+ 'name': '依安县',
+ 'code': '230223'
+ },
+ {
+ 'name': '泰来县',
+ 'code': '230224'
+ },
+ {
+ 'name': '甘南县',
+ 'code': '230225'
+ },
+ {
+ 'name': '富裕县',
+ 'code': '230227'
+ },
+ {
+ 'name': '克山县',
+ 'code': '230229'
+ },
+ {
+ 'name': '克东县',
+ 'code': '230230'
+ },
+ {
+ 'name': '拜泉县',
+ 'code': '230231'
+ },
+ {
+ 'name': '讷河市',
+ 'code': '230281'
+ }
+ ]
+ },
+ {
+ 'name': '鸡西市',
+ 'code': '230300',
+ 'children': [
+ {
+ 'name': '鸡冠区',
+ 'code': '230302'
+ },
+ {
+ 'name': '恒山区',
+ 'code': '230303'
+ },
+ {
+ 'name': '滴道区',
+ 'code': '230304'
+ },
+ {
+ 'name': '梨树区',
+ 'code': '230305'
+ },
+ {
+ 'name': '城子河区',
+ 'code': '230306'
+ },
+ {
+ 'name': '麻山区',
+ 'code': '230307'
+ },
+ {
+ 'name': '鸡东县',
+ 'code': '230321'
+ },
+ {
+ 'name': '虎林市',
+ 'code': '230381'
+ },
+ {
+ 'name': '密山市',
+ 'code': '230382'
+ }
+ ]
+ },
+ {
+ 'name': '鹤岗市',
+ 'code': '230400',
+ 'children': [
+ {
+ 'name': '向阳区',
+ 'code': '230402'
+ },
+ {
+ 'name': '工农区',
+ 'code': '230403'
+ },
+ {
+ 'name': '南山区',
+ 'code': '230404'
+ },
+ {
+ 'name': '兴安区',
+ 'code': '230405'
+ },
+ {
+ 'name': '东山区',
+ 'code': '230406'
+ },
+ {
+ 'name': '兴山区',
+ 'code': '230407'
+ },
+ {
+ 'name': '萝北县',
+ 'code': '230421'
+ },
+ {
+ 'name': '绥滨县',
+ 'code': '230422'
+ }
+ ]
+ },
+ {
+ 'name': '双鸭山市',
+ 'code': '230500',
+ 'children': [
+ {
+ 'name': '尖山区',
+ 'code': '230502'
+ },
+ {
+ 'name': '岭东区',
+ 'code': '230503'
+ },
+ {
+ 'name': '四方台区',
+ 'code': '230505'
+ },
+ {
+ 'name': '宝山区',
+ 'code': '230506'
+ },
+ {
+ 'name': '集贤县',
+ 'code': '230521'
+ },
+ {
+ 'name': '友谊县',
+ 'code': '230522'
+ },
+ {
+ 'name': '宝清县',
+ 'code': '230523'
+ },
+ {
+ 'name': '饶河县',
+ 'code': '230524'
+ }
+ ]
+ },
+ {
+ 'name': '大庆市',
+ 'code': '230600',
+ 'children': [
+ {
+ 'name': '萨尔图区',
+ 'code': '230602'
+ },
+ {
+ 'name': '龙凤区',
+ 'code': '230603'
+ },
+ {
+ 'name': '让胡路区',
+ 'code': '230604'
+ },
+ {
+ 'name': '红岗区',
+ 'code': '230605'
+ },
+ {
+ 'name': '大同区',
+ 'code': '230606'
+ },
+ {
+ 'name': '肇州县',
+ 'code': '230621'
+ },
+ {
+ 'name': '肇源县',
+ 'code': '230622'
+ },
+ {
+ 'name': '林甸县',
+ 'code': '230623'
+ },
+ {
+ 'name': '杜尔伯特蒙古族自治县',
+ 'code': '230624'
+ }
+ ]
+ },
+ {
+ 'name': '伊春市',
+ 'code': '230700',
+ 'children': [
+ {
+ 'name': '伊春区',
+ 'code': '230702'
+ },
+ {
+ 'name': '南岔区',
+ 'code': '230703'
+ },
+ {
+ 'name': '友好区',
+ 'code': '230704'
+ },
+ {
+ 'name': '西林区',
+ 'code': '230705'
+ },
+ {
+ 'name': '翠峦区',
+ 'code': '230706'
+ },
+ {
+ 'name': '新青区',
+ 'code': '230707'
+ },
+ {
+ 'name': '美溪区',
+ 'code': '230708'
+ },
+ {
+ 'name': '金山屯区',
+ 'code': '230709'
+ },
+ {
+ 'name': '五营区',
+ 'code': '230710'
+ },
+ {
+ 'name': '乌马河区',
+ 'code': '230711'
+ },
+ {
+ 'name': '汤旺河区',
+ 'code': '230712'
+ },
+ {
+ 'name': '带岭区',
+ 'code': '230713'
+ },
+ {
+ 'name': '乌伊岭区',
+ 'code': '230714'
+ },
+ {
+ 'name': '红星区',
+ 'code': '230715'
+ },
+ {
+ 'name': '上甘岭区',
+ 'code': '230716'
+ },
+ {
+ 'name': '嘉荫县',
+ 'code': '230722'
+ },
+ {
+ 'name': '铁力市',
+ 'code': '230781'
+ }
+ ]
+ },
+ {
+ 'name': '佳木斯市',
+ 'code': '230800',
+ 'children': [
+ {
+ 'name': '向阳区',
+ 'code': '230803'
+ },
+ {
+ 'name': '前进区',
+ 'code': '230804'
+ },
+ {
+ 'name': '东风区',
+ 'code': '230805'
+ },
+ {
+ 'name': '郊区',
+ 'code': '230811'
+ },
+ {
+ 'name': '桦南县',
+ 'code': '230822'
+ },
+ {
+ 'name': '桦川县',
+ 'code': '230826'
+ },
+ {
+ 'name': '汤原县',
+ 'code': '230828'
+ },
+ {
+ 'name': '同江市',
+ 'code': '230881'
+ },
+ {
+ 'name': '富锦市',
+ 'code': '230882'
+ },
+ {
+ 'name': '抚远市',
+ 'code': '230883'
+ }
+ ]
+ },
+ {
+ 'name': '七台河市',
+ 'code': '230900',
+ 'children': [
+ {
+ 'name': '新兴区',
+ 'code': '230902'
+ },
+ {
+ 'name': '桃山区',
+ 'code': '230903'
+ },
+ {
+ 'name': '茄子河区',
+ 'code': '230904'
+ },
+ {
+ 'name': '勃利县',
+ 'code': '230921'
+ }
+ ]
+ },
+ {
+ 'name': '牡丹江市',
+ 'code': '231000',
+ 'children': [
+ {
+ 'name': '东安区',
+ 'code': '231002'
+ },
+ {
+ 'name': '阳明区',
+ 'code': '231003'
+ },
+ {
+ 'name': '爱民区',
+ 'code': '231004'
+ },
+ {
+ 'name': '西安区',
+ 'code': '231005'
+ },
+ {
+ 'name': '林口县',
+ 'code': '231025'
+ },
+ {
+ 'name': '绥芬河市',
+ 'code': '231081'
+ },
+ {
+ 'name': '海林市',
+ 'code': '231083'
+ },
+ {
+ 'name': '宁安市',
+ 'code': '231084'
+ },
+ {
+ 'name': '穆棱市',
+ 'code': '231085'
+ },
+ {
+ 'name': '东宁市',
+ 'code': '231086'
+ }
+ ]
+ },
+ {
+ 'name': '黑河市',
+ 'code': '231100',
+ 'children': [
+ {
+ 'name': '爱辉区',
+ 'code': '231102'
+ },
+ {
+ 'name': '嫩江县',
+ 'code': '231121'
+ },
+ {
+ 'name': '逊克县',
+ 'code': '231123'
+ },
+ {
+ 'name': '孙吴县',
+ 'code': '231124'
+ },
+ {
+ 'name': '北安市',
+ 'code': '231181'
+ },
+ {
+ 'name': '五大连池市',
+ 'code': '231182'
+ }
+ ]
+ },
+ {
+ 'name': '绥化市',
+ 'code': '231200',
+ 'children': [
+ {
+ 'name': '北林区',
+ 'code': '231202'
+ },
+ {
+ 'name': '望奎县',
+ 'code': '231221'
+ },
+ {
+ 'name': '兰西县',
+ 'code': '231222'
+ },
+ {
+ 'name': '青冈县',
+ 'code': '231223'
+ },
+ {
+ 'name': '庆安县',
+ 'code': '231224'
+ },
+ {
+ 'name': '明水县',
+ 'code': '231225'
+ },
+ {
+ 'name': '绥棱县',
+ 'code': '231226'
+ },
+ {
+ 'name': '安达市',
+ 'code': '231281'
+ },
+ {
+ 'name': '肇东市',
+ 'code': '231282'
+ },
+ {
+ 'name': '海伦市',
+ 'code': '231283'
+ }
+ ]
+ },
+ {
+ 'name': '大兴安岭地区',
+ 'code': '232700',
+ 'children': [
+ {
+ 'name': '漠河市',
+ 'code': '232701'
+ },
+ {
+ 'name': '呼玛县',
+ 'code': '232721'
+ },
+ {
+ 'name': '塔河县',
+ 'code': '232722'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '上海市',
+ 'code': '310000',
+ 'region': 'east',
+ 'provinceLevelCity': true,
+ 'children': [
+ {
+ 'name': '市辖区',
+ 'code': '310100',
+ 'children': [
+ {
+ 'name': '黄浦区',
+ 'code': '310101'
+ },
+ {
+ 'name': '徐汇区',
+ 'code': '310104'
+ },
+ {
+ 'name': '长宁区',
+ 'code': '310105'
+ },
+ {
+ 'name': '静安区',
+ 'code': '310106'
+ },
+ {
+ 'name': '普陀区',
+ 'code': '310107'
+ },
+ {
+ 'name': '虹口区',
+ 'code': '310109'
+ },
+ {
+ 'name': '杨浦区',
+ 'code': '310110'
+ },
+ {
+ 'name': '闵行区',
+ 'code': '310112'
+ },
+ {
+ 'name': '宝山区',
+ 'code': '310113'
+ },
+ {
+ 'name': '嘉定区',
+ 'code': '310114'
+ },
+ {
+ 'name': '浦东新区',
+ 'code': '310115'
+ },
+ {
+ 'name': '金山区',
+ 'code': '310116'
+ },
+ {
+ 'name': '松江区',
+ 'code': '310117'
+ },
+ {
+ 'name': '青浦区',
+ 'code': '310118'
+ },
+ {
+ 'name': '奉贤区',
+ 'code': '310120'
+ },
+ {
+ 'name': '崇明区',
+ 'code': '310151'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '江苏省',
+ 'code': '320000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '南京市',
+ 'code': '320100',
+ 'children': [
+ {
+ 'name': '玄武区',
+ 'code': '320102'
+ },
+ {
+ 'name': '秦淮区',
+ 'code': '320104'
+ },
+ {
+ 'name': '建邺区',
+ 'code': '320105'
+ },
+ {
+ 'name': '鼓楼区',
+ 'code': '320106'
+ },
+ {
+ 'name': '浦口区',
+ 'code': '320111'
+ },
+ {
+ 'name': '栖霞区',
+ 'code': '320113'
+ },
+ {
+ 'name': '雨花台区',
+ 'code': '320114'
+ },
+ {
+ 'name': '江宁区',
+ 'code': '320115'
+ },
+ {
+ 'name': '六合区',
+ 'code': '320116'
+ },
+ {
+ 'name': '溧水区',
+ 'code': '320117'
+ },
+ {
+ 'name': '高淳区',
+ 'code': '320118'
+ }
+ ]
+ },
+ {
+ 'name': '无锡市',
+ 'code': '320200',
+ 'children': [
+ {
+ 'name': '锡山区',
+ 'code': '320205'
+ },
+ {
+ 'name': '惠山区',
+ 'code': '320206'
+ },
+ {
+ 'name': '滨湖区',
+ 'code': '320211'
+ },
+ {
+ 'name': '梁溪区',
+ 'code': '320213'
+ },
+ {
+ 'name': '新吴区',
+ 'code': '320214'
+ },
+ {
+ 'name': '江阴市',
+ 'code': '320281'
+ },
+ {
+ 'name': '宜兴市',
+ 'code': '320282'
+ }
+ ]
+ },
+ {
+ 'name': '徐州市',
+ 'code': '320300',
+ 'children': [
+ {
+ 'name': '鼓楼区',
+ 'code': '320302'
+ },
+ {
+ 'name': '云龙区',
+ 'code': '320303'
+ },
+ {
+ 'name': '贾汪区',
+ 'code': '320305'
+ },
+ {
+ 'name': '泉山区',
+ 'code': '320311'
+ },
+ {
+ 'name': '铜山区',
+ 'code': '320312'
+ },
+ {
+ 'name': '丰县',
+ 'code': '320321'
+ },
+ {
+ 'name': '沛县',
+ 'code': '320322'
+ },
+ {
+ 'name': '睢宁县',
+ 'code': '320324'
+ },
+ {
+ 'name': '新沂市',
+ 'code': '320381'
+ },
+ {
+ 'name': '邳州市',
+ 'code': '320382'
+ }
+ ]
+ },
+ {
+ 'name': '常州市',
+ 'code': '320400',
+ 'children': [
+ {
+ 'name': '天宁区',
+ 'code': '320402'
+ },
+ {
+ 'name': '钟楼区',
+ 'code': '320404'
+ },
+ {
+ 'name': '新北区',
+ 'code': '320411'
+ },
+ {
+ 'name': '武进区',
+ 'code': '320412'
+ },
+ {
+ 'name': '金坛区',
+ 'code': '320413'
+ },
+ {
+ 'name': '溧阳市',
+ 'code': '320481'
+ }
+ ]
+ },
+ {
+ 'name': '苏州市',
+ 'code': '320500',
+ 'children': [
+ {
+ 'name': '虎丘区',
+ 'code': '320505'
+ },
+ {
+ 'name': '吴中区',
+ 'code': '320506'
+ },
+ {
+ 'name': '相城区',
+ 'code': '320507'
+ },
+ {
+ 'name': '姑苏区',
+ 'code': '320508'
+ },
+ {
+ 'name': '吴江区',
+ 'code': '320509'
+ },
+ {
+ 'name': '常熟市',
+ 'code': '320581'
+ },
+ {
+ 'name': '张家港市',
+ 'code': '320582'
+ },
+ {
+ 'name': '昆山市',
+ 'code': '320583'
+ },
+ {
+ 'name': '太仓市',
+ 'code': '320585'
+ }
+ ]
+ },
+ {
+ 'name': '南通市',
+ 'code': '320600',
+ 'children': [
+ {
+ 'name': '崇川区',
+ 'code': '320602'
+ },
+ {
+ 'name': '港闸区',
+ 'code': '320611'
+ },
+ {
+ 'name': '通州区',
+ 'code': '320612'
+ },
+ {
+ 'name': '如东县',
+ 'code': '320623'
+ },
+ {
+ 'name': '启东市',
+ 'code': '320681'
+ },
+ {
+ 'name': '如皋市',
+ 'code': '320682'
+ },
+ {
+ 'name': '海门市',
+ 'code': '320684'
+ },
+ {
+ 'name': '海安市',
+ 'code': '320685'
+ }
+ ]
+ },
+ {
+ 'name': '连云港市',
+ 'code': '320700',
+ 'children': [
+ {
+ 'name': '连云区',
+ 'code': '320703'
+ },
+ {
+ 'name': '海州区',
+ 'code': '320706'
+ },
+ {
+ 'name': '赣榆区',
+ 'code': '320707'
+ },
+ {
+ 'name': '东海县',
+ 'code': '320722'
+ },
+ {
+ 'name': '灌云县',
+ 'code': '320723'
+ },
+ {
+ 'name': '灌南县',
+ 'code': '320724'
+ }
+ ]
+ },
+ {
+ 'name': '淮安市',
+ 'code': '320800',
+ 'children': [
+ {
+ 'name': '淮安区',
+ 'code': '320803'
+ },
+ {
+ 'name': '淮阴区',
+ 'code': '320804'
+ },
+ {
+ 'name': '清江浦区',
+ 'code': '320812'
+ },
+ {
+ 'name': '洪泽区',
+ 'code': '320813'
+ },
+ {
+ 'name': '涟水县',
+ 'code': '320826'
+ },
+ {
+ 'name': '盱眙县',
+ 'code': '320830'
+ },
+ {
+ 'name': '金湖县',
+ 'code': '320831'
+ }
+ ]
+ },
+ {
+ 'name': '盐城市',
+ 'code': '320900',
+ 'children': [
+ {
+ 'name': '亭湖区',
+ 'code': '320902'
+ },
+ {
+ 'name': '盐都区',
+ 'code': '320903'
+ },
+ {
+ 'name': '大丰区',
+ 'code': '320904'
+ },
+ {
+ 'name': '响水县',
+ 'code': '320921'
+ },
+ {
+ 'name': '滨海县',
+ 'code': '320922'
+ },
+ {
+ 'name': '阜宁县',
+ 'code': '320923'
+ },
+ {
+ 'name': '射阳县',
+ 'code': '320924'
+ },
+ {
+ 'name': '建湖县',
+ 'code': '320925'
+ },
+ {
+ 'name': '东台市',
+ 'code': '320981'
+ }
+ ]
+ },
+ {
+ 'name': '扬州市',
+ 'code': '321000',
+ 'children': [
+ {
+ 'name': '广陵区',
+ 'code': '321002'
+ },
+ {
+ 'name': '邗江区',
+ 'code': '321003'
+ },
+ {
+ 'name': '江都区',
+ 'code': '321012'
+ },
+ {
+ 'name': '宝应县',
+ 'code': '321023'
+ },
+ {
+ 'name': '仪征市',
+ 'code': '321081'
+ },
+ {
+ 'name': '高邮市',
+ 'code': '321084'
+ }
+ ]
+ },
+ {
+ 'name': '镇江市',
+ 'code': '321100',
+ 'children': [
+ {
+ 'name': '京口区',
+ 'code': '321102'
+ },
+ {
+ 'name': '润州区',
+ 'code': '321111'
+ },
+ {
+ 'name': '丹徒区',
+ 'code': '321112'
+ },
+ {
+ 'name': '丹阳市',
+ 'code': '321181'
+ },
+ {
+ 'name': '扬中市',
+ 'code': '321182'
+ },
+ {
+ 'name': '句容市',
+ 'code': '321183'
+ }
+ ]
+ },
+ {
+ 'name': '泰州市',
+ 'code': '321200',
+ 'children': [
+ {
+ 'name': '海陵区',
+ 'code': '321202'
+ },
+ {
+ 'name': '高港区',
+ 'code': '321203'
+ },
+ {
+ 'name': '姜堰区',
+ 'code': '321204'
+ },
+ {
+ 'name': '兴化市',
+ 'code': '321281'
+ },
+ {
+ 'name': '靖江市',
+ 'code': '321282'
+ },
+ {
+ 'name': '泰兴市',
+ 'code': '321283'
+ }
+ ]
+ },
+ {
+ 'name': '宿迁市',
+ 'code': '321300',
+ 'children': [
+ {
+ 'name': '宿城区',
+ 'code': '321302'
+ },
+ {
+ 'name': '宿豫区',
+ 'code': '321311'
+ },
+ {
+ 'name': '沭阳县',
+ 'code': '321322'
+ },
+ {
+ 'name': '泗阳县',
+ 'code': '321323'
+ },
+ {
+ 'name': '泗洪县',
+ 'code': '321324'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '浙江省',
+ 'code': '330000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '杭州市',
+ 'code': '330100',
+ 'children': [
+ {
+ 'name': '上城区',
+ 'code': '330102'
+ },
+ {
+ 'name': '下城区',
+ 'code': '330103'
+ },
+ {
+ 'name': '江干区',
+ 'code': '330104'
+ },
+ {
+ 'name': '拱墅区',
+ 'code': '330105'
+ },
+ {
+ 'name': '西湖区',
+ 'code': '330106'
+ },
+ {
+ 'name': '滨江区',
+ 'code': '330108'
+ },
+ {
+ 'name': '萧山区',
+ 'code': '330109'
+ },
+ {
+ 'name': '余杭区',
+ 'code': '330110'
+ },
+ {
+ 'name': '富阳区',
+ 'code': '330111'
+ },
+ {
+ 'name': '临安区',
+ 'code': '330112'
+ },
+ {
+ 'name': '桐庐县',
+ 'code': '330122'
+ },
+ {
+ 'name': '淳安县',
+ 'code': '330127'
+ },
+ {
+ 'name': '建德市',
+ 'code': '330182'
+ }
+ ]
+ },
+ {
+ 'name': '宁波市',
+ 'code': '330200',
+ 'children': [
+ {
+ 'name': '海曙区',
+ 'code': '330203'
+ },
+ {
+ 'name': '江北区',
+ 'code': '330205'
+ },
+ {
+ 'name': '北仑区',
+ 'code': '330206'
+ },
+ {
+ 'name': '镇海区',
+ 'code': '330211'
+ },
+ {
+ 'name': '鄞州区',
+ 'code': '330212'
+ },
+ {
+ 'name': '奉化区',
+ 'code': '330213'
+ },
+ {
+ 'name': '象山县',
+ 'code': '330225'
+ },
+ {
+ 'name': '宁海县',
+ 'code': '330226'
+ },
+ {
+ 'name': '余姚市',
+ 'code': '330281'
+ },
+ {
+ 'name': '慈溪市',
+ 'code': '330282'
+ }
+ ]
+ },
+ {
+ 'name': '温州市',
+ 'code': '330300',
+ 'children': [
+ {
+ 'name': '鹿城区',
+ 'code': '330302'
+ },
+ {
+ 'name': '龙湾区',
+ 'code': '330303'
+ },
+ {
+ 'name': '瓯海区',
+ 'code': '330304'
+ },
+ {
+ 'name': '洞头区',
+ 'code': '330305'
+ },
+ {
+ 'name': '永嘉县',
+ 'code': '330324'
+ },
+ {
+ 'name': '平阳县',
+ 'code': '330326'
+ },
+ {
+ 'name': '苍南县',
+ 'code': '330327'
+ },
+ {
+ 'name': '文成县',
+ 'code': '330328'
+ },
+ {
+ 'name': '泰顺县',
+ 'code': '330329'
+ },
+ {
+ 'name': '瑞安市',
+ 'code': '330381'
+ },
+ {
+ 'name': '乐清市',
+ 'code': '330382'
+ }
+ ]
+ },
+ {
+ 'name': '嘉兴市',
+ 'code': '330400',
+ 'children': [
+ {
+ 'name': '南湖区',
+ 'code': '330402'
+ },
+ {
+ 'name': '秀洲区',
+ 'code': '330411'
+ },
+ {
+ 'name': '嘉善县',
+ 'code': '330421'
+ },
+ {
+ 'name': '海盐县',
+ 'code': '330424'
+ },
+ {
+ 'name': '海宁市',
+ 'code': '330481'
+ },
+ {
+ 'name': '平湖市',
+ 'code': '330482'
+ },
+ {
+ 'name': '桐乡市',
+ 'code': '330483'
+ }
+ ]
+ },
+ {
+ 'name': '湖州市',
+ 'code': '330500',
+ 'children': [
+ {
+ 'name': '吴兴区',
+ 'code': '330502'
+ },
+ {
+ 'name': '南浔区',
+ 'code': '330503'
+ },
+ {
+ 'name': '德清县',
+ 'code': '330521'
+ },
+ {
+ 'name': '长兴县',
+ 'code': '330522'
+ },
+ {
+ 'name': '安吉县',
+ 'code': '330523'
+ }
+ ]
+ },
+ {
+ 'name': '绍兴市',
+ 'code': '330600',
+ 'children': [
+ {
+ 'name': '越城区',
+ 'code': '330602'
+ },
+ {
+ 'name': '柯桥区',
+ 'code': '330603'
+ },
+ {
+ 'name': '上虞区',
+ 'code': '330604'
+ },
+ {
+ 'name': '新昌县',
+ 'code': '330624'
+ },
+ {
+ 'name': '诸暨市',
+ 'code': '330681'
+ },
+ {
+ 'name': '嵊州市',
+ 'code': '330683'
+ }
+ ]
+ },
+ {
+ 'name': '金华市',
+ 'code': '330700',
+ 'children': [
+ {
+ 'name': '婺城区',
+ 'code': '330702'
+ },
+ {
+ 'name': '金东区',
+ 'code': '330703'
+ },
+ {
+ 'name': '武义县',
+ 'code': '330723'
+ },
+ {
+ 'name': '浦江县',
+ 'code': '330726'
+ },
+ {
+ 'name': '磐安县',
+ 'code': '330727'
+ },
+ {
+ 'name': '兰溪市',
+ 'code': '330781'
+ },
+ {
+ 'name': '义乌市',
+ 'code': '330782'
+ },
+ {
+ 'name': '东阳市',
+ 'code': '330783'
+ },
+ {
+ 'name': '永康市',
+ 'code': '330784'
+ }
+ ]
+ },
+ {
+ 'name': '衢州市',
+ 'code': '330800',
+ 'children': [
+ {
+ 'name': '柯城区',
+ 'code': '330802'
+ },
+ {
+ 'name': '衢江区',
+ 'code': '330803'
+ },
+ {
+ 'name': '常山县',
+ 'code': '330822'
+ },
+ {
+ 'name': '开化县',
+ 'code': '330824'
+ },
+ {
+ 'name': '龙游县',
+ 'code': '330825'
+ },
+ {
+ 'name': '江山市',
+ 'code': '330881'
+ }
+ ]
+ },
+ {
+ 'name': '舟山市',
+ 'code': '330900',
+ 'children': [
+ {
+ 'name': '定海区',
+ 'code': '330902'
+ },
+ {
+ 'name': '普陀区',
+ 'code': '330903'
+ },
+ {
+ 'name': '岱山县',
+ 'code': '330921'
+ },
+ {
+ 'name': '嵊泗县',
+ 'code': '330922'
+ }
+ ]
+ },
+ {
+ 'name': '台州市',
+ 'code': '331000',
+ 'children': [
+ {
+ 'name': '椒江区',
+ 'code': '331002'
+ },
+ {
+ 'name': '黄岩区',
+ 'code': '331003'
+ },
+ {
+ 'name': '路桥区',
+ 'code': '331004'
+ },
+ {
+ 'name': '三门县',
+ 'code': '331022'
+ },
+ {
+ 'name': '天台县',
+ 'code': '331023'
+ },
+ {
+ 'name': '仙居县',
+ 'code': '331024'
+ },
+ {
+ 'name': '温岭市',
+ 'code': '331081'
+ },
+ {
+ 'name': '临海市',
+ 'code': '331082'
+ },
+ {
+ 'name': '玉环市',
+ 'code': '331083'
+ }
+ ]
+ },
+ {
+ 'name': '丽水市',
+ 'code': '331100',
+ 'children': [
+ {
+ 'name': '莲都区',
+ 'code': '331102'
+ },
+ {
+ 'name': '青田县',
+ 'code': '331121'
+ },
+ {
+ 'name': '缙云县',
+ 'code': '331122'
+ },
+ {
+ 'name': '遂昌县',
+ 'code': '331123'
+ },
+ {
+ 'name': '松阳县',
+ 'code': '331124'
+ },
+ {
+ 'name': '云和县',
+ 'code': '331125'
+ },
+ {
+ 'name': '庆元县',
+ 'code': '331126'
+ },
+ {
+ 'name': '景宁畲族自治县',
+ 'code': '331127'
+ },
+ {
+ 'name': '龙泉市',
+ 'code': '331181'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '安徽省',
+ 'code': '340000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '合肥市',
+ 'code': '340100',
+ 'children': [
+ {
+ 'name': '瑶海区',
+ 'code': '340102'
+ },
+ {
+ 'name': '庐阳区',
+ 'code': '340103'
+ },
+ {
+ 'name': '蜀山区',
+ 'code': '340104'
+ },
+ {
+ 'name': '包河区',
+ 'code': '340111'
+ },
+ {
+ 'name': '长丰县',
+ 'code': '340121'
+ },
+ {
+ 'name': '肥东县',
+ 'code': '340122'
+ },
+ {
+ 'name': '肥西县',
+ 'code': '340123'
+ },
+ {
+ 'name': '庐江县',
+ 'code': '340124'
+ },
+ {
+ 'name': '巢湖市',
+ 'code': '340181'
+ }
+ ]
+ },
+ {
+ 'name': '芜湖市',
+ 'code': '340200',
+ 'children': [
+ {
+ 'name': '镜湖区',
+ 'code': '340202'
+ },
+ {
+ 'name': '弋江区',
+ 'code': '340203'
+ },
+ {
+ 'name': '鸠江区',
+ 'code': '340207'
+ },
+ {
+ 'name': '三山区',
+ 'code': '340208'
+ },
+ {
+ 'name': '芜湖县',
+ 'code': '340221'
+ },
+ {
+ 'name': '繁昌县',
+ 'code': '340222'
+ },
+ {
+ 'name': '南陵县',
+ 'code': '340223'
+ },
+ {
+ 'name': '无为县',
+ 'code': '340225'
+ }
+ ]
+ },
+ {
+ 'name': '蚌埠市',
+ 'code': '340300',
+ 'children': [
+ {
+ 'name': '龙子湖区',
+ 'code': '340302'
+ },
+ {
+ 'name': '蚌山区',
+ 'code': '340303'
+ },
+ {
+ 'name': '禹会区',
+ 'code': '340304'
+ },
+ {
+ 'name': '淮上区',
+ 'code': '340311'
+ },
+ {
+ 'name': '怀远县',
+ 'code': '340321'
+ },
+ {
+ 'name': '五河县',
+ 'code': '340322'
+ },
+ {
+ 'name': '固镇县',
+ 'code': '340323'
+ }
+ ]
+ },
+ {
+ 'name': '淮南市',
+ 'code': '340400',
+ 'children': [
+ {
+ 'name': '大通区',
+ 'code': '340402'
+ },
+ {
+ 'name': '田家庵区',
+ 'code': '340403'
+ },
+ {
+ 'name': '谢家集区',
+ 'code': '340404'
+ },
+ {
+ 'name': '八公山区',
+ 'code': '340405'
+ },
+ {
+ 'name': '潘集区',
+ 'code': '340406'
+ },
+ {
+ 'name': '凤台县',
+ 'code': '340421'
+ },
+ {
+ 'name': '寿县',
+ 'code': '340422'
+ }
+ ]
+ },
+ {
+ 'name': '马鞍山市',
+ 'code': '340500',
+ 'children': [
+ {
+ 'name': '花山区',
+ 'code': '340503'
+ },
+ {
+ 'name': '雨山区',
+ 'code': '340504'
+ },
+ {
+ 'name': '博望区',
+ 'code': '340506'
+ },
+ {
+ 'name': '当涂县',
+ 'code': '340521'
+ },
+ {
+ 'name': '含山县',
+ 'code': '340522'
+ },
+ {
+ 'name': '和县',
+ 'code': '340523'
+ }
+ ]
+ },
+ {
+ 'name': '淮北市',
+ 'code': '340600',
+ 'children': [
+ {
+ 'name': '杜集区',
+ 'code': '340602'
+ },
+ {
+ 'name': '相山区',
+ 'code': '340603'
+ },
+ {
+ 'name': '烈山区',
+ 'code': '340604'
+ },
+ {
+ 'name': '濉溪县',
+ 'code': '340621'
+ }
+ ]
+ },
+ {
+ 'name': '铜陵市',
+ 'code': '340700',
+ 'children': [
+ {
+ 'name': '铜官区',
+ 'code': '340705'
+ },
+ {
+ 'name': '义安区',
+ 'code': '340706'
+ },
+ {
+ 'name': '郊区',
+ 'code': '340711'
+ },
+ {
+ 'name': '枞阳县',
+ 'code': '340722'
+ }
+ ]
+ },
+ {
+ 'name': '安庆市',
+ 'code': '340800',
+ 'children': [
+ {
+ 'name': '迎江区',
+ 'code': '340802'
+ },
+ {
+ 'name': '大观区',
+ 'code': '340803'
+ },
+ {
+ 'name': '宜秀区',
+ 'code': '340811'
+ },
+ {
+ 'name': '怀宁县',
+ 'code': '340822'
+ },
+ {
+ 'name': '太湖县',
+ 'code': '340825'
+ },
+ {
+ 'name': '宿松县',
+ 'code': '340826'
+ },
+ {
+ 'name': '望江县',
+ 'code': '340827'
+ },
+ {
+ 'name': '岳西县',
+ 'code': '340828'
+ },
+ {
+ 'name': '桐城市',
+ 'code': '340881'
+ },
+ {
+ 'name': '潜山市',
+ 'code': '340882'
+ }
+ ]
+ },
+ {
+ 'name': '黄山市',
+ 'code': '341000',
+ 'children': [
+ {
+ 'name': '屯溪区',
+ 'code': '341002'
+ },
+ {
+ 'name': '黄山区',
+ 'code': '341003'
+ },
+ {
+ 'name': '徽州区',
+ 'code': '341004'
+ },
+ {
+ 'name': '歙县',
+ 'code': '341021'
+ },
+ {
+ 'name': '休宁县',
+ 'code': '341022'
+ },
+ {
+ 'name': '黟县',
+ 'code': '341023'
+ },
+ {
+ 'name': '祁门县',
+ 'code': '341024'
+ }
+ ]
+ },
+ {
+ 'name': '滁州市',
+ 'code': '341100',
+ 'children': [
+ {
+ 'name': '琅琊区',
+ 'code': '341102'
+ },
+ {
+ 'name': '南谯区',
+ 'code': '341103'
+ },
+ {
+ 'name': '来安县',
+ 'code': '341122'
+ },
+ {
+ 'name': '全椒县',
+ 'code': '341124'
+ },
+ {
+ 'name': '定远县',
+ 'code': '341125'
+ },
+ {
+ 'name': '凤阳县',
+ 'code': '341126'
+ },
+ {
+ 'name': '天长市',
+ 'code': '341181'
+ },
+ {
+ 'name': '明光市',
+ 'code': '341182'
+ }
+ ]
+ },
+ {
+ 'name': '阜阳市',
+ 'code': '341200',
+ 'children': [
+ {
+ 'name': '颍州区',
+ 'code': '341202'
+ },
+ {
+ 'name': '颍东区',
+ 'code': '341203'
+ },
+ {
+ 'name': '颍泉区',
+ 'code': '341204'
+ },
+ {
+ 'name': '临泉县',
+ 'code': '341221'
+ },
+ {
+ 'name': '太和县',
+ 'code': '341222'
+ },
+ {
+ 'name': '阜南县',
+ 'code': '341225'
+ },
+ {
+ 'name': '颍上县',
+ 'code': '341226'
+ },
+ {
+ 'name': '界首市',
+ 'code': '341282'
+ }
+ ]
+ },
+ {
+ 'name': '宿州市',
+ 'code': '341300',
+ 'children': [
+ {
+ 'name': '埇桥区',
+ 'code': '341302'
+ },
+ {
+ 'name': '砀山县',
+ 'code': '341321'
+ },
+ {
+ 'name': '萧县',
+ 'code': '341322'
+ },
+ {
+ 'name': '灵璧县',
+ 'code': '341323'
+ },
+ {
+ 'name': '泗县',
+ 'code': '341324'
+ }
+ ]
+ },
+ {
+ 'name': '六安市',
+ 'code': '341500',
+ 'children': [
+ {
+ 'name': '金安区',
+ 'code': '341502'
+ },
+ {
+ 'name': '裕安区',
+ 'code': '341503'
+ },
+ {
+ 'name': '叶集区',
+ 'code': '341504'
+ },
+ {
+ 'name': '霍邱县',
+ 'code': '341522'
+ },
+ {
+ 'name': '舒城县',
+ 'code': '341523'
+ },
+ {
+ 'name': '金寨县',
+ 'code': '341524'
+ },
+ {
+ 'name': '霍山县',
+ 'code': '341525'
+ }
+ ]
+ },
+ {
+ 'name': '亳州市',
+ 'code': '341600',
+ 'children': [
+ {
+ 'name': '谯城区',
+ 'code': '341602'
+ },
+ {
+ 'name': '涡阳县',
+ 'code': '341621'
+ },
+ {
+ 'name': '蒙城县',
+ 'code': '341622'
+ },
+ {
+ 'name': '利辛县',
+ 'code': '341623'
+ }
+ ]
+ },
+ {
+ 'name': '池州市',
+ 'code': '341700',
+ 'children': [
+ {
+ 'name': '贵池区',
+ 'code': '341702'
+ },
+ {
+ 'name': '东至县',
+ 'code': '341721'
+ },
+ {
+ 'name': '石台县',
+ 'code': '341722'
+ },
+ {
+ 'name': '青阳县',
+ 'code': '341723'
+ }
+ ]
+ },
+ {
+ 'name': '宣城市',
+ 'code': '341800',
+ 'children': [
+ {
+ 'name': '宣州区',
+ 'code': '341802'
+ },
+ {
+ 'name': '郎溪县',
+ 'code': '341821'
+ },
+ {
+ 'name': '广德县',
+ 'code': '341822'
+ },
+ {
+ 'name': '泾县',
+ 'code': '341823'
+ },
+ {
+ 'name': '绩溪县',
+ 'code': '341824'
+ },
+ {
+ 'name': '旌德县',
+ 'code': '341825'
+ },
+ {
+ 'name': '宁国市',
+ 'code': '341881'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '福建省',
+ 'code': '350000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '福州市',
+ 'code': '350100',
+ 'children': [
+ {
+ 'name': '鼓楼区',
+ 'code': '350102'
+ },
+ {
+ 'name': '台江区',
+ 'code': '350103'
+ },
+ {
+ 'name': '仓山区',
+ 'code': '350104'
+ },
+ {
+ 'name': '马尾区',
+ 'code': '350105'
+ },
+ {
+ 'name': '晋安区',
+ 'code': '350111'
+ },
+ {
+ 'name': '长乐区',
+ 'code': '350112'
+ },
+ {
+ 'name': '闽侯县',
+ 'code': '350121'
+ },
+ {
+ 'name': '连江县',
+ 'code': '350122'
+ },
+ {
+ 'name': '罗源县',
+ 'code': '350123'
+ },
+ {
+ 'name': '闽清县',
+ 'code': '350124'
+ },
+ {
+ 'name': '永泰县',
+ 'code': '350125'
+ },
+ {
+ 'name': '平潭县',
+ 'code': '350128'
+ },
+ {
+ 'name': '福清市',
+ 'code': '350181'
+ }
+ ]
+ },
+ {
+ 'name': '厦门市',
+ 'code': '350200',
+ 'children': [
+ {
+ 'name': '思明区',
+ 'code': '350203'
+ },
+ {
+ 'name': '海沧区',
+ 'code': '350205'
+ },
+ {
+ 'name': '湖里区',
+ 'code': '350206'
+ },
+ {
+ 'name': '集美区',
+ 'code': '350211'
+ },
+ {
+ 'name': '同安区',
+ 'code': '350212'
+ },
+ {
+ 'name': '翔安区',
+ 'code': '350213'
+ }
+ ]
+ },
+ {
+ 'name': '莆田市',
+ 'code': '350300',
+ 'children': [
+ {
+ 'name': '城厢区',
+ 'code': '350302'
+ },
+ {
+ 'name': '涵江区',
+ 'code': '350303'
+ },
+ {
+ 'name': '荔城区',
+ 'code': '350304'
+ },
+ {
+ 'name': '秀屿区',
+ 'code': '350305'
+ },
+ {
+ 'name': '仙游县',
+ 'code': '350322'
+ }
+ ]
+ },
+ {
+ 'name': '三明市',
+ 'code': '350400',
+ 'children': [
+ {
+ 'name': '梅列区',
+ 'code': '350402'
+ },
+ {
+ 'name': '三元区',
+ 'code': '350403'
+ },
+ {
+ 'name': '明溪县',
+ 'code': '350421'
+ },
+ {
+ 'name': '清流县',
+ 'code': '350423'
+ },
+ {
+ 'name': '宁化县',
+ 'code': '350424'
+ },
+ {
+ 'name': '大田县',
+ 'code': '350425'
+ },
+ {
+ 'name': '尤溪县',
+ 'code': '350426'
+ },
+ {
+ 'name': '沙县',
+ 'code': '350427'
+ },
+ {
+ 'name': '将乐县',
+ 'code': '350428'
+ },
+ {
+ 'name': '泰宁县',
+ 'code': '350429'
+ },
+ {
+ 'name': '建宁县',
+ 'code': '350430'
+ },
+ {
+ 'name': '永安市',
+ 'code': '350481'
+ }
+ ]
+ },
+ {
+ 'name': '泉州市',
+ 'code': '350500',
+ 'children': [
+ {
+ 'name': '鲤城区',
+ 'code': '350502'
+ },
+ {
+ 'name': '丰泽区',
+ 'code': '350503'
+ },
+ {
+ 'name': '洛江区',
+ 'code': '350504'
+ },
+ {
+ 'name': '泉港区',
+ 'code': '350505'
+ },
+ {
+ 'name': '惠安县',
+ 'code': '350521'
+ },
+ {
+ 'name': '安溪县',
+ 'code': '350524'
+ },
+ {
+ 'name': '永春县',
+ 'code': '350525'
+ },
+ {
+ 'name': '德化县',
+ 'code': '350526'
+ },
+ {
+ 'name': '金门县',
+ 'code': '350527'
+ },
+ {
+ 'name': '石狮市',
+ 'code': '350581'
+ },
+ {
+ 'name': '晋江市',
+ 'code': '350582'
+ },
+ {
+ 'name': '南安市',
+ 'code': '350583'
+ }
+ ]
+ },
+ {
+ 'name': '漳州市',
+ 'code': '350600',
+ 'children': [
+ {
+ 'name': '芗城区',
+ 'code': '350602'
+ },
+ {
+ 'name': '龙文区',
+ 'code': '350603'
+ },
+ {
+ 'name': '云霄县',
+ 'code': '350622'
+ },
+ {
+ 'name': '漳浦县',
+ 'code': '350623'
+ },
+ {
+ 'name': '诏安县',
+ 'code': '350624'
+ },
+ {
+ 'name': '长泰县',
+ 'code': '350625'
+ },
+ {
+ 'name': '东山县',
+ 'code': '350626'
+ },
+ {
+ 'name': '南靖县',
+ 'code': '350627'
+ },
+ {
+ 'name': '平和县',
+ 'code': '350628'
+ },
+ {
+ 'name': '华安县',
+ 'code': '350629'
+ },
+ {
+ 'name': '龙海市',
+ 'code': '350681'
+ }
+ ]
+ },
+ {
+ 'name': '南平市',
+ 'code': '350700',
+ 'children': [
+ {
+ 'name': '延平区',
+ 'code': '350702'
+ },
+ {
+ 'name': '建阳区',
+ 'code': '350703'
+ },
+ {
+ 'name': '顺昌县',
+ 'code': '350721'
+ },
+ {
+ 'name': '浦城县',
+ 'code': '350722'
+ },
+ {
+ 'name': '光泽县',
+ 'code': '350723'
+ },
+ {
+ 'name': '松溪县',
+ 'code': '350724'
+ },
+ {
+ 'name': '政和县',
+ 'code': '350725'
+ },
+ {
+ 'name': '邵武市',
+ 'code': '350781'
+ },
+ {
+ 'name': '武夷山市',
+ 'code': '350782'
+ },
+ {
+ 'name': '建瓯市',
+ 'code': '350783'
+ }
+ ]
+ },
+ {
+ 'name': '龙岩市',
+ 'code': '350800',
+ 'children': [
+ {
+ 'name': '新罗区',
+ 'code': '350802'
+ },
+ {
+ 'name': '永定区',
+ 'code': '350803'
+ },
+ {
+ 'name': '长汀县',
+ 'code': '350821'
+ },
+ {
+ 'name': '上杭县',
+ 'code': '350823'
+ },
+ {
+ 'name': '武平县',
+ 'code': '350824'
+ },
+ {
+ 'name': '连城县',
+ 'code': '350825'
+ },
+ {
+ 'name': '漳平市',
+ 'code': '350881'
+ }
+ ]
+ },
+ {
+ 'name': '宁德市',
+ 'code': '350900',
+ 'children': [
+ {
+ 'name': '蕉城区',
+ 'code': '350902'
+ },
+ {
+ 'name': '霞浦县',
+ 'code': '350921'
+ },
+ {
+ 'name': '古田县',
+ 'code': '350922'
+ },
+ {
+ 'name': '屏南县',
+ 'code': '350923'
+ },
+ {
+ 'name': '寿宁县',
+ 'code': '350924'
+ },
+ {
+ 'name': '周宁县',
+ 'code': '350925'
+ },
+ {
+ 'name': '柘荣县',
+ 'code': '350926'
+ },
+ {
+ 'name': '福安市',
+ 'code': '350981'
+ },
+ {
+ 'name': '福鼎市',
+ 'code': '350982'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '江西省',
+ 'code': '360000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '南昌市',
+ 'code': '360100',
+ 'children': [
+ {
+ 'name': '东湖区',
+ 'code': '360102'
+ },
+ {
+ 'name': '西湖区',
+ 'code': '360103'
+ },
+ {
+ 'name': '青云谱区',
+ 'code': '360104'
+ },
+ {
+ 'name': '湾里区',
+ 'code': '360105'
+ },
+ {
+ 'name': '青山湖区',
+ 'code': '360111'
+ },
+ {
+ 'name': '新建区',
+ 'code': '360112'
+ },
+ {
+ 'name': '南昌县',
+ 'code': '360121'
+ },
+ {
+ 'name': '安义县',
+ 'code': '360123'
+ },
+ {
+ 'name': '进贤县',
+ 'code': '360124'
+ }
+ ]
+ },
+ {
+ 'name': '景德镇市',
+ 'code': '360200',
+ 'children': [
+ {
+ 'name': '昌江区',
+ 'code': '360202'
+ },
+ {
+ 'name': '珠山区',
+ 'code': '360203'
+ },
+ {
+ 'name': '浮梁县',
+ 'code': '360222'
+ },
+ {
+ 'name': '乐平市',
+ 'code': '360281'
+ }
+ ]
+ },
+ {
+ 'name': '萍乡市',
+ 'code': '360300',
+ 'children': [
+ {
+ 'name': '安源区',
+ 'code': '360302'
+ },
+ {
+ 'name': '湘东区',
+ 'code': '360313'
+ },
+ {
+ 'name': '莲花县',
+ 'code': '360321'
+ },
+ {
+ 'name': '上栗县',
+ 'code': '360322'
+ },
+ {
+ 'name': '芦溪县',
+ 'code': '360323'
+ }
+ ]
+ },
+ {
+ 'name': '九江市',
+ 'code': '360400',
+ 'children': [
+ {
+ 'name': '濂溪区',
+ 'code': '360402'
+ },
+ {
+ 'name': '浔阳区',
+ 'code': '360403'
+ },
+ {
+ 'name': '柴桑区',
+ 'code': '360404'
+ },
+ {
+ 'name': '武宁县',
+ 'code': '360423'
+ },
+ {
+ 'name': '修水县',
+ 'code': '360424'
+ },
+ {
+ 'name': '永修县',
+ 'code': '360425'
+ },
+ {
+ 'name': '德安县',
+ 'code': '360426'
+ },
+ {
+ 'name': '都昌县',
+ 'code': '360428'
+ },
+ {
+ 'name': '湖口县',
+ 'code': '360429'
+ },
+ {
+ 'name': '彭泽县',
+ 'code': '360430'
+ },
+ {
+ 'name': '瑞昌市',
+ 'code': '360481'
+ },
+ {
+ 'name': '共青城市',
+ 'code': '360482'
+ },
+ {
+ 'name': '庐山市',
+ 'code': '360483'
+ }
+ ]
+ },
+ {
+ 'name': '新余市',
+ 'code': '360500',
+ 'children': [
+ {
+ 'name': '渝水区',
+ 'code': '360502'
+ },
+ {
+ 'name': '分宜县',
+ 'code': '360521'
+ }
+ ]
+ },
+ {
+ 'name': '鹰潭市',
+ 'code': '360600',
+ 'children': [
+ {
+ 'name': '月湖区',
+ 'code': '360602'
+ },
+ {
+ 'name': '余江区',
+ 'code': '360603'
+ },
+ {
+ 'name': '贵溪市',
+ 'code': '360681'
+ }
+ ]
+ },
+ {
+ 'name': '赣州市',
+ 'code': '360700',
+ 'children': [
+ {
+ 'name': '章贡区',
+ 'code': '360702'
+ },
+ {
+ 'name': '南康区',
+ 'code': '360703'
+ },
+ {
+ 'name': '赣县区',
+ 'code': '360704'
+ },
+ {
+ 'name': '信丰县',
+ 'code': '360722'
+ },
+ {
+ 'name': '大余县',
+ 'code': '360723'
+ },
+ {
+ 'name': '上犹县',
+ 'code': '360724'
+ },
+ {
+ 'name': '崇义县',
+ 'code': '360725'
+ },
+ {
+ 'name': '安远县',
+ 'code': '360726'
+ },
+ {
+ 'name': '龙南县',
+ 'code': '360727'
+ },
+ {
+ 'name': '定南县',
+ 'code': '360728'
+ },
+ {
+ 'name': '全南县',
+ 'code': '360729'
+ },
+ {
+ 'name': '宁都县',
+ 'code': '360730'
+ },
+ {
+ 'name': '于都县',
+ 'code': '360731'
+ },
+ {
+ 'name': '兴国县',
+ 'code': '360732'
+ },
+ {
+ 'name': '会昌县',
+ 'code': '360733'
+ },
+ {
+ 'name': '寻乌县',
+ 'code': '360734'
+ },
+ {
+ 'name': '石城县',
+ 'code': '360735'
+ },
+ {
+ 'name': '瑞金市',
+ 'code': '360781'
+ }
+ ]
+ },
+ {
+ 'name': '吉安市',
+ 'code': '360800',
+ 'children': [
+ {
+ 'name': '吉州区',
+ 'code': '360802'
+ },
+ {
+ 'name': '青原区',
+ 'code': '360803'
+ },
+ {
+ 'name': '吉安县',
+ 'code': '360821'
+ },
+ {
+ 'name': '吉水县',
+ 'code': '360822'
+ },
+ {
+ 'name': '峡江县',
+ 'code': '360823'
+ },
+ {
+ 'name': '新干县',
+ 'code': '360824'
+ },
+ {
+ 'name': '永丰县',
+ 'code': '360825'
+ },
+ {
+ 'name': '泰和县',
+ 'code': '360826'
+ },
+ {
+ 'name': '遂川县',
+ 'code': '360827'
+ },
+ {
+ 'name': '万安县',
+ 'code': '360828'
+ },
+ {
+ 'name': '安福县',
+ 'code': '360829'
+ },
+ {
+ 'name': '永新县',
+ 'code': '360830'
+ },
+ {
+ 'name': '井冈山市',
+ 'code': '360881'
+ }
+ ]
+ },
+ {
+ 'name': '宜春市',
+ 'code': '360900',
+ 'children': [
+ {
+ 'name': '袁州区',
+ 'code': '360902'
+ },
+ {
+ 'name': '奉新县',
+ 'code': '360921'
+ },
+ {
+ 'name': '万载县',
+ 'code': '360922'
+ },
+ {
+ 'name': '上高县',
+ 'code': '360923'
+ },
+ {
+ 'name': '宜丰县',
+ 'code': '360924'
+ },
+ {
+ 'name': '靖安县',
+ 'code': '360925'
+ },
+ {
+ 'name': '铜鼓县',
+ 'code': '360926'
+ },
+ {
+ 'name': '丰城市',
+ 'code': '360981'
+ },
+ {
+ 'name': '樟树市',
+ 'code': '360982'
+ },
+ {
+ 'name': '高安市',
+ 'code': '360983'
+ }
+ ]
+ },
+ {
+ 'name': '抚州市',
+ 'code': '361000',
+ 'children': [
+ {
+ 'name': '临川区',
+ 'code': '361002'
+ },
+ {
+ 'name': '东乡区',
+ 'code': '361003'
+ },
+ {
+ 'name': '南城县',
+ 'code': '361021'
+ },
+ {
+ 'name': '黎川县',
+ 'code': '361022'
+ },
+ {
+ 'name': '南丰县',
+ 'code': '361023'
+ },
+ {
+ 'name': '崇仁县',
+ 'code': '361024'
+ },
+ {
+ 'name': '乐安县',
+ 'code': '361025'
+ },
+ {
+ 'name': '宜黄县',
+ 'code': '361026'
+ },
+ {
+ 'name': '金溪县',
+ 'code': '361027'
+ },
+ {
+ 'name': '资溪县',
+ 'code': '361028'
+ },
+ {
+ 'name': '广昌县',
+ 'code': '361030'
+ }
+ ]
+ },
+ {
+ 'name': '上饶市',
+ 'code': '361100',
+ 'children': [
+ {
+ 'name': '信州区',
+ 'code': '361102'
+ },
+ {
+ 'name': '广丰区',
+ 'code': '361103'
+ },
+ {
+ 'name': '上饶县',
+ 'code': '361121'
+ },
+ {
+ 'name': '玉山县',
+ 'code': '361123'
+ },
+ {
+ 'name': '铅山县',
+ 'code': '361124'
+ },
+ {
+ 'name': '横峰县',
+ 'code': '361125'
+ },
+ {
+ 'name': '弋阳县',
+ 'code': '361126'
+ },
+ {
+ 'name': '余干县',
+ 'code': '361127'
+ },
+ {
+ 'name': '鄱阳县',
+ 'code': '361128'
+ },
+ {
+ 'name': '万年县',
+ 'code': '361129'
+ },
+ {
+ 'name': '婺源县',
+ 'code': '361130'
+ },
+ {
+ 'name': '德兴市',
+ 'code': '361181'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '山东省',
+ 'code': '370000',
+ 'region': 'east',
+ 'children': [
+ {
+ 'name': '济南市',
+ 'code': '370100',
+ 'children': [
+ {
+ 'name': '历下区',
+ 'code': '370102'
+ },
+ {
+ 'name': '市中区',
+ 'code': '370103'
+ },
+ {
+ 'name': '槐荫区',
+ 'code': '370104'
+ },
+ {
+ 'name': '天桥区',
+ 'code': '370105'
+ },
+ {
+ 'name': '历城区',
+ 'code': '370112'
+ },
+ {
+ 'name': '长清区',
+ 'code': '370113'
+ },
+ {
+ 'name': '章丘区',
+ 'code': '370114'
+ },
+ {
+ 'name': '济阳区',
+ 'code': '370115'
+ },
+ {
+ 'name': '莱芜区',
+ 'code': '370116'
+ },
+ {
+ 'name': '钢城区',
+ 'code': '370117'
+ },
+ {
+ 'name': '平阴县',
+ 'code': '370124'
+ },
+ {
+ 'name': '商河县',
+ 'code': '370126'
+ }
+ ]
+ },
+ {
+ 'name': '青岛市',
+ 'code': '370200',
+ 'children': [
+ {
+ 'name': '市南区',
+ 'code': '370202'
+ },
+ {
+ 'name': '市北区',
+ 'code': '370203'
+ },
+ {
+ 'name': '黄岛区',
+ 'code': '370211'
+ },
+ {
+ 'name': '崂山区',
+ 'code': '370212'
+ },
+ {
+ 'name': '李沧区',
+ 'code': '370213'
+ },
+ {
+ 'name': '城阳区',
+ 'code': '370214'
+ },
+ {
+ 'name': '即墨区',
+ 'code': '370215'
+ },
+ {
+ 'name': '胶州市',
+ 'code': '370281'
+ },
+ {
+ 'name': '平度市',
+ 'code': '370283'
+ },
+ {
+ 'name': '莱西市',
+ 'code': '370285'
+ }
+ ]
+ },
+ {
+ 'name': '淄博市',
+ 'code': '370300',
+ 'children': [
+ {
+ 'name': '淄川区',
+ 'code': '370302'
+ },
+ {
+ 'name': '张店区',
+ 'code': '370303'
+ },
+ {
+ 'name': '博山区',
+ 'code': '370304'
+ },
+ {
+ 'name': '临淄区',
+ 'code': '370305'
+ },
+ {
+ 'name': '周村区',
+ 'code': '370306'
+ },
+ {
+ 'name': '桓台县',
+ 'code': '370321'
+ },
+ {
+ 'name': '高青县',
+ 'code': '370322'
+ },
+ {
+ 'name': '沂源县',
+ 'code': '370323'
+ }
+ ]
+ },
+ {
+ 'name': '枣庄市',
+ 'code': '370400',
+ 'children': [
+ {
+ 'name': '市中区',
+ 'code': '370402'
+ },
+ {
+ 'name': '薛城区',
+ 'code': '370403'
+ },
+ {
+ 'name': '峄城区',
+ 'code': '370404'
+ },
+ {
+ 'name': '台儿庄区',
+ 'code': '370405'
+ },
+ {
+ 'name': '山亭区',
+ 'code': '370406'
+ },
+ {
+ 'name': '滕州市',
+ 'code': '370481'
+ }
+ ]
+ },
+ {
+ 'name': '东营市',
+ 'code': '370500',
+ 'children': [
+ {
+ 'name': '东营区',
+ 'code': '370502'
+ },
+ {
+ 'name': '河口区',
+ 'code': '370503'
+ },
+ {
+ 'name': '垦利区',
+ 'code': '370505'
+ },
+ {
+ 'name': '利津县',
+ 'code': '370522'
+ },
+ {
+ 'name': '广饶县',
+ 'code': '370523'
+ }
+ ]
+ },
+ {
+ 'name': '烟台市',
+ 'code': '370600',
+ 'children': [
+ {
+ 'name': '芝罘区',
+ 'code': '370602'
+ },
+ {
+ 'name': '福山区',
+ 'code': '370611'
+ },
+ {
+ 'name': '牟平区',
+ 'code': '370612'
+ },
+ {
+ 'name': '莱山区',
+ 'code': '370613'
+ },
+ {
+ 'name': '长岛县',
+ 'code': '370634'
+ },
+ {
+ 'name': '龙口市',
+ 'code': '370681'
+ },
+ {
+ 'name': '莱阳市',
+ 'code': '370682'
+ },
+ {
+ 'name': '莱州市',
+ 'code': '370683'
+ },
+ {
+ 'name': '蓬莱市',
+ 'code': '370684'
+ },
+ {
+ 'name': '招远市',
+ 'code': '370685'
+ },
+ {
+ 'name': '栖霞市',
+ 'code': '370686'
+ },
+ {
+ 'name': '海阳市',
+ 'code': '370687'
+ }
+ ]
+ },
+ {
+ 'name': '潍坊市',
+ 'code': '370700',
+ 'children': [
+ {
+ 'name': '潍城区',
+ 'code': '370702'
+ },
+ {
+ 'name': '寒亭区',
+ 'code': '370703'
+ },
+ {
+ 'name': '坊子区',
+ 'code': '370704'
+ },
+ {
+ 'name': '奎文区',
+ 'code': '370705'
+ },
+ {
+ 'name': '临朐县',
+ 'code': '370724'
+ },
+ {
+ 'name': '昌乐县',
+ 'code': '370725'
+ },
+ {
+ 'name': '青州市',
+ 'code': '370781'
+ },
+ {
+ 'name': '诸城市',
+ 'code': '370782'
+ },
+ {
+ 'name': '寿光市',
+ 'code': '370783'
+ },
+ {
+ 'name': '安丘市',
+ 'code': '370784'
+ },
+ {
+ 'name': '高密市',
+ 'code': '370785'
+ },
+ {
+ 'name': '昌邑市',
+ 'code': '370786'
+ }
+ ]
+ },
+ {
+ 'name': '济宁市',
+ 'code': '370800',
+ 'children': [
+ {
+ 'name': '任城区',
+ 'code': '370811'
+ },
+ {
+ 'name': '兖州区',
+ 'code': '370812'
+ },
+ {
+ 'name': '微山县',
+ 'code': '370826'
+ },
+ {
+ 'name': '鱼台县',
+ 'code': '370827'
+ },
+ {
+ 'name': '金乡县',
+ 'code': '370828'
+ },
+ {
+ 'name': '嘉祥县',
+ 'code': '370829'
+ },
+ {
+ 'name': '汶上县',
+ 'code': '370830'
+ },
+ {
+ 'name': '泗水县',
+ 'code': '370831'
+ },
+ {
+ 'name': '梁山县',
+ 'code': '370832'
+ },
+ {
+ 'name': '曲阜市',
+ 'code': '370881'
+ },
+ {
+ 'name': '邹城市',
+ 'code': '370883'
+ }
+ ]
+ },
+ {
+ 'name': '泰安市',
+ 'code': '370900',
+ 'children': [
+ {
+ 'name': '泰山区',
+ 'code': '370902'
+ },
+ {
+ 'name': '岱岳区',
+ 'code': '370911'
+ },
+ {
+ 'name': '宁阳县',
+ 'code': '370921'
+ },
+ {
+ 'name': '东平县',
+ 'code': '370923'
+ },
+ {
+ 'name': '新泰市',
+ 'code': '370982'
+ },
+ {
+ 'name': '肥城市',
+ 'code': '370983'
+ }
+ ]
+ },
+ {
+ 'name': '威海市',
+ 'code': '371000',
+ 'children': [
+ {
+ 'name': '环翠区',
+ 'code': '371002'
+ },
+ {
+ 'name': '文登区',
+ 'code': '371003'
+ },
+ {
+ 'name': '荣成市',
+ 'code': '371082'
+ },
+ {
+ 'name': '乳山市',
+ 'code': '371083'
+ }
+ ]
+ },
+ {
+ 'name': '日照市',
+ 'code': '371100',
+ 'children': [
+ {
+ 'name': '东港区',
+ 'code': '371102'
+ },
+ {
+ 'name': '岚山区',
+ 'code': '371103'
+ },
+ {
+ 'name': '五莲县',
+ 'code': '371121'
+ },
+ {
+ 'name': '莒县',
+ 'code': '371122'
+ }
+ ]
+ },
+ {
+ 'name': '临沂市',
+ 'code': '371300',
+ 'children': [
+ {
+ 'name': '兰山区',
+ 'code': '371302'
+ },
+ {
+ 'name': '罗庄区',
+ 'code': '371311'
+ },
+ {
+ 'name': '河东区',
+ 'code': '371312'
+ },
+ {
+ 'name': '沂南县',
+ 'code': '371321'
+ },
+ {
+ 'name': '郯城县',
+ 'code': '371322'
+ },
+ {
+ 'name': '沂水县',
+ 'code': '371323'
+ },
+ {
+ 'name': '兰陵县',
+ 'code': '371324'
+ },
+ {
+ 'name': '费县',
+ 'code': '371325'
+ },
+ {
+ 'name': '平邑县',
+ 'code': '371326'
+ },
+ {
+ 'name': '莒南县',
+ 'code': '371327'
+ },
+ {
+ 'name': '蒙阴县',
+ 'code': '371328'
+ },
+ {
+ 'name': '临沭县',
+ 'code': '371329'
+ }
+ ]
+ },
+ {
+ 'name': '德州市',
+ 'code': '371400',
+ 'children': [
+ {
+ 'name': '德城区',
+ 'code': '371402'
+ },
+ {
+ 'name': '陵城区',
+ 'code': '371403'
+ },
+ {
+ 'name': '宁津县',
+ 'code': '371422'
+ },
+ {
+ 'name': '庆云县',
+ 'code': '371423'
+ },
+ {
+ 'name': '临邑县',
+ 'code': '371424'
+ },
+ {
+ 'name': '齐河县',
+ 'code': '371425'
+ },
+ {
+ 'name': '平原县',
+ 'code': '371426'
+ },
+ {
+ 'name': '夏津县',
+ 'code': '371427'
+ },
+ {
+ 'name': '武城县',
+ 'code': '371428'
+ },
+ {
+ 'name': '乐陵市',
+ 'code': '371481'
+ },
+ {
+ 'name': '禹城市',
+ 'code': '371482'
+ }
+ ]
+ },
+ {
+ 'name': '聊城市',
+ 'code': '371500',
+ 'children': [
+ {
+ 'name': '东昌府区',
+ 'code': '371502'
+ },
+ {
+ 'name': '阳谷县',
+ 'code': '371521'
+ },
+ {
+ 'name': '莘县',
+ 'code': '371522'
+ },
+ {
+ 'name': '茌平县',
+ 'code': '371523'
+ },
+ {
+ 'name': '东阿县',
+ 'code': '371524'
+ },
+ {
+ 'name': '冠县',
+ 'code': '371525'
+ },
+ {
+ 'name': '高唐县',
+ 'code': '371526'
+ },
+ {
+ 'name': '临清市',
+ 'code': '371581'
+ }
+ ]
+ },
+ {
+ 'name': '滨州市',
+ 'code': '371600',
+ 'children': [
+ {
+ 'name': '滨城区',
+ 'code': '371602'
+ },
+ {
+ 'name': '沾化区',
+ 'code': '371603'
+ },
+ {
+ 'name': '惠民县',
+ 'code': '371621'
+ },
+ {
+ 'name': '阳信县',
+ 'code': '371622'
+ },
+ {
+ 'name': '无棣县',
+ 'code': '371623'
+ },
+ {
+ 'name': '博兴县',
+ 'code': '371625'
+ },
+ {
+ 'name': '邹平市',
+ 'code': '371681'
+ }
+ ]
+ },
+ {
+ 'name': '菏泽市',
+ 'code': '371700',
+ 'children': [
+ {
+ 'name': '牡丹区',
+ 'code': '371702'
+ },
+ {
+ 'name': '定陶区',
+ 'code': '371703'
+ },
+ {
+ 'name': '曹县',
+ 'code': '371721'
+ },
+ {
+ 'name': '单县',
+ 'code': '371722'
+ },
+ {
+ 'name': '成武县',
+ 'code': '371723'
+ },
+ {
+ 'name': '巨野县',
+ 'code': '371724'
+ },
+ {
+ 'name': '郓城县',
+ 'code': '371725'
+ },
+ {
+ 'name': '鄄城县',
+ 'code': '371726'
+ },
+ {
+ 'name': '东明县',
+ 'code': '371728'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '河南省',
+ 'code': '410000',
+ 'region': 'central',
+ 'children': [
+ {
+ 'name': '郑州市',
+ 'code': '410100',
+ 'children': [
+ {
+ 'name': '中原区',
+ 'code': '410102'
+ },
+ {
+ 'name': '二七区',
+ 'code': '410103'
+ },
+ {
+ 'name': '管城回族区',
+ 'code': '410104'
+ },
+ {
+ 'name': '金水区',
+ 'code': '410105'
+ },
+ {
+ 'name': '上街区',
+ 'code': '410106'
+ },
+ {
+ 'name': '惠济区',
+ 'code': '410108'
+ },
+ {
+ 'name': '中牟县',
+ 'code': '410122'
+ },
+ {
+ 'name': '巩义市',
+ 'code': '410181'
+ },
+ {
+ 'name': '荥阳市',
+ 'code': '410182'
+ },
+ {
+ 'name': '新密市',
+ 'code': '410183'
+ },
+ {
+ 'name': '新郑市',
+ 'code': '410184'
+ },
+ {
+ 'name': '登封市',
+ 'code': '410185'
+ }
+ ]
+ },
+ {
+ 'name': '开封市',
+ 'code': '410200',
+ 'children': [
+ {
+ 'name': '龙亭区',
+ 'code': '410202'
+ },
+ {
+ 'name': '顺河回族区',
+ 'code': '410203'
+ },
+ {
+ 'name': '鼓楼区',
+ 'code': '410204'
+ },
+ {
+ 'name': '禹王台区',
+ 'code': '410205'
+ },
+ {
+ 'name': '祥符区',
+ 'code': '410212'
+ },
+ {
+ 'name': '杞县',
+ 'code': '410221'
+ },
+ {
+ 'name': '通许县',
+ 'code': '410222'
+ },
+ {
+ 'name': '尉氏县',
+ 'code': '410223'
+ },
+ {
+ 'name': '兰考县',
+ 'code': '410225'
+ }
+ ]
+ },
+ {
+ 'name': '洛阳市',
+ 'code': '410300',
+ 'children': [
+ {
+ 'name': '老城区',
+ 'code': '410302'
+ },
+ {
+ 'name': '西工区',
+ 'code': '410303'
+ },
+ {
+ 'name': '瀍河回族区',
+ 'code': '410304'
+ },
+ {
+ 'name': '涧西区',
+ 'code': '410305'
+ },
+ {
+ 'name': '吉利区',
+ 'code': '410306'
+ },
+ {
+ 'name': '洛龙区',
+ 'code': '410311'
+ },
+ {
+ 'name': '孟津县',
+ 'code': '410322'
+ },
+ {
+ 'name': '新安县',
+ 'code': '410323'
+ },
+ {
+ 'name': '栾川县',
+ 'code': '410324'
+ },
+ {
+ 'name': '嵩县',
+ 'code': '410325'
+ },
+ {
+ 'name': '汝阳县',
+ 'code': '410326'
+ },
+ {
+ 'name': '宜阳县',
+ 'code': '410327'
+ },
+ {
+ 'name': '洛宁县',
+ 'code': '410328'
+ },
+ {
+ 'name': '伊川县',
+ 'code': '410329'
+ },
+ {
+ 'name': '偃师市',
+ 'code': '410381'
+ }
+ ]
+ },
+ {
+ 'name': '平顶山市',
+ 'code': '410400',
+ 'children': [
+ {
+ 'name': '新华区',
+ 'code': '410402'
+ },
+ {
+ 'name': '卫东区',
+ 'code': '410403'
+ },
+ {
+ 'name': '石龙区',
+ 'code': '410404'
+ },
+ {
+ 'name': '湛河区',
+ 'code': '410411'
+ },
+ {
+ 'name': '宝丰县',
+ 'code': '410421'
+ },
+ {
+ 'name': '叶县',
+ 'code': '410422'
+ },
+ {
+ 'name': '鲁山县',
+ 'code': '410423'
+ },
+ {
+ 'name': '郏县',
+ 'code': '410425'
+ },
+ {
+ 'name': '舞钢市',
+ 'code': '410481'
+ },
+ {
+ 'name': '汝州市',
+ 'code': '410482'
+ }
+ ]
+ },
+ {
+ 'name': '安阳市',
+ 'code': '410500',
+ 'children': [
+ {
+ 'name': '文峰区',
+ 'code': '410502'
+ },
+ {
+ 'name': '北关区',
+ 'code': '410503'
+ },
+ {
+ 'name': '殷都区',
+ 'code': '410505'
+ },
+ {
+ 'name': '龙安区',
+ 'code': '410506'
+ },
+ {
+ 'name': '安阳县',
+ 'code': '410522'
+ },
+ {
+ 'name': '汤阴县',
+ 'code': '410523'
+ },
+ {
+ 'name': '滑县',
+ 'code': '410526'
+ },
+ {
+ 'name': '内黄县',
+ 'code': '410527'
+ },
+ {
+ 'name': '林州市',
+ 'code': '410581'
+ }
+ ]
+ },
+ {
+ 'name': '鹤壁市',
+ 'code': '410600',
+ 'children': [
+ {
+ 'name': '鹤山区',
+ 'code': '410602'
+ },
+ {
+ 'name': '山城区',
+ 'code': '410603'
+ },
+ {
+ 'name': '淇滨区',
+ 'code': '410611'
+ },
+ {
+ 'name': '浚县',
+ 'code': '410621'
+ },
+ {
+ 'name': '淇县',
+ 'code': '410622'
+ }
+ ]
+ },
+ {
+ 'name': '新乡市',
+ 'code': '410700',
+ 'children': [
+ {
+ 'name': '红旗区',
+ 'code': '410702'
+ },
+ {
+ 'name': '卫滨区',
+ 'code': '410703'
+ },
+ {
+ 'name': '凤泉区',
+ 'code': '410704'
+ },
+ {
+ 'name': '牧野区',
+ 'code': '410711'
+ },
+ {
+ 'name': '新乡县',
+ 'code': '410721'
+ },
+ {
+ 'name': '获嘉县',
+ 'code': '410724'
+ },
+ {
+ 'name': '原阳县',
+ 'code': '410725'
+ },
+ {
+ 'name': '延津县',
+ 'code': '410726'
+ },
+ {
+ 'name': '封丘县',
+ 'code': '410727'
+ },
+ {
+ 'name': '长垣县',
+ 'code': '410728'
+ },
+ {
+ 'name': '卫辉市',
+ 'code': '410781'
+ },
+ {
+ 'name': '辉县市',
+ 'code': '410782'
+ }
+ ]
+ },
+ {
+ 'name': '焦作市',
+ 'code': '410800',
+ 'children': [
+ {
+ 'name': '解放区',
+ 'code': '410802'
+ },
+ {
+ 'name': '中站区',
+ 'code': '410803'
+ },
+ {
+ 'name': '马村区',
+ 'code': '410804'
+ },
+ {
+ 'name': '山阳区',
+ 'code': '410811'
+ },
+ {
+ 'name': '修武县',
+ 'code': '410821'
+ },
+ {
+ 'name': '博爱县',
+ 'code': '410822'
+ },
+ {
+ 'name': '武陟县',
+ 'code': '410823'
+ },
+ {
+ 'name': '温县',
+ 'code': '410825'
+ },
+ {
+ 'name': '沁阳市',
+ 'code': '410882'
+ },
+ {
+ 'name': '孟州市',
+ 'code': '410883'
+ }
+ ]
+ },
+ {
+ 'name': '濮阳市',
+ 'code': '410900',
+ 'children': [
+ {
+ 'name': '华龙区',
+ 'code': '410902'
+ },
+ {
+ 'name': '清丰县',
+ 'code': '410922'
+ },
+ {
+ 'name': '南乐县',
+ 'code': '410923'
+ },
+ {
+ 'name': '范县',
+ 'code': '410926'
+ },
+ {
+ 'name': '台前县',
+ 'code': '410927'
+ },
+ {
+ 'name': '濮阳县',
+ 'code': '410928'
+ }
+ ]
+ },
+ {
+ 'name': '许昌市',
+ 'code': '411000',
+ 'children': [
+ {
+ 'name': '魏都区',
+ 'code': '411002'
+ },
+ {
+ 'name': '建安区',
+ 'code': '411003'
+ },
+ {
+ 'name': '鄢陵县',
+ 'code': '411024'
+ },
+ {
+ 'name': '襄城县',
+ 'code': '411025'
+ },
+ {
+ 'name': '禹州市',
+ 'code': '411081'
+ },
+ {
+ 'name': '长葛市',
+ 'code': '411082'
+ }
+ ]
+ },
+ {
+ 'name': '漯河市',
+ 'code': '411100',
+ 'children': [
+ {
+ 'name': '源汇区',
+ 'code': '411102'
+ },
+ {
+ 'name': '郾城区',
+ 'code': '411103'
+ },
+ {
+ 'name': '召陵区',
+ 'code': '411104'
+ },
+ {
+ 'name': '舞阳县',
+ 'code': '411121'
+ },
+ {
+ 'name': '临颍县',
+ 'code': '411122'
+ }
+ ]
+ },
+ {
+ 'name': '三门峡市',
+ 'code': '411200',
+ 'children': [
+ {
+ 'name': '湖滨区',
+ 'code': '411202'
+ },
+ {
+ 'name': '陕州区',
+ 'code': '411203'
+ },
+ {
+ 'name': '渑池县',
+ 'code': '411221'
+ },
+ {
+ 'name': '卢氏县',
+ 'code': '411224'
+ },
+ {
+ 'name': '义马市',
+ 'code': '411281'
+ },
+ {
+ 'name': '灵宝市',
+ 'code': '411282'
+ }
+ ]
+ },
+ {
+ 'name': '南阳市',
+ 'code': '411300',
+ 'children': [
+ {
+ 'name': '宛城区',
+ 'code': '411302'
+ },
+ {
+ 'name': '卧龙区',
+ 'code': '411303'
+ },
+ {
+ 'name': '南召县',
+ 'code': '411321'
+ },
+ {
+ 'name': '方城县',
+ 'code': '411322'
+ },
+ {
+ 'name': '西峡县',
+ 'code': '411323'
+ },
+ {
+ 'name': '镇平县',
+ 'code': '411324'
+ },
+ {
+ 'name': '内乡县',
+ 'code': '411325'
+ },
+ {
+ 'name': '淅川县',
+ 'code': '411326'
+ },
+ {
+ 'name': '社旗县',
+ 'code': '411327'
+ },
+ {
+ 'name': '唐河县',
+ 'code': '411328'
+ },
+ {
+ 'name': '新野县',
+ 'code': '411329'
+ },
+ {
+ 'name': '桐柏县',
+ 'code': '411330'
+ },
+ {
+ 'name': '邓州市',
+ 'code': '411381'
+ }
+ ]
+ },
+ {
+ 'name': '商丘市',
+ 'code': '411400',
+ 'children': [
+ {
+ 'name': '梁园区',
+ 'code': '411402'
+ },
+ {
+ 'name': '睢阳区',
+ 'code': '411403'
+ },
+ {
+ 'name': '民权县',
+ 'code': '411421'
+ },
+ {
+ 'name': '睢县',
+ 'code': '411422'
+ },
+ {
+ 'name': '宁陵县',
+ 'code': '411423'
+ },
+ {
+ 'name': '柘城县',
+ 'code': '411424'
+ },
+ {
+ 'name': '虞城县',
+ 'code': '411425'
+ },
+ {
+ 'name': '夏邑县',
+ 'code': '411426'
+ },
+ {
+ 'name': '永城市',
+ 'code': '411481'
+ }
+ ]
+ },
+ {
+ 'name': '信阳市',
+ 'code': '411500',
+ 'children': [
+ {
+ 'name': '浉河区',
+ 'code': '411502'
+ },
+ {
+ 'name': '平桥区',
+ 'code': '411503'
+ },
+ {
+ 'name': '罗山县',
+ 'code': '411521'
+ },
+ {
+ 'name': '光山县',
+ 'code': '411522'
+ },
+ {
+ 'name': '新县',
+ 'code': '411523'
+ },
+ {
+ 'name': '商城县',
+ 'code': '411524'
+ },
+ {
+ 'name': '固始县',
+ 'code': '411525'
+ },
+ {
+ 'name': '潢川县',
+ 'code': '411526'
+ },
+ {
+ 'name': '淮滨县',
+ 'code': '411527'
+ },
+ {
+ 'name': '息县',
+ 'code': '411528'
+ }
+ ]
+ },
+ {
+ 'name': '周口市',
+ 'code': '411600',
+ 'children': [
+ {
+ 'name': '川汇区',
+ 'code': '411602'
+ },
+ {
+ 'name': '扶沟县',
+ 'code': '411621'
+ },
+ {
+ 'name': '西华县',
+ 'code': '411622'
+ },
+ {
+ 'name': '商水县',
+ 'code': '411623'
+ },
+ {
+ 'name': '沈丘县',
+ 'code': '411624'
+ },
+ {
+ 'name': '郸城县',
+ 'code': '411625'
+ },
+ {
+ 'name': '淮阳县',
+ 'code': '411626'
+ },
+ {
+ 'name': '太康县',
+ 'code': '411627'
+ },
+ {
+ 'name': '鹿邑县',
+ 'code': '411628'
+ },
+ {
+ 'name': '项城市',
+ 'code': '411681'
+ }
+ ]
+ },
+ {
+ 'name': '驻马店市',
+ 'code': '411700',
+ 'children': [
+ {
+ 'name': '驿城区',
+ 'code': '411702'
+ },
+ {
+ 'name': '西平县',
+ 'code': '411721'
+ },
+ {
+ 'name': '上蔡县',
+ 'code': '411722'
+ },
+ {
+ 'name': '平舆县',
+ 'code': '411723'
+ },
+ {
+ 'name': '正阳县',
+ 'code': '411724'
+ },
+ {
+ 'name': '确山县',
+ 'code': '411725'
+ },
+ {
+ 'name': '泌阳县',
+ 'code': '411726'
+ },
+ {
+ 'name': '汝南县',
+ 'code': '411727'
+ },
+ {
+ 'name': '遂平县',
+ 'code': '411728'
+ },
+ {
+ 'name': '新蔡县',
+ 'code': '411729'
+ }
+ ]
+ },
+ {
+ 'name': '直辖县',
+ 'code': '419000',
+ 'children': [
+ {
+ 'name': '济源市',
+ 'code': '419001'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '湖北省',
+ 'code': '420000',
+ 'region': 'central',
+ 'children': [
+ {
+ 'name': '武汉市',
+ 'code': '420100',
+ 'children': [
+ {
+ 'name': '江岸区',
+ 'code': '420102'
+ },
+ {
+ 'name': '江汉区',
+ 'code': '420103'
+ },
+ {
+ 'name': '硚口区',
+ 'code': '420104'
+ },
+ {
+ 'name': '汉阳区',
+ 'code': '420105'
+ },
+ {
+ 'name': '武昌区',
+ 'code': '420106'
+ },
+ {
+ 'name': '青山区',
+ 'code': '420107'
+ },
+ {
+ 'name': '洪山区',
+ 'code': '420111'
+ },
+ {
+ 'name': '东西湖区',
+ 'code': '420112'
+ },
+ {
+ 'name': '汉南区',
+ 'code': '420113'
+ },
+ {
+ 'name': '蔡甸区',
+ 'code': '420114'
+ },
+ {
+ 'name': '江夏区',
+ 'code': '420115'
+ },
+ {
+ 'name': '黄陂区',
+ 'code': '420116'
+ },
+ {
+ 'name': '新洲区',
+ 'code': '420117'
+ }
+ ]
+ },
+ {
+ 'name': '黄石市',
+ 'code': '420200',
+ 'children': [
+ {
+ 'name': '黄石港区',
+ 'code': '420202'
+ },
+ {
+ 'name': '西塞山区',
+ 'code': '420203'
+ },
+ {
+ 'name': '下陆区',
+ 'code': '420204'
+ },
+ {
+ 'name': '铁山区',
+ 'code': '420205'
+ },
+ {
+ 'name': '阳新县',
+ 'code': '420222'
+ },
+ {
+ 'name': '大冶市',
+ 'code': '420281'
+ }
+ ]
+ },
+ {
+ 'name': '十堰市',
+ 'code': '420300',
+ 'children': [
+ {
+ 'name': '茅箭区',
+ 'code': '420302'
+ },
+ {
+ 'name': '张湾区',
+ 'code': '420303'
+ },
+ {
+ 'name': '郧阳区',
+ 'code': '420304'
+ },
+ {
+ 'name': '郧西县',
+ 'code': '420322'
+ },
+ {
+ 'name': '竹山县',
+ 'code': '420323'
+ },
+ {
+ 'name': '竹溪县',
+ 'code': '420324'
+ },
+ {
+ 'name': '房县',
+ 'code': '420325'
+ },
+ {
+ 'name': '丹江口市',
+ 'code': '420381'
+ }
+ ]
+ },
+ {
+ 'name': '宜昌市',
+ 'code': '420500',
+ 'children': [
+ {
+ 'name': '西陵区',
+ 'code': '420502'
+ },
+ {
+ 'name': '伍家岗区',
+ 'code': '420503'
+ },
+ {
+ 'name': '点军区',
+ 'code': '420504'
+ },
+ {
+ 'name': '猇亭区',
+ 'code': '420505'
+ },
+ {
+ 'name': '夷陵区',
+ 'code': '420506'
+ },
+ {
+ 'name': '远安县',
+ 'code': '420525'
+ },
+ {
+ 'name': '兴山县',
+ 'code': '420526'
+ },
+ {
+ 'name': '秭归县',
+ 'code': '420527'
+ },
+ {
+ 'name': '长阳土家族自治县',
+ 'code': '420528'
+ },
+ {
+ 'name': '五峰土家族自治县',
+ 'code': '420529'
+ },
+ {
+ 'name': '宜都市',
+ 'code': '420581'
+ },
+ {
+ 'name': '当阳市',
+ 'code': '420582'
+ },
+ {
+ 'name': '枝江市',
+ 'code': '420583'
+ }
+ ]
+ },
+ {
+ 'name': '襄阳市',
+ 'code': '420600',
+ 'children': [
+ {
+ 'name': '襄城区',
+ 'code': '420602'
+ },
+ {
+ 'name': '樊城区',
+ 'code': '420606'
+ },
+ {
+ 'name': '襄州区',
+ 'code': '420607'
+ },
+ {
+ 'name': '南漳县',
+ 'code': '420624'
+ },
+ {
+ 'name': '谷城县',
+ 'code': '420625'
+ },
+ {
+ 'name': '保康县',
+ 'code': '420626'
+ },
+ {
+ 'name': '老河口市',
+ 'code': '420682'
+ },
+ {
+ 'name': '枣阳市',
+ 'code': '420683'
+ },
+ {
+ 'name': '宜城市',
+ 'code': '420684'
+ }
+ ]
+ },
+ {
+ 'name': '鄂州市',
+ 'code': '420700',
+ 'children': [
+ {
+ 'name': '梁子湖区',
+ 'code': '420702'
+ },
+ {
+ 'name': '华容区',
+ 'code': '420703'
+ },
+ {
+ 'name': '鄂城区',
+ 'code': '420704'
+ }
+ ]
+ },
+ {
+ 'name': '荆门市',
+ 'code': '420800',
+ 'children': [
+ {
+ 'name': '东宝区',
+ 'code': '420802'
+ },
+ {
+ 'name': '掇刀区',
+ 'code': '420804'
+ },
+ {
+ 'name': '沙洋县',
+ 'code': '420822'
+ },
+ {
+ 'name': '钟祥市',
+ 'code': '420881'
+ },
+ {
+ 'name': '京山市',
+ 'code': '420882'
+ }
+ ]
+ },
+ {
+ 'name': '孝感市',
+ 'code': '420900',
+ 'children': [
+ {
+ 'name': '孝南区',
+ 'code': '420902'
+ },
+ {
+ 'name': '孝昌县',
+ 'code': '420921'
+ },
+ {
+ 'name': '大悟县',
+ 'code': '420922'
+ },
+ {
+ 'name': '云梦县',
+ 'code': '420923'
+ },
+ {
+ 'name': '应城市',
+ 'code': '420981'
+ },
+ {
+ 'name': '安陆市',
+ 'code': '420982'
+ },
+ {
+ 'name': '汉川市',
+ 'code': '420984'
+ }
+ ]
+ },
+ {
+ 'name': '荆州市',
+ 'code': '421000',
+ 'children': [
+ {
+ 'name': '沙市区',
+ 'code': '421002'
+ },
+ {
+ 'name': '荆州区',
+ 'code': '421003'
+ },
+ {
+ 'name': '公安县',
+ 'code': '421022'
+ },
+ {
+ 'name': '监利县',
+ 'code': '421023'
+ },
+ {
+ 'name': '江陵县',
+ 'code': '421024'
+ },
+ {
+ 'name': '石首市',
+ 'code': '421081'
+ },
+ {
+ 'name': '洪湖市',
+ 'code': '421083'
+ },
+ {
+ 'name': '松滋市',
+ 'code': '421087'
+ }
+ ]
+ },
+ {
+ 'name': '黄冈市',
+ 'code': '421100',
+ 'children': [
+ {
+ 'name': '黄州区',
+ 'code': '421102'
+ },
+ {
+ 'name': '团风县',
+ 'code': '421121'
+ },
+ {
+ 'name': '红安县',
+ 'code': '421122'
+ },
+ {
+ 'name': '罗田县',
+ 'code': '421123'
+ },
+ {
+ 'name': '英山县',
+ 'code': '421124'
+ },
+ {
+ 'name': '浠水县',
+ 'code': '421125'
+ },
+ {
+ 'name': '蕲春县',
+ 'code': '421126'
+ },
+ {
+ 'name': '黄梅县',
+ 'code': '421127'
+ },
+ {
+ 'name': '麻城市',
+ 'code': '421181'
+ },
+ {
+ 'name': '武穴市',
+ 'code': '421182'
+ }
+ ]
+ },
+ {
+ 'name': '咸宁市',
+ 'code': '421200',
+ 'children': [
+ {
+ 'name': '咸安区',
+ 'code': '421202'
+ },
+ {
+ 'name': '嘉鱼县',
+ 'code': '421221'
+ },
+ {
+ 'name': '通城县',
+ 'code': '421222'
+ },
+ {
+ 'name': '崇阳县',
+ 'code': '421223'
+ },
+ {
+ 'name': '通山县',
+ 'code': '421224'
+ },
+ {
+ 'name': '赤壁市',
+ 'code': '421281'
+ }
+ ]
+ },
+ {
+ 'name': '随州市',
+ 'code': '421300',
+ 'children': [
+ {
+ 'name': '曾都区',
+ 'code': '421303'
+ },
+ {
+ 'name': '随县',
+ 'code': '421321'
+ },
+ {
+ 'name': '广水市',
+ 'code': '421381'
+ }
+ ]
+ },
+ {
+ 'name': '恩施土家族苗族自治州',
+ 'code': '422800',
+ 'children': [
+ {
+ 'name': '恩施市',
+ 'code': '422801'
+ },
+ {
+ 'name': '利川市',
+ 'code': '422802'
+ },
+ {
+ 'name': '建始县',
+ 'code': '422822'
+ },
+ {
+ 'name': '巴东县',
+ 'code': '422823'
+ },
+ {
+ 'name': '宣恩县',
+ 'code': '422825'
+ },
+ {
+ 'name': '咸丰县',
+ 'code': '422826'
+ },
+ {
+ 'name': '来凤县',
+ 'code': '422827'
+ },
+ {
+ 'name': '鹤峰县',
+ 'code': '422828'
+ }
+ ]
+ },
+ {
+ 'name': '直辖县',
+ 'code': '429000',
+ 'children': [
+ {
+ 'name': '仙桃市',
+ 'code': '429004'
+ },
+ {
+ 'name': '潜江市',
+ 'code': '429005'
+ },
+ {
+ 'name': '天门市',
+ 'code': '429006'
+ },
+ {
+ 'name': '神农架林区',
+ 'code': '429021'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '湖南省',
+ 'code': '430000',
+ 'region': 'central',
+ 'children': [
+ {
+ 'name': '长沙市',
+ 'code': '430100',
+ 'children': [
+ {
+ 'name': '芙蓉区',
+ 'code': '430102'
+ },
+ {
+ 'name': '天心区',
+ 'code': '430103'
+ },
+ {
+ 'name': '岳麓区',
+ 'code': '430104'
+ },
+ {
+ 'name': '开福区',
+ 'code': '430105'
+ },
+ {
+ 'name': '雨花区',
+ 'code': '430111'
+ },
+ {
+ 'name': '望城区',
+ 'code': '430112'
+ },
+ {
+ 'name': '长沙县',
+ 'code': '430121'
+ },
+ {
+ 'name': '浏阳市',
+ 'code': '430181'
+ },
+ {
+ 'name': '宁乡市',
+ 'code': '430182'
+ }
+ ]
+ },
+ {
+ 'name': '株洲市',
+ 'code': '430200',
+ 'children': [
+ {
+ 'name': '荷塘区',
+ 'code': '430202'
+ },
+ {
+ 'name': '芦淞区',
+ 'code': '430203'
+ },
+ {
+ 'name': '石峰区',
+ 'code': '430204'
+ },
+ {
+ 'name': '天元区',
+ 'code': '430211'
+ },
+ {
+ 'name': '渌口区',
+ 'code': '430212'
+ },
+ {
+ 'name': '攸县',
+ 'code': '430223'
+ },
+ {
+ 'name': '茶陵县',
+ 'code': '430224'
+ },
+ {
+ 'name': '炎陵县',
+ 'code': '430225'
+ },
+ {
+ 'name': '醴陵市',
+ 'code': '430281'
+ }
+ ]
+ },
+ {
+ 'name': '湘潭市',
+ 'code': '430300',
+ 'children': [
+ {
+ 'name': '雨湖区',
+ 'code': '430302'
+ },
+ {
+ 'name': '岳塘区',
+ 'code': '430304'
+ },
+ {
+ 'name': '湘潭县',
+ 'code': '430321'
+ },
+ {
+ 'name': '湘乡市',
+ 'code': '430381'
+ },
+ {
+ 'name': '韶山市',
+ 'code': '430382'
+ }
+ ]
+ },
+ {
+ 'name': '衡阳市',
+ 'code': '430400',
+ 'children': [
+ {
+ 'name': '珠晖区',
+ 'code': '430405'
+ },
+ {
+ 'name': '雁峰区',
+ 'code': '430406'
+ },
+ {
+ 'name': '石鼓区',
+ 'code': '430407'
+ },
+ {
+ 'name': '蒸湘区',
+ 'code': '430408'
+ },
+ {
+ 'name': '南岳区',
+ 'code': '430412'
+ },
+ {
+ 'name': '衡阳县',
+ 'code': '430421'
+ },
+ {
+ 'name': '衡南县',
+ 'code': '430422'
+ },
+ {
+ 'name': '衡山县',
+ 'code': '430423'
+ },
+ {
+ 'name': '衡东县',
+ 'code': '430424'
+ },
+ {
+ 'name': '祁东县',
+ 'code': '430426'
+ },
+ {
+ 'name': '耒阳市',
+ 'code': '430481'
+ },
+ {
+ 'name': '常宁市',
+ 'code': '430482'
+ }
+ ]
+ },
+ {
+ 'name': '邵阳市',
+ 'code': '430500',
+ 'children': [
+ {
+ 'name': '双清区',
+ 'code': '430502'
+ },
+ {
+ 'name': '大祥区',
+ 'code': '430503'
+ },
+ {
+ 'name': '北塔区',
+ 'code': '430511'
+ },
+ {
+ 'name': '邵东县',
+ 'code': '430521'
+ },
+ {
+ 'name': '新邵县',
+ 'code': '430522'
+ },
+ {
+ 'name': '邵阳县',
+ 'code': '430523'
+ },
+ {
+ 'name': '隆回县',
+ 'code': '430524'
+ },
+ {
+ 'name': '洞口县',
+ 'code': '430525'
+ },
+ {
+ 'name': '绥宁县',
+ 'code': '430527'
+ },
+ {
+ 'name': '新宁县',
+ 'code': '430528'
+ },
+ {
+ 'name': '城步苗族自治县',
+ 'code': '430529'
+ },
+ {
+ 'name': '武冈市',
+ 'code': '430581'
+ }
+ ]
+ },
+ {
+ 'name': '岳阳市',
+ 'code': '430600',
+ 'children': [
+ {
+ 'name': '岳阳楼区',
+ 'code': '430602'
+ },
+ {
+ 'name': '云溪区',
+ 'code': '430603'
+ },
+ {
+ 'name': '君山区',
+ 'code': '430611'
+ },
+ {
+ 'name': '岳阳县',
+ 'code': '430621'
+ },
+ {
+ 'name': '华容县',
+ 'code': '430623'
+ },
+ {
+ 'name': '湘阴县',
+ 'code': '430624'
+ },
+ {
+ 'name': '平江县',
+ 'code': '430626'
+ },
+ {
+ 'name': '汨罗市',
+ 'code': '430681'
+ },
+ {
+ 'name': '临湘市',
+ 'code': '430682'
+ }
+ ]
+ },
+ {
+ 'name': '常德市',
+ 'code': '430700',
+ 'children': [
+ {
+ 'name': '武陵区',
+ 'code': '430702'
+ },
+ {
+ 'name': '鼎城区',
+ 'code': '430703'
+ },
+ {
+ 'name': '安乡县',
+ 'code': '430721'
+ },
+ {
+ 'name': '汉寿县',
+ 'code': '430722'
+ },
+ {
+ 'name': '澧县',
+ 'code': '430723'
+ },
+ {
+ 'name': '临澧县',
+ 'code': '430724'
+ },
+ {
+ 'name': '桃源县',
+ 'code': '430725'
+ },
+ {
+ 'name': '石门县',
+ 'code': '430726'
+ },
+ {
+ 'name': '津市市',
+ 'code': '430781'
+ }
+ ]
+ },
+ {
+ 'name': '张家界市',
+ 'code': '430800',
+ 'children': [
+ {
+ 'name': '永定区',
+ 'code': '430802'
+ },
+ {
+ 'name': '武陵源区',
+ 'code': '430811'
+ },
+ {
+ 'name': '慈利县',
+ 'code': '430821'
+ },
+ {
+ 'name': '桑植县',
+ 'code': '430822'
+ }
+ ]
+ },
+ {
+ 'name': '益阳市',
+ 'code': '430900',
+ 'children': [
+ {
+ 'name': '资阳区',
+ 'code': '430902'
+ },
+ {
+ 'name': '赫山区',
+ 'code': '430903'
+ },
+ {
+ 'name': '南县',
+ 'code': '430921'
+ },
+ {
+ 'name': '桃江县',
+ 'code': '430922'
+ },
+ {
+ 'name': '安化县',
+ 'code': '430923'
+ },
+ {
+ 'name': '沅江市',
+ 'code': '430981'
+ }
+ ]
+ },
+ {
+ 'name': '郴州市',
+ 'code': '431000',
+ 'children': [
+ {
+ 'name': '北湖区',
+ 'code': '431002'
+ },
+ {
+ 'name': '苏仙区',
+ 'code': '431003'
+ },
+ {
+ 'name': '桂阳县',
+ 'code': '431021'
+ },
+ {
+ 'name': '宜章县',
+ 'code': '431022'
+ },
+ {
+ 'name': '永兴县',
+ 'code': '431023'
+ },
+ {
+ 'name': '嘉禾县',
+ 'code': '431024'
+ },
+ {
+ 'name': '临武县',
+ 'code': '431025'
+ },
+ {
+ 'name': '汝城县',
+ 'code': '431026'
+ },
+ {
+ 'name': '桂东县',
+ 'code': '431027'
+ },
+ {
+ 'name': '安仁县',
+ 'code': '431028'
+ },
+ {
+ 'name': '资兴市',
+ 'code': '431081'
+ }
+ ]
+ },
+ {
+ 'name': '永州市',
+ 'code': '431100',
+ 'children': [
+ {
+ 'name': '零陵区',
+ 'code': '431102'
+ },
+ {
+ 'name': '冷水滩区',
+ 'code': '431103'
+ },
+ {
+ 'name': '祁阳县',
+ 'code': '431121'
+ },
+ {
+ 'name': '东安县',
+ 'code': '431122'
+ },
+ {
+ 'name': '双牌县',
+ 'code': '431123'
+ },
+ {
+ 'name': '道县',
+ 'code': '431124'
+ },
+ {
+ 'name': '江永县',
+ 'code': '431125'
+ },
+ {
+ 'name': '宁远县',
+ 'code': '431126'
+ },
+ {
+ 'name': '蓝山县',
+ 'code': '431127'
+ },
+ {
+ 'name': '新田县',
+ 'code': '431128'
+ },
+ {
+ 'name': '江华瑶族自治县',
+ 'code': '431129'
+ }
+ ]
+ },
+ {
+ 'name': '怀化市',
+ 'code': '431200',
+ 'children': [
+ {
+ 'name': '鹤城区',
+ 'code': '431202'
+ },
+ {
+ 'name': '中方县',
+ 'code': '431221'
+ },
+ {
+ 'name': '沅陵县',
+ 'code': '431222'
+ },
+ {
+ 'name': '辰溪县',
+ 'code': '431223'
+ },
+ {
+ 'name': '溆浦县',
+ 'code': '431224'
+ },
+ {
+ 'name': '会同县',
+ 'code': '431225'
+ },
+ {
+ 'name': '麻阳苗族自治县',
+ 'code': '431226'
+ },
+ {
+ 'name': '新晃侗族自治县',
+ 'code': '431227'
+ },
+ {
+ 'name': '芷江侗族自治县',
+ 'code': '431228'
+ },
+ {
+ 'name': '靖州苗族侗族自治县',
+ 'code': '431229'
+ },
+ {
+ 'name': '通道侗族自治县',
+ 'code': '431230'
+ },
+ {
+ 'name': '洪江市',
+ 'code': '431281'
+ }
+ ]
+ },
+ {
+ 'name': '娄底市',
+ 'code': '431300',
+ 'children': [
+ {
+ 'name': '娄星区',
+ 'code': '431302'
+ },
+ {
+ 'name': '双峰县',
+ 'code': '431321'
+ },
+ {
+ 'name': '新化县',
+ 'code': '431322'
+ },
+ {
+ 'name': '冷水江市',
+ 'code': '431381'
+ },
+ {
+ 'name': '涟源市',
+ 'code': '431382'
+ }
+ ]
+ },
+ {
+ 'name': '湘西土家族苗族自治州',
+ 'code': '433100',
+ 'children': [
+ {
+ 'name': '吉首市',
+ 'code': '433101'
+ },
+ {
+ 'name': '泸溪县',
+ 'code': '433122'
+ },
+ {
+ 'name': '凤凰县',
+ 'code': '433123'
+ },
+ {
+ 'name': '花垣县',
+ 'code': '433124'
+ },
+ {
+ 'name': '保靖县',
+ 'code': '433125'
+ },
+ {
+ 'name': '古丈县',
+ 'code': '433126'
+ },
+ {
+ 'name': '永顺县',
+ 'code': '433127'
+ },
+ {
+ 'name': '龙山县',
+ 'code': '433130'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '广东省',
+ 'code': '440000',
+ 'region': 'south',
+ 'children': [
+ {
+ 'name': '广州市',
+ 'code': '440100',
+ 'children': [
+ {
+ 'name': '荔湾区',
+ 'code': '440103'
+ },
+ {
+ 'name': '越秀区',
+ 'code': '440104'
+ },
+ {
+ 'name': '海珠区',
+ 'code': '440105'
+ },
+ {
+ 'name': '天河区',
+ 'code': '440106'
+ },
+ {
+ 'name': '白云区',
+ 'code': '440111'
+ },
+ {
+ 'name': '黄埔区',
+ 'code': '440112'
+ },
+ {
+ 'name': '番禺区',
+ 'code': '440113'
+ },
+ {
+ 'name': '花都区',
+ 'code': '440114'
+ },
+ {
+ 'name': '南沙区',
+ 'code': '440115'
+ },
+ {
+ 'name': '从化区',
+ 'code': '440117'
+ },
+ {
+ 'name': '增城区',
+ 'code': '440118'
+ }
+ ]
+ },
+ {
+ 'name': '韶关市',
+ 'code': '440200',
+ 'children': [
+ {
+ 'name': '武江区',
+ 'code': '440203'
+ },
+ {
+ 'name': '浈江区',
+ 'code': '440204'
+ },
+ {
+ 'name': '曲江区',
+ 'code': '440205'
+ },
+ {
+ 'name': '始兴县',
+ 'code': '440222'
+ },
+ {
+ 'name': '仁化县',
+ 'code': '440224'
+ },
+ {
+ 'name': '翁源县',
+ 'code': '440229'
+ },
+ {
+ 'name': '乳源瑶族自治县',
+ 'code': '440232'
+ },
+ {
+ 'name': '新丰县',
+ 'code': '440233'
+ },
+ {
+ 'name': '乐昌市',
+ 'code': '440281'
+ },
+ {
+ 'name': '南雄市',
+ 'code': '440282'
+ }
+ ]
+ },
+ {
+ 'name': '深圳市',
+ 'code': '440300',
+ 'children': [
+ {
+ 'name': '罗湖区',
+ 'code': '440303'
+ },
+ {
+ 'name': '福田区',
+ 'code': '440304'
+ },
+ {
+ 'name': '南山区',
+ 'code': '440305'
+ },
+ {
+ 'name': '宝安区',
+ 'code': '440306'
+ },
+ {
+ 'name': '龙岗区',
+ 'code': '440307'
+ },
+ {
+ 'name': '盐田区',
+ 'code': '440308'
+ },
+ {
+ 'name': '龙华区',
+ 'code': '440309'
+ },
+ {
+ 'name': '坪山区',
+ 'code': '440310'
+ },
+ {
+ 'name': '光明区',
+ 'code': '440311'
+ }
+ ]
+ },
+ {
+ 'name': '珠海市',
+ 'code': '440400',
+ 'children': [
+ {
+ 'name': '香洲区',
+ 'code': '440402'
+ },
+ {
+ 'name': '斗门区',
+ 'code': '440403'
+ },
+ {
+ 'name': '金湾区',
+ 'code': '440404'
+ }
+ ]
+ },
+ {
+ 'name': '汕头市',
+ 'code': '440500',
+ 'children': [
+ {
+ 'name': '龙湖区',
+ 'code': '440507'
+ },
+ {
+ 'name': '金平区',
+ 'code': '440511'
+ },
+ {
+ 'name': '濠江区',
+ 'code': '440512'
+ },
+ {
+ 'name': '潮阳区',
+ 'code': '440513'
+ },
+ {
+ 'name': '潮南区',
+ 'code': '440514'
+ },
+ {
+ 'name': '澄海区',
+ 'code': '440515'
+ },
+ {
+ 'name': '南澳县',
+ 'code': '440523'
+ }
+ ]
+ },
+ {
+ 'name': '佛山市',
+ 'code': '440600',
+ 'children': [
+ {
+ 'name': '禅城区',
+ 'code': '440604'
+ },
+ {
+ 'name': '南海区',
+ 'code': '440605'
+ },
+ {
+ 'name': '顺德区',
+ 'code': '440606'
+ },
+ {
+ 'name': '三水区',
+ 'code': '440607'
+ },
+ {
+ 'name': '高明区',
+ 'code': '440608'
+ }
+ ]
+ },
+ {
+ 'name': '江门市',
+ 'code': '440700',
+ 'children': [
+ {
+ 'name': '蓬江区',
+ 'code': '440703'
+ },
+ {
+ 'name': '江海区',
+ 'code': '440704'
+ },
+ {
+ 'name': '新会区',
+ 'code': '440705'
+ },
+ {
+ 'name': '台山市',
+ 'code': '440781'
+ },
+ {
+ 'name': '开平市',
+ 'code': '440783'
+ },
+ {
+ 'name': '鹤山市',
+ 'code': '440784'
+ },
+ {
+ 'name': '恩平市',
+ 'code': '440785'
+ }
+ ]
+ },
+ {
+ 'name': '湛江市',
+ 'code': '440800',
+ 'children': [
+ {
+ 'name': '赤坎区',
+ 'code': '440802'
+ },
+ {
+ 'name': '霞山区',
+ 'code': '440803'
+ },
+ {
+ 'name': '坡头区',
+ 'code': '440804'
+ },
+ {
+ 'name': '麻章区',
+ 'code': '440811'
+ },
+ {
+ 'name': '遂溪县',
+ 'code': '440823'
+ },
+ {
+ 'name': '徐闻县',
+ 'code': '440825'
+ },
+ {
+ 'name': '廉江市',
+ 'code': '440881'
+ },
+ {
+ 'name': '雷州市',
+ 'code': '440882'
+ },
+ {
+ 'name': '吴川市',
+ 'code': '440883'
+ }
+ ]
+ },
+ {
+ 'name': '茂名市',
+ 'code': '440900',
+ 'children': [
+ {
+ 'name': '茂南区',
+ 'code': '440902'
+ },
+ {
+ 'name': '电白区',
+ 'code': '440904'
+ },
+ {
+ 'name': '高州市',
+ 'code': '440981'
+ },
+ {
+ 'name': '化州市',
+ 'code': '440982'
+ },
+ {
+ 'name': '信宜市',
+ 'code': '440983'
+ }
+ ]
+ },
+ {
+ 'name': '肇庆市',
+ 'code': '441200',
+ 'children': [
+ {
+ 'name': '端州区',
+ 'code': '441202'
+ },
+ {
+ 'name': '鼎湖区',
+ 'code': '441203'
+ },
+ {
+ 'name': '高要区',
+ 'code': '441204'
+ },
+ {
+ 'name': '广宁县',
+ 'code': '441223'
+ },
+ {
+ 'name': '怀集县',
+ 'code': '441224'
+ },
+ {
+ 'name': '封开县',
+ 'code': '441225'
+ },
+ {
+ 'name': '德庆县',
+ 'code': '441226'
+ },
+ {
+ 'name': '四会市',
+ 'code': '441284'
+ }
+ ]
+ },
+ {
+ 'name': '惠州市',
+ 'code': '441300',
+ 'children': [
+ {
+ 'name': '惠城区',
+ 'code': '441302'
+ },
+ {
+ 'name': '惠阳区',
+ 'code': '441303'
+ },
+ {
+ 'name': '博罗县',
+ 'code': '441322'
+ },
+ {
+ 'name': '惠东县',
+ 'code': '441323'
+ },
+ {
+ 'name': '龙门县',
+ 'code': '441324'
+ }
+ ]
+ },
+ {
+ 'name': '梅州市',
+ 'code': '441400',
+ 'children': [
+ {
+ 'name': '梅江区',
+ 'code': '441402'
+ },
+ {
+ 'name': '梅县区',
+ 'code': '441403'
+ },
+ {
+ 'name': '大埔县',
+ 'code': '441422'
+ },
+ {
+ 'name': '丰顺县',
+ 'code': '441423'
+ },
+ {
+ 'name': '五华县',
+ 'code': '441424'
+ },
+ {
+ 'name': '平远县',
+ 'code': '441426'
+ },
+ {
+ 'name': '蕉岭县',
+ 'code': '441427'
+ },
+ {
+ 'name': '兴宁市',
+ 'code': '441481'
+ }
+ ]
+ },
+ {
+ 'name': '汕尾市',
+ 'code': '441500',
+ 'children': [
+ {
+ 'name': '城区',
+ 'code': '441502'
+ },
+ {
+ 'name': '海丰县',
+ 'code': '441521'
+ },
+ {
+ 'name': '陆河县',
+ 'code': '441523'
+ },
+ {
+ 'name': '陆丰市',
+ 'code': '441581'
+ }
+ ]
+ },
+ {
+ 'name': '河源市',
+ 'code': '441600',
+ 'children': [
+ {
+ 'name': '源城区',
+ 'code': '441602'
+ },
+ {
+ 'name': '紫金县',
+ 'code': '441621'
+ },
+ {
+ 'name': '龙川县',
+ 'code': '441622'
+ },
+ {
+ 'name': '连平县',
+ 'code': '441623'
+ },
+ {
+ 'name': '和平县',
+ 'code': '441624'
+ },
+ {
+ 'name': '东源县',
+ 'code': '441625'
+ }
+ ]
+ },
+ {
+ 'name': '阳江市',
+ 'code': '441700',
+ 'children': [
+ {
+ 'name': '江城区',
+ 'code': '441702'
+ },
+ {
+ 'name': '阳东区',
+ 'code': '441704'
+ },
+ {
+ 'name': '阳西县',
+ 'code': '441721'
+ },
+ {
+ 'name': '阳春市',
+ 'code': '441781'
+ }
+ ]
+ },
+ {
+ 'name': '清远市',
+ 'code': '441800',
+ 'children': [
+ {
+ 'name': '清城区',
+ 'code': '441802'
+ },
+ {
+ 'name': '清新区',
+ 'code': '441803'
+ },
+ {
+ 'name': '佛冈县',
+ 'code': '441821'
+ },
+ {
+ 'name': '阳山县',
+ 'code': '441823'
+ },
+ {
+ 'name': '连山壮族瑶族自治县',
+ 'code': '441825'
+ },
+ {
+ 'name': '连南瑶族自治县',
+ 'code': '441826'
+ },
+ {
+ 'name': '英德市',
+ 'code': '441881'
+ },
+ {
+ 'name': '连州市',
+ 'code': '441882'
+ }
+ ]
+ },
+ {
+ 'name': '东莞市',
+ 'code': '441900',
+ 'children': []
+ },
+ {
+ 'name': '中山市',
+ 'code': '442000',
+ 'children': []
+ },
+ {
+ 'name': '潮州市',
+ 'code': '445100',
+ 'children': [
+ {
+ 'name': '湘桥区',
+ 'code': '445102'
+ },
+ {
+ 'name': '潮安区',
+ 'code': '445103'
+ },
+ {
+ 'name': '饶平县',
+ 'code': '445122'
+ }
+ ]
+ },
+ {
+ 'name': '揭阳市',
+ 'code': '445200',
+ 'children': [
+ {
+ 'name': '榕城区',
+ 'code': '445202'
+ },
+ {
+ 'name': '揭东区',
+ 'code': '445203'
+ },
+ {
+ 'name': '揭西县',
+ 'code': '445222'
+ },
+ {
+ 'name': '惠来县',
+ 'code': '445224'
+ },
+ {
+ 'name': '普宁市',
+ 'code': '445281'
+ }
+ ]
+ },
+ {
+ 'name': '云浮市',
+ 'code': '445300',
+ 'children': [
+ {
+ 'name': '云城区',
+ 'code': '445302'
+ },
+ {
+ 'name': '云安区',
+ 'code': '445303'
+ },
+ {
+ 'name': '新兴县',
+ 'code': '445321'
+ },
+ {
+ 'name': '郁南县',
+ 'code': '445322'
+ },
+ {
+ 'name': '罗定市',
+ 'code': '445381'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '广西壮族自治区',
+ 'code': '450000',
+ 'region': 'south',
+ 'autonomousRegion': true,
+ 'children': [
+ {
+ 'name': '南宁市',
+ 'code': '450100',
+ 'children': [
+ {
+ 'name': '兴宁区',
+ 'code': '450102'
+ },
+ {
+ 'name': '青秀区',
+ 'code': '450103'
+ },
+ {
+ 'name': '江南区',
+ 'code': '450105'
+ },
+ {
+ 'name': '西乡塘区',
+ 'code': '450107'
+ },
+ {
+ 'name': '良庆区',
+ 'code': '450108'
+ },
+ {
+ 'name': '邕宁区',
+ 'code': '450109'
+ },
+ {
+ 'name': '武鸣区',
+ 'code': '450110'
+ },
+ {
+ 'name': '隆安县',
+ 'code': '450123'
+ },
+ {
+ 'name': '马山县',
+ 'code': '450124'
+ },
+ {
+ 'name': '上林县',
+ 'code': '450125'
+ },
+ {
+ 'name': '宾阳县',
+ 'code': '450126'
+ },
+ {
+ 'name': '横县',
+ 'code': '450127'
+ }
+ ]
+ },
+ {
+ 'name': '柳州市',
+ 'code': '450200',
+ 'children': [
+ {
+ 'name': '城中区',
+ 'code': '450202'
+ },
+ {
+ 'name': '鱼峰区',
+ 'code': '450203'
+ },
+ {
+ 'name': '柳南区',
+ 'code': '450204'
+ },
+ {
+ 'name': '柳北区',
+ 'code': '450205'
+ },
+ {
+ 'name': '柳江区',
+ 'code': '450206'
+ },
+ {
+ 'name': '柳城县',
+ 'code': '450222'
+ },
+ {
+ 'name': '鹿寨县',
+ 'code': '450223'
+ },
+ {
+ 'name': '融安县',
+ 'code': '450224'
+ },
+ {
+ 'name': '融水苗族自治县',
+ 'code': '450225'
+ },
+ {
+ 'name': '三江侗族自治县',
+ 'code': '450226'
+ }
+ ]
+ },
+ {
+ 'name': '桂林市',
+ 'code': '450300',
+ 'children': [
+ {
+ 'name': '秀峰区',
+ 'code': '450302'
+ },
+ {
+ 'name': '叠彩区',
+ 'code': '450303'
+ },
+ {
+ 'name': '象山区',
+ 'code': '450304'
+ },
+ {
+ 'name': '七星区',
+ 'code': '450305'
+ },
+ {
+ 'name': '雁山区',
+ 'code': '450311'
+ },
+ {
+ 'name': '临桂区',
+ 'code': '450312'
+ },
+ {
+ 'name': '阳朔县',
+ 'code': '450321'
+ },
+ {
+ 'name': '灵川县',
+ 'code': '450323'
+ },
+ {
+ 'name': '全州县',
+ 'code': '450324'
+ },
+ {
+ 'name': '兴安县',
+ 'code': '450325'
+ },
+ {
+ 'name': '永福县',
+ 'code': '450326'
+ },
+ {
+ 'name': '灌阳县',
+ 'code': '450327'
+ },
+ {
+ 'name': '龙胜各族自治县',
+ 'code': '450328'
+ },
+ {
+ 'name': '资源县',
+ 'code': '450329'
+ },
+ {
+ 'name': '平乐县',
+ 'code': '450330'
+ },
+ {
+ 'name': '荔浦市',
+ 'code': '450381'
+ },
+ {
+ 'name': '恭城瑶族自治县',
+ 'code': '450332'
+ }
+ ]
+ },
+ {
+ 'name': '梧州市',
+ 'code': '450400',
+ 'children': [
+ {
+ 'name': '万秀区',
+ 'code': '450403'
+ },
+ {
+ 'name': '长洲区',
+ 'code': '450405'
+ },
+ {
+ 'name': '龙圩区',
+ 'code': '450406'
+ },
+ {
+ 'name': '苍梧县',
+ 'code': '450421'
+ },
+ {
+ 'name': '藤县',
+ 'code': '450422'
+ },
+ {
+ 'name': '蒙山县',
+ 'code': '450423'
+ },
+ {
+ 'name': '岑溪市',
+ 'code': '450481'
+ }
+ ]
+ },
+ {
+ 'name': '北海市',
+ 'code': '450500',
+ 'children': [
+ {
+ 'name': '海城区',
+ 'code': '450502'
+ },
+ {
+ 'name': '银海区',
+ 'code': '450503'
+ },
+ {
+ 'name': '铁山港区',
+ 'code': '450512'
+ },
+ {
+ 'name': '合浦县',
+ 'code': '450521'
+ }
+ ]
+ },
+ {
+ 'name': '防城港市',
+ 'code': '450600',
+ 'children': [
+ {
+ 'name': '港口区',
+ 'code': '450602'
+ },
+ {
+ 'name': '防城区',
+ 'code': '450603'
+ },
+ {
+ 'name': '上思县',
+ 'code': '450621'
+ },
+ {
+ 'name': '东兴市',
+ 'code': '450681'
+ }
+ ]
+ },
+ {
+ 'name': '钦州市',
+ 'code': '450700',
+ 'children': [
+ {
+ 'name': '钦南区',
+ 'code': '450702'
+ },
+ {
+ 'name': '钦北区',
+ 'code': '450703'
+ },
+ {
+ 'name': '灵山县',
+ 'code': '450721'
+ },
+ {
+ 'name': '浦北县',
+ 'code': '450722'
+ }
+ ]
+ },
+ {
+ 'name': '贵港市',
+ 'code': '450800',
+ 'children': [
+ {
+ 'name': '港北区',
+ 'code': '450802'
+ },
+ {
+ 'name': '港南区',
+ 'code': '450803'
+ },
+ {
+ 'name': '覃塘区',
+ 'code': '450804'
+ },
+ {
+ 'name': '平南县',
+ 'code': '450821'
+ },
+ {
+ 'name': '桂平市',
+ 'code': '450881'
+ }
+ ]
+ },
+ {
+ 'name': '玉林市',
+ 'code': '450900',
+ 'children': [
+ {
+ 'name': '玉州区',
+ 'code': '450902'
+ },
+ {
+ 'name': '福绵区',
+ 'code': '450903'
+ },
+ {
+ 'name': '容县',
+ 'code': '450921'
+ },
+ {
+ 'name': '陆川县',
+ 'code': '450922'
+ },
+ {
+ 'name': '博白县',
+ 'code': '450923'
+ },
+ {
+ 'name': '兴业县',
+ 'code': '450924'
+ },
+ {
+ 'name': '北流市',
+ 'code': '450981'
+ }
+ ]
+ },
+ {
+ 'name': '百色市',
+ 'code': '451000',
+ 'children': [
+ {
+ 'name': '右江区',
+ 'code': '451002'
+ },
+ {
+ 'name': '田阳县',
+ 'code': '451021'
+ },
+ {
+ 'name': '田东县',
+ 'code': '451022'
+ },
+ {
+ 'name': '平果县',
+ 'code': '451023'
+ },
+ {
+ 'name': '德保县',
+ 'code': '451024'
+ },
+ {
+ 'name': '那坡县',
+ 'code': '451026'
+ },
+ {
+ 'name': '凌云县',
+ 'code': '451027'
+ },
+ {
+ 'name': '乐业县',
+ 'code': '451028'
+ },
+ {
+ 'name': '田林县',
+ 'code': '451029'
+ },
+ {
+ 'name': '西林县',
+ 'code': '451030'
+ },
+ {
+ 'name': '隆林各族自治县',
+ 'code': '451031'
+ },
+ {
+ 'name': '靖西市',
+ 'code': '451081'
+ }
+ ]
+ },
+ {
+ 'name': '贺州市',
+ 'code': '451100',
+ 'children': [
+ {
+ 'name': '八步区',
+ 'code': '451102'
+ },
+ {
+ 'name': '平桂区',
+ 'code': '451103'
+ },
+ {
+ 'name': '昭平县',
+ 'code': '451121'
+ },
+ {
+ 'name': '钟山县',
+ 'code': '451122'
+ },
+ {
+ 'name': '富川瑶族自治县',
+ 'code': '451123'
+ }
+ ]
+ },
+ {
+ 'name': '河池市',
+ 'code': '451200',
+ 'children': [
+ {
+ 'name': '金城江区',
+ 'code': '451202'
+ },
+ {
+ 'name': '宜州区',
+ 'code': '451203'
+ },
+ {
+ 'name': '南丹县',
+ 'code': '451221'
+ },
+ {
+ 'name': '天峨县',
+ 'code': '451222'
+ },
+ {
+ 'name': '凤山县',
+ 'code': '451223'
+ },
+ {
+ 'name': '东兰县',
+ 'code': '451224'
+ },
+ {
+ 'name': '罗城仫佬族自治县',
+ 'code': '451225'
+ },
+ {
+ 'name': '环江毛南族自治县',
+ 'code': '451226'
+ },
+ {
+ 'name': '巴马瑶族自治县',
+ 'code': '451227'
+ },
+ {
+ 'name': '都安瑶族自治县',
+ 'code': '451228'
+ },
+ {
+ 'name': '大化瑶族自治县',
+ 'code': '451229'
+ }
+ ]
+ },
+ {
+ 'name': '来宾市',
+ 'code': '451300',
+ 'children': [
+ {
+ 'name': '兴宾区',
+ 'code': '451302'
+ },
+ {
+ 'name': '忻城县',
+ 'code': '451321'
+ },
+ {
+ 'name': '象州县',
+ 'code': '451322'
+ },
+ {
+ 'name': '武宣县',
+ 'code': '451323'
+ },
+ {
+ 'name': '金秀瑶族自治县',
+ 'code': '451324'
+ },
+ {
+ 'name': '合山市',
+ 'code': '451381'
+ }
+ ]
+ },
+ {
+ 'name': '崇左市',
+ 'code': '451400',
+ 'children': [
+ {
+ 'name': '江州区',
+ 'code': '451402'
+ },
+ {
+ 'name': '扶绥县',
+ 'code': '451421'
+ },
+ {
+ 'name': '宁明县',
+ 'code': '451422'
+ },
+ {
+ 'name': '龙州县',
+ 'code': '451423'
+ },
+ {
+ 'name': '大新县',
+ 'code': '451424'
+ },
+ {
+ 'name': '天等县',
+ 'code': '451425'
+ },
+ {
+ 'name': '凭祥市',
+ 'code': '451481'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '海南省',
+ 'code': '460000',
+ 'region': 'south',
+ 'children': [
+ {
+ 'name': '海口市',
+ 'code': '460100',
+ 'children': [
+ {
+ 'name': '秀英区',
+ 'code': '460105'
+ },
+ {
+ 'name': '龙华区',
+ 'code': '460106'
+ },
+ {
+ 'name': '琼山区',
+ 'code': '460107'
+ },
+ {
+ 'name': '美兰区',
+ 'code': '460108'
+ }
+ ]
+ },
+ {
+ 'name': '三亚市',
+ 'code': '460200',
+ 'children': [
+ {
+ 'name': '海棠区',
+ 'code': '460202'
+ },
+ {
+ 'name': '吉阳区',
+ 'code': '460203'
+ },
+ {
+ 'name': '天涯区',
+ 'code': '460204'
+ },
+ {
+ 'name': '崖州区',
+ 'code': '460205'
+ }
+ ]
+ },
+ {
+ 'name': '三沙市',
+ 'code': '460300',
+ 'children': []
+ },
+ {
+ 'name': '儋州市',
+ 'code': '460400',
+ 'children': []
+ },
+ {
+ 'name': '直辖县',
+ 'code': '469000',
+ 'children': [
+ {
+ 'name': '五指山市',
+ 'code': '469001'
+ },
+ {
+ 'name': '琼海市',
+ 'code': '469002'
+ },
+ {
+ 'name': '文昌市',
+ 'code': '469005'
+ },
+ {
+ 'name': '万宁市',
+ 'code': '469006'
+ },
+ {
+ 'name': '东方市',
+ 'code': '469007'
+ },
+ {
+ 'name': '定安县',
+ 'code': '469021'
+ },
+ {
+ 'name': '屯昌县',
+ 'code': '469022'
+ },
+ {
+ 'name': '澄迈县',
+ 'code': '469023'
+ },
+ {
+ 'name': '临高县',
+ 'code': '469024'
+ },
+ {
+ 'name': '白沙黎族自治县',
+ 'code': '469025'
+ },
+ {
+ 'name': '昌江黎族自治县',
+ 'code': '469026'
+ },
+ {
+ 'name': '乐东黎族自治县',
+ 'code': '469027'
+ },
+ {
+ 'name': '陵水黎族自治县',
+ 'code': '469028'
+ },
+ {
+ 'name': '保亭黎族苗族自治县',
+ 'code': '469029'
+ },
+ {
+ 'name': '琼中黎族苗族自治县',
+ 'code': '469030'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '重庆市',
+ 'code': '500000',
+ 'region': 'southwest',
+ 'provinceLevelCity': true,
+ 'children': [
+ {
+ 'name': '市辖区',
+ 'code': '500100',
+ 'children': [
+ {
+ 'name': '万州区',
+ 'code': '500101'
+ },
+ {
+ 'name': '涪陵区',
+ 'code': '500102'
+ },
+ {
+ 'name': '渝中区',
+ 'code': '500103'
+ },
+ {
+ 'name': '大渡口区',
+ 'code': '500104'
+ },
+ {
+ 'name': '江北区',
+ 'code': '500105'
+ },
+ {
+ 'name': '沙坪坝区',
+ 'code': '500106'
+ },
+ {
+ 'name': '九龙坡区',
+ 'code': '500107'
+ },
+ {
+ 'name': '南岸区',
+ 'code': '500108'
+ },
+ {
+ 'name': '北碚区',
+ 'code': '500109'
+ },
+ {
+ 'name': '綦江区',
+ 'code': '500110'
+ },
+ {
+ 'name': '大足区',
+ 'code': '500111'
+ },
+ {
+ 'name': '渝北区',
+ 'code': '500112'
+ },
+ {
+ 'name': '巴南区',
+ 'code': '500113'
+ },
+ {
+ 'name': '黔江区',
+ 'code': '500114'
+ },
+ {
+ 'name': '长寿区',
+ 'code': '500115'
+ },
+ {
+ 'name': '江津区',
+ 'code': '500116'
+ },
+ {
+ 'name': '合川区',
+ 'code': '500117'
+ },
+ {
+ 'name': '永川区',
+ 'code': '500118'
+ },
+ {
+ 'name': '南川区',
+ 'code': '500119'
+ },
+ {
+ 'name': '璧山区',
+ 'code': '500120'
+ },
+ {
+ 'name': '铜梁区',
+ 'code': '500151'
+ },
+ {
+ 'name': '潼南区',
+ 'code': '500152'
+ },
+ {
+ 'name': '荣昌区',
+ 'code': '500153'
+ },
+ {
+ 'name': '开州区',
+ 'code': '500154'
+ },
+ {
+ 'name': '梁平区',
+ 'code': '500155'
+ },
+ {
+ 'name': '武隆区',
+ 'code': '500156'
+ }
+ ]
+ },
+ {
+ 'name': '县辖区',
+ 'code': '500200',
+ 'children': [
+ {
+ 'name': '城口县',
+ 'code': '500229'
+ },
+ {
+ 'name': '丰都县',
+ 'code': '500230'
+ },
+ {
+ 'name': '垫江县',
+ 'code': '500231'
+ },
+ {
+ 'name': '忠县',
+ 'code': '500233'
+ },
+ {
+ 'name': '云阳县',
+ 'code': '500235'
+ },
+ {
+ 'name': '奉节县',
+ 'code': '500236'
+ },
+ {
+ 'name': '巫山县',
+ 'code': '500237'
+ },
+ {
+ 'name': '巫溪县',
+ 'code': '500238'
+ },
+ {
+ 'name': '石柱土家族自治县',
+ 'code': '500240'
+ },
+ {
+ 'name': '秀山土家族苗族自治县',
+ 'code': '500241'
+ },
+ {
+ 'name': '酉阳土家族苗族自治县',
+ 'code': '500242'
+ },
+ {
+ 'name': '彭水苗族土家族自治县',
+ 'code': '500243'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '四川省',
+ 'code': '510000',
+ 'region': 'southwest',
+ 'children': [
+ {
+ 'name': '成都市',
+ 'code': '510100',
+ 'children': [
+ {
+ 'name': '锦江区',
+ 'code': '510104'
+ },
+ {
+ 'name': '青羊区',
+ 'code': '510105'
+ },
+ {
+ 'name': '金牛区',
+ 'code': '510106'
+ },
+ {
+ 'name': '武侯区',
+ 'code': '510107'
+ },
+ {
+ 'name': '成华区',
+ 'code': '510108'
+ },
+ {
+ 'name': '龙泉驿区',
+ 'code': '510112'
+ },
+ {
+ 'name': '青白江区',
+ 'code': '510113'
+ },
+ {
+ 'name': '新都区',
+ 'code': '510114'
+ },
+ {
+ 'name': '温江区',
+ 'code': '510115'
+ },
+ {
+ 'name': '双流区',
+ 'code': '510116'
+ },
+ {
+ 'name': '郫都区',
+ 'code': '510117'
+ },
+ {
+ 'name': '金堂县',
+ 'code': '510121'
+ },
+ {
+ 'name': '大邑县',
+ 'code': '510129'
+ },
+ {
+ 'name': '蒲江县',
+ 'code': '510131'
+ },
+ {
+ 'name': '新津县',
+ 'code': '510132'
+ },
+ {
+ 'name': '都江堰市',
+ 'code': '510181'
+ },
+ {
+ 'name': '彭州市',
+ 'code': '510182'
+ },
+ {
+ 'name': '邛崃市',
+ 'code': '510183'
+ },
+ {
+ 'name': '崇州市',
+ 'code': '510184'
+ },
+ {
+ 'name': '简阳市',
+ 'code': '510185'
+ }
+ ]
+ },
+ {
+ 'name': '自贡市',
+ 'code': '510300',
+ 'children': [
+ {
+ 'name': '自流井区',
+ 'code': '510302'
+ },
+ {
+ 'name': '贡井区',
+ 'code': '510303'
+ },
+ {
+ 'name': '大安区',
+ 'code': '510304'
+ },
+ {
+ 'name': '沿滩区',
+ 'code': '510311'
+ },
+ {
+ 'name': '荣县',
+ 'code': '510321'
+ },
+ {
+ 'name': '富顺县',
+ 'code': '510322'
+ }
+ ]
+ },
+ {
+ 'name': '攀枝花市',
+ 'code': '510400',
+ 'children': [
+ {
+ 'name': '东区',
+ 'code': '510402'
+ },
+ {
+ 'name': '西区',
+ 'code': '510403'
+ },
+ {
+ 'name': '仁和区',
+ 'code': '510411'
+ },
+ {
+ 'name': '米易县',
+ 'code': '510421'
+ },
+ {
+ 'name': '盐边县',
+ 'code': '510422'
+ }
+ ]
+ },
+ {
+ 'name': '泸州市',
+ 'code': '510500',
+ 'children': [
+ {
+ 'name': '江阳区',
+ 'code': '510502'
+ },
+ {
+ 'name': '纳溪区',
+ 'code': '510503'
+ },
+ {
+ 'name': '龙马潭区',
+ 'code': '510504'
+ },
+ {
+ 'name': '泸县',
+ 'code': '510521'
+ },
+ {
+ 'name': '合江县',
+ 'code': '510522'
+ },
+ {
+ 'name': '叙永县',
+ 'code': '510524'
+ },
+ {
+ 'name': '古蔺县',
+ 'code': '510525'
+ }
+ ]
+ },
+ {
+ 'name': '德阳市',
+ 'code': '510600',
+ 'children': [
+ {
+ 'name': '旌阳区',
+ 'code': '510603'
+ },
+ {
+ 'name': '罗江区',
+ 'code': '510604'
+ },
+ {
+ 'name': '中江县',
+ 'code': '510623'
+ },
+ {
+ 'name': '广汉市',
+ 'code': '510681'
+ },
+ {
+ 'name': '什邡市',
+ 'code': '510682'
+ },
+ {
+ 'name': '绵竹市',
+ 'code': '510683'
+ }
+ ]
+ },
+ {
+ 'name': '绵阳市',
+ 'code': '510700',
+ 'children': [
+ {
+ 'name': '涪城区',
+ 'code': '510703'
+ },
+ {
+ 'name': '游仙区',
+ 'code': '510704'
+ },
+ {
+ 'name': '安州区',
+ 'code': '510705'
+ },
+ {
+ 'name': '三台县',
+ 'code': '510722'
+ },
+ {
+ 'name': '盐亭县',
+ 'code': '510723'
+ },
+ {
+ 'name': '梓潼县',
+ 'code': '510725'
+ },
+ {
+ 'name': '北川羌族自治县',
+ 'code': '510726'
+ },
+ {
+ 'name': '平武县',
+ 'code': '510727'
+ },
+ {
+ 'name': '江油市',
+ 'code': '510781'
+ }
+ ]
+ },
+ {
+ 'name': '广元市',
+ 'code': '510800',
+ 'children': [
+ {
+ 'name': '利州区',
+ 'code': '510802'
+ },
+ {
+ 'name': '昭化区',
+ 'code': '510811'
+ },
+ {
+ 'name': '朝天区',
+ 'code': '510812'
+ },
+ {
+ 'name': '旺苍县',
+ 'code': '510821'
+ },
+ {
+ 'name': '青川县',
+ 'code': '510822'
+ },
+ {
+ 'name': '剑阁县',
+ 'code': '510823'
+ },
+ {
+ 'name': '苍溪县',
+ 'code': '510824'
+ }
+ ]
+ },
+ {
+ 'name': '遂宁市',
+ 'code': '510900',
+ 'children': [
+ {
+ 'name': '船山区',
+ 'code': '510903'
+ },
+ {
+ 'name': '安居区',
+ 'code': '510904'
+ },
+ {
+ 'name': '蓬溪县',
+ 'code': '510921'
+ },
+ {
+ 'name': '射洪县',
+ 'code': '510922'
+ },
+ {
+ 'name': '大英县',
+ 'code': '510923'
+ }
+ ]
+ },
+ {
+ 'name': '内江市',
+ 'code': '511000',
+ 'children': [
+ {
+ 'name': '市中区',
+ 'code': '511002'
+ },
+ {
+ 'name': '东兴区',
+ 'code': '511011'
+ },
+ {
+ 'name': '威远县',
+ 'code': '511024'
+ },
+ {
+ 'name': '资中县',
+ 'code': '511025'
+ },
+ {
+ 'name': '隆昌市',
+ 'code': '511083'
+ }
+ ]
+ },
+ {
+ 'name': '乐山市',
+ 'code': '511100',
+ 'children': [
+ {
+ 'name': '市中区',
+ 'code': '511102'
+ },
+ {
+ 'name': '沙湾区',
+ 'code': '511111'
+ },
+ {
+ 'name': '五通桥区',
+ 'code': '511112'
+ },
+ {
+ 'name': '金口河区',
+ 'code': '511113'
+ },
+ {
+ 'name': '犍为县',
+ 'code': '511123'
+ },
+ {
+ 'name': '井研县',
+ 'code': '511124'
+ },
+ {
+ 'name': '夹江县',
+ 'code': '511126'
+ },
+ {
+ 'name': '沐川县',
+ 'code': '511129'
+ },
+ {
+ 'name': '峨边彝族自治县',
+ 'code': '511132'
+ },
+ {
+ 'name': '马边彝族自治县',
+ 'code': '511133'
+ },
+ {
+ 'name': '峨眉山市',
+ 'code': '511181'
+ }
+ ]
+ },
+ {
+ 'name': '南充市',
+ 'code': '511300',
+ 'children': [
+ {
+ 'name': '顺庆区',
+ 'code': '511302'
+ },
+ {
+ 'name': '高坪区',
+ 'code': '511303'
+ },
+ {
+ 'name': '嘉陵区',
+ 'code': '511304'
+ },
+ {
+ 'name': '南部县',
+ 'code': '511321'
+ },
+ {
+ 'name': '营山县',
+ 'code': '511322'
+ },
+ {
+ 'name': '蓬安县',
+ 'code': '511323'
+ },
+ {
+ 'name': '仪陇县',
+ 'code': '511324'
+ },
+ {
+ 'name': '西充县',
+ 'code': '511325'
+ },
+ {
+ 'name': '阆中市',
+ 'code': '511381'
+ }
+ ]
+ },
+ {
+ 'name': '眉山市',
+ 'code': '511400',
+ 'children': [
+ {
+ 'name': '东坡区',
+ 'code': '511402'
+ },
+ {
+ 'name': '彭山区',
+ 'code': '511403'
+ },
+ {
+ 'name': '仁寿县',
+ 'code': '511421'
+ },
+ {
+ 'name': '洪雅县',
+ 'code': '511423'
+ },
+ {
+ 'name': '丹棱县',
+ 'code': '511424'
+ },
+ {
+ 'name': '青神县',
+ 'code': '511425'
+ }
+ ]
+ },
+ {
+ 'name': '宜宾市',
+ 'code': '511500',
+ 'children': [
+ {
+ 'name': '翠屏区',
+ 'code': '511502'
+ },
+ {
+ 'name': '南溪区',
+ 'code': '511503'
+ },
+ {
+ 'name': '叙州区',
+ 'code': '511504'
+ },
+ {
+ 'name': '江安县',
+ 'code': '511523'
+ },
+ {
+ 'name': '长宁县',
+ 'code': '511524'
+ },
+ {
+ 'name': '高县',
+ 'code': '511525'
+ },
+ {
+ 'name': '珙县',
+ 'code': '511526'
+ },
+ {
+ 'name': '筠连县',
+ 'code': '511527'
+ },
+ {
+ 'name': '兴文县',
+ 'code': '511528'
+ },
+ {
+ 'name': '屏山县',
+ 'code': '511529'
+ }
+ ]
+ },
+ {
+ 'name': '广安市',
+ 'code': '511600',
+ 'children': [
+ {
+ 'name': '广安区',
+ 'code': '511602'
+ },
+ {
+ 'name': '前锋区',
+ 'code': '511603'
+ },
+ {
+ 'name': '岳池县',
+ 'code': '511621'
+ },
+ {
+ 'name': '武胜县',
+ 'code': '511622'
+ },
+ {
+ 'name': '邻水县',
+ 'code': '511623'
+ },
+ {
+ 'name': '华蓥市',
+ 'code': '511681'
+ }
+ ]
+ },
+ {
+ 'name': '达州市',
+ 'code': '511700',
+ 'children': [
+ {
+ 'name': '通川区',
+ 'code': '511702'
+ },
+ {
+ 'name': '达川区',
+ 'code': '511703'
+ },
+ {
+ 'name': '宣汉县',
+ 'code': '511722'
+ },
+ {
+ 'name': '开江县',
+ 'code': '511723'
+ },
+ {
+ 'name': '大竹县',
+ 'code': '511724'
+ },
+ {
+ 'name': '渠县',
+ 'code': '511725'
+ },
+ {
+ 'name': '万源市',
+ 'code': '511781'
+ }
+ ]
+ },
+ {
+ 'name': '雅安市',
+ 'code': '511800',
+ 'children': [
+ {
+ 'name': '雨城区',
+ 'code': '511802'
+ },
+ {
+ 'name': '名山区',
+ 'code': '511803'
+ },
+ {
+ 'name': '荥经县',
+ 'code': '511822'
+ },
+ {
+ 'name': '汉源县',
+ 'code': '511823'
+ },
+ {
+ 'name': '石棉县',
+ 'code': '511824'
+ },
+ {
+ 'name': '天全县',
+ 'code': '511825'
+ },
+ {
+ 'name': '芦山县',
+ 'code': '511826'
+ },
+ {
+ 'name': '宝兴县',
+ 'code': '511827'
+ }
+ ]
+ },
+ {
+ 'name': '巴中市',
+ 'code': '511900',
+ 'children': [
+ {
+ 'name': '巴州区',
+ 'code': '511902'
+ },
+ {
+ 'name': '恩阳区',
+ 'code': '511903'
+ },
+ {
+ 'name': '通江县',
+ 'code': '511921'
+ },
+ {
+ 'name': '南江县',
+ 'code': '511922'
+ },
+ {
+ 'name': '平昌县',
+ 'code': '511923'
+ }
+ ]
+ },
+ {
+ 'name': '资阳市',
+ 'code': '512000',
+ 'children': [
+ {
+ 'name': '雁江区',
+ 'code': '512002'
+ },
+ {
+ 'name': '安岳县',
+ 'code': '512021'
+ },
+ {
+ 'name': '乐至县',
+ 'code': '512022'
+ }
+ ]
+ },
+ {
+ 'name': '阿坝藏族羌族自治州',
+ 'code': '513200',
+ 'children': [
+ {
+ 'name': '马尔康市',
+ 'code': '513201'
+ },
+ {
+ 'name': '汶川县',
+ 'code': '513221'
+ },
+ {
+ 'name': '理县',
+ 'code': '513222'
+ },
+ {
+ 'name': '茂县',
+ 'code': '513223'
+ },
+ {
+ 'name': '松潘县',
+ 'code': '513224'
+ },
+ {
+ 'name': '九寨沟县',
+ 'code': '513225'
+ },
+ {
+ 'name': '金川县',
+ 'code': '513226'
+ },
+ {
+ 'name': '小金县',
+ 'code': '513227'
+ },
+ {
+ 'name': '黑水县',
+ 'code': '513228'
+ },
+ {
+ 'name': '壤塘县',
+ 'code': '513230'
+ },
+ {
+ 'name': '阿坝县',
+ 'code': '513231'
+ },
+ {
+ 'name': '若尔盖县',
+ 'code': '513232'
+ },
+ {
+ 'name': '红原县',
+ 'code': '513233'
+ }
+ ]
+ },
+ {
+ 'name': '甘孜藏族自治州',
+ 'code': '513300',
+ 'children': [
+ {
+ 'name': '康定市',
+ 'code': '513301'
+ },
+ {
+ 'name': '泸定县',
+ 'code': '513322'
+ },
+ {
+ 'name': '丹巴县',
+ 'code': '513323'
+ },
+ {
+ 'name': '九龙县',
+ 'code': '513324'
+ },
+ {
+ 'name': '雅江县',
+ 'code': '513325'
+ },
+ {
+ 'name': '道孚县',
+ 'code': '513326'
+ },
+ {
+ 'name': '炉霍县',
+ 'code': '513327'
+ },
+ {
+ 'name': '甘孜县',
+ 'code': '513328'
+ },
+ {
+ 'name': '新龙县',
+ 'code': '513329'
+ },
+ {
+ 'name': '德格县',
+ 'code': '513330'
+ },
+ {
+ 'name': '白玉县',
+ 'code': '513331'
+ },
+ {
+ 'name': '石渠县',
+ 'code': '513332'
+ },
+ {
+ 'name': '色达县',
+ 'code': '513333'
+ },
+ {
+ 'name': '理塘县',
+ 'code': '513334'
+ },
+ {
+ 'name': '巴塘县',
+ 'code': '513335'
+ },
+ {
+ 'name': '乡城县',
+ 'code': '513336'
+ },
+ {
+ 'name': '稻城县',
+ 'code': '513337'
+ },
+ {
+ 'name': '得荣县',
+ 'code': '513338'
+ }
+ ]
+ },
+ {
+ 'name': '凉山彝族自治州',
+ 'code': '513400',
+ 'children': [
+ {
+ 'name': '西昌市',
+ 'code': '513401'
+ },
+ {
+ 'name': '木里藏族自治县',
+ 'code': '513422'
+ },
+ {
+ 'name': '盐源县',
+ 'code': '513423'
+ },
+ {
+ 'name': '德昌县',
+ 'code': '513424'
+ },
+ {
+ 'name': '会理县',
+ 'code': '513425'
+ },
+ {
+ 'name': '会东县',
+ 'code': '513426'
+ },
+ {
+ 'name': '宁南县',
+ 'code': '513427'
+ },
+ {
+ 'name': '普格县',
+ 'code': '513428'
+ },
+ {
+ 'name': '布拖县',
+ 'code': '513429'
+ },
+ {
+ 'name': '金阳县',
+ 'code': '513430'
+ },
+ {
+ 'name': '昭觉县',
+ 'code': '513431'
+ },
+ {
+ 'name': '喜德县',
+ 'code': '513432'
+ },
+ {
+ 'name': '冕宁县',
+ 'code': '513433'
+ },
+ {
+ 'name': '越西县',
+ 'code': '513434'
+ },
+ {
+ 'name': '甘洛县',
+ 'code': '513435'
+ },
+ {
+ 'name': '美姑县',
+ 'code': '513436'
+ },
+ {
+ 'name': '雷波县',
+ 'code': '513437'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '贵州省',
+ 'code': '520000',
+ 'region': 'southwest',
+ 'children': [
+ {
+ 'name': '贵阳市',
+ 'code': '520100',
+ 'children': [
+ {
+ 'name': '南明区',
+ 'code': '520102'
+ },
+ {
+ 'name': '云岩区',
+ 'code': '520103'
+ },
+ {
+ 'name': '花溪区',
+ 'code': '520111'
+ },
+ {
+ 'name': '乌当区',
+ 'code': '520112'
+ },
+ {
+ 'name': '白云区',
+ 'code': '520113'
+ },
+ {
+ 'name': '观山湖区',
+ 'code': '520115'
+ },
+ {
+ 'name': '开阳县',
+ 'code': '520121'
+ },
+ {
+ 'name': '息烽县',
+ 'code': '520122'
+ },
+ {
+ 'name': '修文县',
+ 'code': '520123'
+ },
+ {
+ 'name': '清镇市',
+ 'code': '520181'
+ }
+ ]
+ },
+ {
+ 'name': '六盘水市',
+ 'code': '520200',
+ 'children': [
+ {
+ 'name': '钟山区',
+ 'code': '520201'
+ },
+ {
+ 'name': '六枝特区',
+ 'code': '520203'
+ },
+ {
+ 'name': '水城县',
+ 'code': '520221'
+ },
+ {
+ 'name': '盘州市',
+ 'code': '520281'
+ }
+ ]
+ },
+ {
+ 'name': '遵义市',
+ 'code': '520300',
+ 'children': [
+ {
+ 'name': '红花岗区',
+ 'code': '520302'
+ },
+ {
+ 'name': '汇川区',
+ 'code': '520303'
+ },
+ {
+ 'name': '播州区',
+ 'code': '520304'
+ },
+ {
+ 'name': '桐梓县',
+ 'code': '520322'
+ },
+ {
+ 'name': '绥阳县',
+ 'code': '520323'
+ },
+ {
+ 'name': '正安县',
+ 'code': '520324'
+ },
+ {
+ 'name': '道真仡佬族苗族自治县',
+ 'code': '520325'
+ },
+ {
+ 'name': '务川仡佬族苗族自治县',
+ 'code': '520326'
+ },
+ {
+ 'name': '凤冈县',
+ 'code': '520327'
+ },
+ {
+ 'name': '湄潭县',
+ 'code': '520328'
+ },
+ {
+ 'name': '余庆县',
+ 'code': '520329'
+ },
+ {
+ 'name': '习水县',
+ 'code': '520330'
+ },
+ {
+ 'name': '赤水市',
+ 'code': '520381'
+ },
+ {
+ 'name': '仁怀市',
+ 'code': '520382'
+ }
+ ]
+ },
+ {
+ 'name': '安顺市',
+ 'code': '520400',
+ 'children': [
+ {
+ 'name': '西秀区',
+ 'code': '520402'
+ },
+ {
+ 'name': '平坝区',
+ 'code': '520403'
+ },
+ {
+ 'name': '普定县',
+ 'code': '520422'
+ },
+ {
+ 'name': '镇宁布依族苗族自治县',
+ 'code': '520423'
+ },
+ {
+ 'name': '关岭布依族苗族自治县',
+ 'code': '520424'
+ },
+ {
+ 'name': '紫云苗族布依族自治县',
+ 'code': '520425'
+ }
+ ]
+ },
+ {
+ 'name': '毕节市',
+ 'code': '520500',
+ 'children': [
+ {
+ 'name': '七星关区',
+ 'code': '520502'
+ },
+ {
+ 'name': '大方县',
+ 'code': '520521'
+ },
+ {
+ 'name': '黔西县',
+ 'code': '520522'
+ },
+ {
+ 'name': '金沙县',
+ 'code': '520523'
+ },
+ {
+ 'name': '织金县',
+ 'code': '520524'
+ },
+ {
+ 'name': '纳雍县',
+ 'code': '520525'
+ },
+ {
+ 'name': '威宁彝族回族苗族自治县',
+ 'code': '520526'
+ },
+ {
+ 'name': '赫章县',
+ 'code': '520527'
+ }
+ ]
+ },
+ {
+ 'name': '铜仁市',
+ 'code': '520600',
+ 'children': [
+ {
+ 'name': '碧江区',
+ 'code': '520602'
+ },
+ {
+ 'name': '万山区',
+ 'code': '520603'
+ },
+ {
+ 'name': '江口县',
+ 'code': '520621'
+ },
+ {
+ 'name': '玉屏侗族自治县',
+ 'code': '520622'
+ },
+ {
+ 'name': '石阡县',
+ 'code': '520623'
+ },
+ {
+ 'name': '思南县',
+ 'code': '520624'
+ },
+ {
+ 'name': '印江土家族苗族自治县',
+ 'code': '520625'
+ },
+ {
+ 'name': '德江县',
+ 'code': '520626'
+ },
+ {
+ 'name': '沿河土家族自治县',
+ 'code': '520627'
+ },
+ {
+ 'name': '松桃苗族自治县',
+ 'code': '520628'
+ }
+ ]
+ },
+ {
+ 'name': '黔西南布依族苗族自治州',
+ 'code': '522300',
+ 'children': [
+ {
+ 'name': '兴义市',
+ 'code': '522301'
+ },
+ {
+ 'name': '兴仁市',
+ 'code': '522302'
+ },
+ {
+ 'name': '普安县',
+ 'code': '522323'
+ },
+ {
+ 'name': '晴隆县',
+ 'code': '522324'
+ },
+ {
+ 'name': '贞丰县',
+ 'code': '522325'
+ },
+ {
+ 'name': '望谟县',
+ 'code': '522326'
+ },
+ {
+ 'name': '册亨县',
+ 'code': '522327'
+ },
+ {
+ 'name': '安龙县',
+ 'code': '522328'
+ }
+ ]
+ },
+ {
+ 'name': '黔东南苗族侗族自治州',
+ 'code': '522600',
+ 'children': [
+ {
+ 'name': '凯里市',
+ 'code': '522601'
+ },
+ {
+ 'name': '黄平县',
+ 'code': '522622'
+ },
+ {
+ 'name': '施秉县',
+ 'code': '522623'
+ },
+ {
+ 'name': '三穗县',
+ 'code': '522624'
+ },
+ {
+ 'name': '镇远县',
+ 'code': '522625'
+ },
+ {
+ 'name': '岑巩县',
+ 'code': '522626'
+ },
+ {
+ 'name': '天柱县',
+ 'code': '522627'
+ },
+ {
+ 'name': '锦屏县',
+ 'code': '522628'
+ },
+ {
+ 'name': '剑河县',
+ 'code': '522629'
+ },
+ {
+ 'name': '台江县',
+ 'code': '522630'
+ },
+ {
+ 'name': '黎平县',
+ 'code': '522631'
+ },
+ {
+ 'name': '榕江县',
+ 'code': '522632'
+ },
+ {
+ 'name': '从江县',
+ 'code': '522633'
+ },
+ {
+ 'name': '雷山县',
+ 'code': '522634'
+ },
+ {
+ 'name': '麻江县',
+ 'code': '522635'
+ },
+ {
+ 'name': '丹寨县',
+ 'code': '522636'
+ }
+ ]
+ },
+ {
+ 'name': '黔南布依族苗族自治州',
+ 'code': '522700',
+ 'children': [
+ {
+ 'name': '都匀市',
+ 'code': '522701'
+ },
+ {
+ 'name': '福泉市',
+ 'code': '522702'
+ },
+ {
+ 'name': '荔波县',
+ 'code': '522722'
+ },
+ {
+ 'name': '贵定县',
+ 'code': '522723'
+ },
+ {
+ 'name': '瓮安县',
+ 'code': '522725'
+ },
+ {
+ 'name': '独山县',
+ 'code': '522726'
+ },
+ {
+ 'name': '平塘县',
+ 'code': '522727'
+ },
+ {
+ 'name': '罗甸县',
+ 'code': '522728'
+ },
+ {
+ 'name': '长顺县',
+ 'code': '522729'
+ },
+ {
+ 'name': '龙里县',
+ 'code': '522730'
+ },
+ {
+ 'name': '惠水县',
+ 'code': '522731'
+ },
+ {
+ 'name': '三都水族自治县',
+ 'code': '522732'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '云南省',
+ 'code': '530000',
+ 'region': 'southwest',
+ 'children': [
+ {
+ 'name': '昆明市',
+ 'code': '530100',
+ 'children': [
+ {
+ 'name': '五华区',
+ 'code': '530102'
+ },
+ {
+ 'name': '盘龙区',
+ 'code': '530103'
+ },
+ {
+ 'name': '官渡区',
+ 'code': '530111'
+ },
+ {
+ 'name': '西山区',
+ 'code': '530112'
+ },
+ {
+ 'name': '东川区',
+ 'code': '530113'
+ },
+ {
+ 'name': '呈贡区',
+ 'code': '530114'
+ },
+ {
+ 'name': '晋宁区',
+ 'code': '530115'
+ },
+ {
+ 'name': '富民县',
+ 'code': '530124'
+ },
+ {
+ 'name': '宜良县',
+ 'code': '530125'
+ },
+ {
+ 'name': '石林彝族自治县',
+ 'code': '530126'
+ },
+ {
+ 'name': '嵩明县',
+ 'code': '530127'
+ },
+ {
+ 'name': '禄劝彝族苗族自治县',
+ 'code': '530128'
+ },
+ {
+ 'name': '寻甸回族彝族自治县',
+ 'code': '530129'
+ },
+ {
+ 'name': '安宁市',
+ 'code': '530181'
+ }
+ ]
+ },
+ {
+ 'name': '曲靖市',
+ 'code': '530300',
+ 'children': [
+ {
+ 'name': '麒麟区',
+ 'code': '530302'
+ },
+ {
+ 'name': '沾益区',
+ 'code': '530303'
+ },
+ {
+ 'name': '马龙区',
+ 'code': '530304'
+ },
+ {
+ 'name': '陆良县',
+ 'code': '530322'
+ },
+ {
+ 'name': '师宗县',
+ 'code': '530323'
+ },
+ {
+ 'name': '罗平县',
+ 'code': '530324'
+ },
+ {
+ 'name': '富源县',
+ 'code': '530325'
+ },
+ {
+ 'name': '会泽县',
+ 'code': '530326'
+ },
+ {
+ 'name': '宣威市',
+ 'code': '530381'
+ }
+ ]
+ },
+ {
+ 'name': '玉溪市',
+ 'code': '530400',
+ 'children': [
+ {
+ 'name': '红塔区',
+ 'code': '530402'
+ },
+ {
+ 'name': '江川区',
+ 'code': '530403'
+ },
+ {
+ 'name': '澄江县',
+ 'code': '530422'
+ },
+ {
+ 'name': '通海县',
+ 'code': '530423'
+ },
+ {
+ 'name': '华宁县',
+ 'code': '530424'
+ },
+ {
+ 'name': '易门县',
+ 'code': '530425'
+ },
+ {
+ 'name': '峨山彝族自治县',
+ 'code': '530426'
+ },
+ {
+ 'name': '新平彝族傣族自治县',
+ 'code': '530427'
+ },
+ {
+ 'name': '元江哈尼族彝族傣族自治县',
+ 'code': '530428'
+ }
+ ]
+ },
+ {
+ 'name': '保山市',
+ 'code': '530500',
+ 'children': [
+ {
+ 'name': '隆阳区',
+ 'code': '530502'
+ },
+ {
+ 'name': '施甸县',
+ 'code': '530521'
+ },
+ {
+ 'name': '龙陵县',
+ 'code': '530523'
+ },
+ {
+ 'name': '昌宁县',
+ 'code': '530524'
+ },
+ {
+ 'name': '腾冲市',
+ 'code': '530581'
+ }
+ ]
+ },
+ {
+ 'name': '昭通市',
+ 'code': '530600',
+ 'children': [
+ {
+ 'name': '昭阳区',
+ 'code': '530602'
+ },
+ {
+ 'name': '鲁甸县',
+ 'code': '530621'
+ },
+ {
+ 'name': '巧家县',
+ 'code': '530622'
+ },
+ {
+ 'name': '盐津县',
+ 'code': '530623'
+ },
+ {
+ 'name': '大关县',
+ 'code': '530624'
+ },
+ {
+ 'name': '永善县',
+ 'code': '530625'
+ },
+ {
+ 'name': '绥江县',
+ 'code': '530626'
+ },
+ {
+ 'name': '镇雄县',
+ 'code': '530627'
+ },
+ {
+ 'name': '彝良县',
+ 'code': '530628'
+ },
+ {
+ 'name': '威信县',
+ 'code': '530629'
+ },
+ {
+ 'name': '水富市',
+ 'code': '530681'
+ }
+ ]
+ },
+ {
+ 'name': '丽江市',
+ 'code': '530700',
+ 'children': [
+ {
+ 'name': '古城区',
+ 'code': '530702'
+ },
+ {
+ 'name': '玉龙纳西族自治县',
+ 'code': '530721'
+ },
+ {
+ 'name': '永胜县',
+ 'code': '530722'
+ },
+ {
+ 'name': '华坪县',
+ 'code': '530723'
+ },
+ {
+ 'name': '宁蒗彝族自治县',
+ 'code': '530724'
+ }
+ ]
+ },
+ {
+ 'name': '普洱市',
+ 'code': '530800',
+ 'children': [
+ {
+ 'name': '思茅区',
+ 'code': '530802'
+ },
+ {
+ 'name': '宁洱哈尼族彝族自治县',
+ 'code': '530821'
+ },
+ {
+ 'name': '墨江哈尼族自治县',
+ 'code': '530822'
+ },
+ {
+ 'name': '景东彝族自治县',
+ 'code': '530823'
+ },
+ {
+ 'name': '景谷傣族彝族自治县',
+ 'code': '530824'
+ },
+ {
+ 'name': '镇沅彝族哈尼族拉祜族自治县',
+ 'code': '530825'
+ },
+ {
+ 'name': '江城哈尼族彝族自治县',
+ 'code': '530826'
+ },
+ {
+ 'name': '孟连傣族拉祜族佤族自治县',
+ 'code': '530827'
+ },
+ {
+ 'name': '澜沧拉祜族自治县',
+ 'code': '530828'
+ },
+ {
+ 'name': '西盟佤族自治县',
+ 'code': '530829'
+ }
+ ]
+ },
+ {
+ 'name': '临沧市',
+ 'code': '530900',
+ 'children': [
+ {
+ 'name': '临翔区',
+ 'code': '530902'
+ },
+ {
+ 'name': '凤庆县',
+ 'code': '530921'
+ },
+ {
+ 'name': '云县',
+ 'code': '530922'
+ },
+ {
+ 'name': '永德县',
+ 'code': '530923'
+ },
+ {
+ 'name': '镇康县',
+ 'code': '530924'
+ },
+ {
+ 'name': '双江拉祜族佤族布朗族傣族自治县',
+ 'code': '530925'
+ },
+ {
+ 'name': '耿马傣族佤族自治县',
+ 'code': '530926'
+ },
+ {
+ 'name': '沧源佤族自治县',
+ 'code': '530927'
+ }
+ ]
+ },
+ {
+ 'name': '楚雄彝族自治州',
+ 'code': '532300',
+ 'children': [
+ {
+ 'name': '楚雄市',
+ 'code': '532301'
+ },
+ {
+ 'name': '双柏县',
+ 'code': '532322'
+ },
+ {
+ 'name': '牟定县',
+ 'code': '532323'
+ },
+ {
+ 'name': '南华县',
+ 'code': '532324'
+ },
+ {
+ 'name': '姚安县',
+ 'code': '532325'
+ },
+ {
+ 'name': '大姚县',
+ 'code': '532326'
+ },
+ {
+ 'name': '永仁县',
+ 'code': '532327'
+ },
+ {
+ 'name': '元谋县',
+ 'code': '532328'
+ },
+ {
+ 'name': '武定县',
+ 'code': '532329'
+ },
+ {
+ 'name': '禄丰县',
+ 'code': '532331'
+ }
+ ]
+ },
+ {
+ 'name': '红河哈尼族彝族自治州',
+ 'code': '532500',
+ 'children': [
+ {
+ 'name': '个旧市',
+ 'code': '532501'
+ },
+ {
+ 'name': '开远市',
+ 'code': '532502'
+ },
+ {
+ 'name': '蒙自市',
+ 'code': '532503'
+ },
+ {
+ 'name': '弥勒市',
+ 'code': '532504'
+ },
+ {
+ 'name': '屏边苗族自治县',
+ 'code': '532523'
+ },
+ {
+ 'name': '建水县',
+ 'code': '532524'
+ },
+ {
+ 'name': '石屏县',
+ 'code': '532525'
+ },
+ {
+ 'name': '泸西县',
+ 'code': '532527'
+ },
+ {
+ 'name': '元阳县',
+ 'code': '532528'
+ },
+ {
+ 'name': '红河县',
+ 'code': '532529'
+ },
+ {
+ 'name': '金平苗族瑶族傣族自治县',
+ 'code': '532530'
+ },
+ {
+ 'name': '绿春县',
+ 'code': '532531'
+ },
+ {
+ 'name': '河口瑶族自治县',
+ 'code': '532532'
+ }
+ ]
+ },
+ {
+ 'name': '文山壮族苗族自治州',
+ 'code': '532600',
+ 'children': [
+ {
+ 'name': '文山市',
+ 'code': '532601'
+ },
+ {
+ 'name': '砚山县',
+ 'code': '532622'
+ },
+ {
+ 'name': '西畴县',
+ 'code': '532623'
+ },
+ {
+ 'name': '麻栗坡县',
+ 'code': '532624'
+ },
+ {
+ 'name': '马关县',
+ 'code': '532625'
+ },
+ {
+ 'name': '丘北县',
+ 'code': '532626'
+ },
+ {
+ 'name': '广南县',
+ 'code': '532627'
+ },
+ {
+ 'name': '富宁县',
+ 'code': '532628'
+ }
+ ]
+ },
+ {
+ 'name': '西双版纳傣族自治州',
+ 'code': '532800',
+ 'children': [
+ {
+ 'name': '景洪市',
+ 'code': '532801'
+ },
+ {
+ 'name': '勐海县',
+ 'code': '532822'
+ },
+ {
+ 'name': '勐腊县',
+ 'code': '532823'
+ }
+ ]
+ },
+ {
+ 'name': '大理白族自治州',
+ 'code': '532900',
+ 'children': [
+ {
+ 'name': '大理市',
+ 'code': '532901'
+ },
+ {
+ 'name': '漾濞彝族自治县',
+ 'code': '532922'
+ },
+ {
+ 'name': '祥云县',
+ 'code': '532923'
+ },
+ {
+ 'name': '宾川县',
+ 'code': '532924'
+ },
+ {
+ 'name': '弥渡县',
+ 'code': '532925'
+ },
+ {
+ 'name': '南涧彝族自治县',
+ 'code': '532926'
+ },
+ {
+ 'name': '巍山彝族回族自治县',
+ 'code': '532927'
+ },
+ {
+ 'name': '永平县',
+ 'code': '532928'
+ },
+ {
+ 'name': '云龙县',
+ 'code': '532929'
+ },
+ {
+ 'name': '洱源县',
+ 'code': '532930'
+ },
+ {
+ 'name': '剑川县',
+ 'code': '532931'
+ },
+ {
+ 'name': '鹤庆县',
+ 'code': '532932'
+ }
+ ]
+ },
+ {
+ 'name': '德宏傣族景颇族自治州',
+ 'code': '533100',
+ 'children': [
+ {
+ 'name': '瑞丽市',
+ 'code': '533102'
+ },
+ {
+ 'name': '芒市',
+ 'code': '533103'
+ },
+ {
+ 'name': '梁河县',
+ 'code': '533122'
+ },
+ {
+ 'name': '盈江县',
+ 'code': '533123'
+ },
+ {
+ 'name': '陇川县',
+ 'code': '533124'
+ }
+ ]
+ },
+ {
+ 'name': '怒江傈僳族自治州',
+ 'code': '533300',
+ 'children': [
+ {
+ 'name': '泸水市',
+ 'code': '533301'
+ },
+ {
+ 'name': '福贡县',
+ 'code': '533323'
+ },
+ {
+ 'name': '贡山独龙族怒族自治县',
+ 'code': '533324'
+ },
+ {
+ 'name': '兰坪白族普米族自治县',
+ 'code': '533325'
+ }
+ ]
+ },
+ {
+ 'name': '迪庆藏族自治州',
+ 'code': '533400',
+ 'children': [
+ {
+ 'name': '香格里拉市',
+ 'code': '533401'
+ },
+ {
+ 'name': '德钦县',
+ 'code': '533422'
+ },
+ {
+ 'name': '维西傈僳族自治县',
+ 'code': '533423'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '西藏自治区',
+ 'code': '540000',
+ 'region': 'southwest',
+ 'autonomousRegion': true,
+ 'children': [
+ {
+ 'name': '拉萨市',
+ 'code': '540100',
+ 'children': [
+ {
+ 'name': '城关区',
+ 'code': '540102'
+ },
+ {
+ 'name': '堆龙德庆区',
+ 'code': '540103'
+ },
+ {
+ 'name': '达孜区',
+ 'code': '540104'
+ },
+ {
+ 'name': '林周县',
+ 'code': '540121'
+ },
+ {
+ 'name': '当雄县',
+ 'code': '540122'
+ },
+ {
+ 'name': '尼木县',
+ 'code': '540123'
+ },
+ {
+ 'name': '曲水县',
+ 'code': '540124'
+ },
+ {
+ 'name': '墨竹工卡县',
+ 'code': '540127'
+ }
+ ]
+ },
+ {
+ 'name': '日喀则市',
+ 'code': '540200',
+ 'children': [
+ {
+ 'name': '桑珠孜区',
+ 'code': '540202'
+ },
+ {
+ 'name': '南木林县',
+ 'code': '540221'
+ },
+ {
+ 'name': '江孜县',
+ 'code': '540222'
+ },
+ {
+ 'name': '定日县',
+ 'code': '540223'
+ },
+ {
+ 'name': '萨迦县',
+ 'code': '540224'
+ },
+ {
+ 'name': '拉孜县',
+ 'code': '540225'
+ },
+ {
+ 'name': '昂仁县',
+ 'code': '540226'
+ },
+ {
+ 'name': '谢通门县',
+ 'code': '540227'
+ },
+ {
+ 'name': '白朗县',
+ 'code': '540228'
+ },
+ {
+ 'name': '仁布县',
+ 'code': '540229'
+ },
+ {
+ 'name': '康马县',
+ 'code': '540230'
+ },
+ {
+ 'name': '定结县',
+ 'code': '540231'
+ },
+ {
+ 'name': '仲巴县',
+ 'code': '540232'
+ },
+ {
+ 'name': '亚东县',
+ 'code': '540233'
+ },
+ {
+ 'name': '吉隆县',
+ 'code': '540234'
+ },
+ {
+ 'name': '聂拉木县',
+ 'code': '540235'
+ },
+ {
+ 'name': '萨嘎县',
+ 'code': '540236'
+ },
+ {
+ 'name': '岗巴县',
+ 'code': '540237'
+ }
+ ]
+ },
+ {
+ 'name': '昌都市',
+ 'code': '540300',
+ 'children': [
+ {
+ 'name': '卡若区',
+ 'code': '540302'
+ },
+ {
+ 'name': '江达县',
+ 'code': '540321'
+ },
+ {
+ 'name': '贡觉县',
+ 'code': '540322'
+ },
+ {
+ 'name': '类乌齐县',
+ 'code': '540323'
+ },
+ {
+ 'name': '丁青县',
+ 'code': '540324'
+ },
+ {
+ 'name': '察雅县',
+ 'code': '540325'
+ },
+ {
+ 'name': '八宿县',
+ 'code': '540326'
+ },
+ {
+ 'name': '左贡县',
+ 'code': '540327'
+ },
+ {
+ 'name': '芒康县',
+ 'code': '540328'
+ },
+ {
+ 'name': '洛隆县',
+ 'code': '540329'
+ },
+ {
+ 'name': '边坝县',
+ 'code': '540330'
+ }
+ ]
+ },
+ {
+ 'name': '林芝市',
+ 'code': '540400',
+ 'children': [
+ {
+ 'name': '巴宜区',
+ 'code': '540402'
+ },
+ {
+ 'name': '工布江达县',
+ 'code': '540421'
+ },
+ {
+ 'name': '米林县',
+ 'code': '540422'
+ },
+ {
+ 'name': '墨脱县',
+ 'code': '540423'
+ },
+ {
+ 'name': '波密县',
+ 'code': '540424'
+ },
+ {
+ 'name': '察隅县',
+ 'code': '540425'
+ },
+ {
+ 'name': '朗县',
+ 'code': '540426'
+ }
+ ]
+ },
+ {
+ 'name': '山南市',
+ 'code': '540500',
+ 'children': [
+ {
+ 'name': '乃东区',
+ 'code': '540502'
+ },
+ {
+ 'name': '扎囊县',
+ 'code': '540521'
+ },
+ {
+ 'name': '贡嘎县',
+ 'code': '540522'
+ },
+ {
+ 'name': '桑日县',
+ 'code': '540523'
+ },
+ {
+ 'name': '琼结县',
+ 'code': '540524'
+ },
+ {
+ 'name': '曲松县',
+ 'code': '540525'
+ },
+ {
+ 'name': '措美县',
+ 'code': '540526'
+ },
+ {
+ 'name': '洛扎县',
+ 'code': '540527'
+ },
+ {
+ 'name': '加查县',
+ 'code': '540528'
+ },
+ {
+ 'name': '隆子县',
+ 'code': '540529'
+ },
+ {
+ 'name': '错那县',
+ 'code': '540530'
+ },
+ {
+ 'name': '浪卡子县',
+ 'code': '540531'
+ }
+ ]
+ },
+ {
+ 'name': '那曲市',
+ 'code': '540600',
+ 'children': [
+ {
+ 'name': '色尼区',
+ 'code': '540602'
+ },
+ {
+ 'name': '嘉黎县',
+ 'code': '540621'
+ },
+ {
+ 'name': '比如县',
+ 'code': '540622'
+ },
+ {
+ 'name': '聂荣县',
+ 'code': '540623'
+ },
+ {
+ 'name': '安多县',
+ 'code': '540624'
+ },
+ {
+ 'name': '申扎县',
+ 'code': '540625'
+ },
+ {
+ 'name': '索县',
+ 'code': '540626'
+ },
+ {
+ 'name': '班戈县',
+ 'code': '540627'
+ },
+ {
+ 'name': '巴青县',
+ 'code': '540628'
+ },
+ {
+ 'name': '尼玛县',
+ 'code': '540629'
+ },
+ {
+ 'name': '双湖县',
+ 'code': '540630'
+ }
+ ]
+ },
+ {
+ 'name': '阿里地区',
+ 'code': '542500',
+ 'children': [
+ {
+ 'name': '普兰县',
+ 'code': '542521'
+ },
+ {
+ 'name': '札达县',
+ 'code': '542522'
+ },
+ {
+ 'name': '噶尔县',
+ 'code': '542523'
+ },
+ {
+ 'name': '日土县',
+ 'code': '542524'
+ },
+ {
+ 'name': '革吉县',
+ 'code': '542525'
+ },
+ {
+ 'name': '改则县',
+ 'code': '542526'
+ },
+ {
+ 'name': '措勤县',
+ 'code': '542527'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '陕西省',
+ 'code': '610000',
+ 'region': 'northwest',
+ 'children': [
+ {
+ 'name': '西安市',
+ 'code': '610100',
+ 'children': [
+ {
+ 'name': '新城区',
+ 'code': '610102'
+ },
+ {
+ 'name': '碑林区',
+ 'code': '610103'
+ },
+ {
+ 'name': '莲湖区',
+ 'code': '610104'
+ },
+ {
+ 'name': '灞桥区',
+ 'code': '610111'
+ },
+ {
+ 'name': '未央区',
+ 'code': '610112'
+ },
+ {
+ 'name': '雁塔区',
+ 'code': '610113'
+ },
+ {
+ 'name': '阎良区',
+ 'code': '610114'
+ },
+ {
+ 'name': '临潼区',
+ 'code': '610115'
+ },
+ {
+ 'name': '长安区',
+ 'code': '610116'
+ },
+ {
+ 'name': '高陵区',
+ 'code': '610117'
+ },
+ {
+ 'name': '鄠邑区',
+ 'code': '610118'
+ },
+ {
+ 'name': '蓝田县',
+ 'code': '610122'
+ },
+ {
+ 'name': '周至县',
+ 'code': '610124'
+ }
+ ]
+ },
+ {
+ 'name': '铜川市',
+ 'code': '610200',
+ 'children': [
+ {
+ 'name': '王益区',
+ 'code': '610202'
+ },
+ {
+ 'name': '印台区',
+ 'code': '610203'
+ },
+ {
+ 'name': '耀州区',
+ 'code': '610204'
+ },
+ {
+ 'name': '宜君县',
+ 'code': '610222'
+ }
+ ]
+ },
+ {
+ 'name': '宝鸡市',
+ 'code': '610300',
+ 'children': [
+ {
+ 'name': '渭滨区',
+ 'code': '610302'
+ },
+ {
+ 'name': '金台区',
+ 'code': '610303'
+ },
+ {
+ 'name': '陈仓区',
+ 'code': '610304'
+ },
+ {
+ 'name': '凤翔县',
+ 'code': '610322'
+ },
+ {
+ 'name': '岐山县',
+ 'code': '610323'
+ },
+ {
+ 'name': '扶风县',
+ 'code': '610324'
+ },
+ {
+ 'name': '眉县',
+ 'code': '610326'
+ },
+ {
+ 'name': '陇县',
+ 'code': '610327'
+ },
+ {
+ 'name': '千阳县',
+ 'code': '610328'
+ },
+ {
+ 'name': '麟游县',
+ 'code': '610329'
+ },
+ {
+ 'name': '凤县',
+ 'code': '610330'
+ },
+ {
+ 'name': '太白县',
+ 'code': '610331'
+ }
+ ]
+ },
+ {
+ 'name': '咸阳市',
+ 'code': '610400',
+ 'children': [
+ {
+ 'name': '秦都区',
+ 'code': '610402'
+ },
+ {
+ 'name': '杨陵区',
+ 'code': '610403'
+ },
+ {
+ 'name': '渭城区',
+ 'code': '610404'
+ },
+ {
+ 'name': '三原县',
+ 'code': '610422'
+ },
+ {
+ 'name': '泾阳县',
+ 'code': '610423'
+ },
+ {
+ 'name': '乾县',
+ 'code': '610424'
+ },
+ {
+ 'name': '礼泉县',
+ 'code': '610425'
+ },
+ {
+ 'name': '永寿县',
+ 'code': '610426'
+ },
+ {
+ 'name': '长武县',
+ 'code': '610428'
+ },
+ {
+ 'name': '旬邑县',
+ 'code': '610429'
+ },
+ {
+ 'name': '淳化县',
+ 'code': '610430'
+ },
+ {
+ 'name': '武功县',
+ 'code': '610431'
+ },
+ {
+ 'name': '兴平市',
+ 'code': '610481'
+ },
+ {
+ 'name': '彬州市',
+ 'code': '610482'
+ }
+ ]
+ },
+ {
+ 'name': '渭南市',
+ 'code': '610500',
+ 'children': [
+ {
+ 'name': '临渭区',
+ 'code': '610502'
+ },
+ {
+ 'name': '华州区',
+ 'code': '610503'
+ },
+ {
+ 'name': '潼关县',
+ 'code': '610522'
+ },
+ {
+ 'name': '大荔县',
+ 'code': '610523'
+ },
+ {
+ 'name': '合阳县',
+ 'code': '610524'
+ },
+ {
+ 'name': '澄城县',
+ 'code': '610525'
+ },
+ {
+ 'name': '蒲城县',
+ 'code': '610526'
+ },
+ {
+ 'name': '白水县',
+ 'code': '610527'
+ },
+ {
+ 'name': '富平县',
+ 'code': '610528'
+ },
+ {
+ 'name': '韩城市',
+ 'code': '610581'
+ },
+ {
+ 'name': '华阴市',
+ 'code': '610582'
+ }
+ ]
+ },
+ {
+ 'name': '延安市',
+ 'code': '610600',
+ 'children': [
+ {
+ 'name': '宝塔区',
+ 'code': '610602'
+ },
+ {
+ 'name': '安塞区',
+ 'code': '610603'
+ },
+ {
+ 'name': '延长县',
+ 'code': '610621'
+ },
+ {
+ 'name': '延川县',
+ 'code': '610622'
+ },
+ {
+ 'name': '子长县',
+ 'code': '610623'
+ },
+ {
+ 'name': '志丹县',
+ 'code': '610625'
+ },
+ {
+ 'name': '吴起县',
+ 'code': '610626'
+ },
+ {
+ 'name': '甘泉县',
+ 'code': '610627'
+ },
+ {
+ 'name': '富县',
+ 'code': '610628'
+ },
+ {
+ 'name': '洛川县',
+ 'code': '610629'
+ },
+ {
+ 'name': '宜川县',
+ 'code': '610630'
+ },
+ {
+ 'name': '黄龙县',
+ 'code': '610631'
+ },
+ {
+ 'name': '黄陵县',
+ 'code': '610632'
+ }
+ ]
+ },
+ {
+ 'name': '汉中市',
+ 'code': '610700',
+ 'children': [
+ {
+ 'name': '汉台区',
+ 'code': '610702'
+ },
+ {
+ 'name': '南郑区',
+ 'code': '610703'
+ },
+ {
+ 'name': '城固县',
+ 'code': '610722'
+ },
+ {
+ 'name': '洋县',
+ 'code': '610723'
+ },
+ {
+ 'name': '西乡县',
+ 'code': '610724'
+ },
+ {
+ 'name': '勉县',
+ 'code': '610725'
+ },
+ {
+ 'name': '宁强县',
+ 'code': '610726'
+ },
+ {
+ 'name': '略阳县',
+ 'code': '610727'
+ },
+ {
+ 'name': '镇巴县',
+ 'code': '610728'
+ },
+ {
+ 'name': '留坝县',
+ 'code': '610729'
+ },
+ {
+ 'name': '佛坪县',
+ 'code': '610730'
+ }
+ ]
+ },
+ {
+ 'name': '榆林市',
+ 'code': '610800',
+ 'children': [
+ {
+ 'name': '榆阳区',
+ 'code': '610802'
+ },
+ {
+ 'name': '横山区',
+ 'code': '610803'
+ },
+ {
+ 'name': '府谷县',
+ 'code': '610822'
+ },
+ {
+ 'name': '靖边县',
+ 'code': '610824'
+ },
+ {
+ 'name': '定边县',
+ 'code': '610825'
+ },
+ {
+ 'name': '绥德县',
+ 'code': '610826'
+ },
+ {
+ 'name': '米脂县',
+ 'code': '610827'
+ },
+ {
+ 'name': '佳县',
+ 'code': '610828'
+ },
+ {
+ 'name': '吴堡县',
+ 'code': '610829'
+ },
+ {
+ 'name': '清涧县',
+ 'code': '610830'
+ },
+ {
+ 'name': '子洲县',
+ 'code': '610831'
+ },
+ {
+ 'name': '神木市',
+ 'code': '610881'
+ }
+ ]
+ },
+ {
+ 'name': '安康市',
+ 'code': '610900',
+ 'children': [
+ {
+ 'name': '汉滨区',
+ 'code': '610902'
+ },
+ {
+ 'name': '汉阴县',
+ 'code': '610921'
+ },
+ {
+ 'name': '石泉县',
+ 'code': '610922'
+ },
+ {
+ 'name': '宁陕县',
+ 'code': '610923'
+ },
+ {
+ 'name': '紫阳县',
+ 'code': '610924'
+ },
+ {
+ 'name': '岚皋县',
+ 'code': '610925'
+ },
+ {
+ 'name': '平利县',
+ 'code': '610926'
+ },
+ {
+ 'name': '镇坪县',
+ 'code': '610927'
+ },
+ {
+ 'name': '旬阳县',
+ 'code': '610928'
+ },
+ {
+ 'name': '白河县',
+ 'code': '610929'
+ }
+ ]
+ },
+ {
+ 'name': '商洛市',
+ 'code': '611000',
+ 'children': [
+ {
+ 'name': '商州区',
+ 'code': '611002'
+ },
+ {
+ 'name': '洛南县',
+ 'code': '611021'
+ },
+ {
+ 'name': '丹凤县',
+ 'code': '611022'
+ },
+ {
+ 'name': '商南县',
+ 'code': '611023'
+ },
+ {
+ 'name': '山阳县',
+ 'code': '611024'
+ },
+ {
+ 'name': '镇安县',
+ 'code': '611025'
+ },
+ {
+ 'name': '柞水县',
+ 'code': '611026'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '甘肃省',
+ 'code': '620000',
+ 'region': 'northwest',
+ 'children': [
+ {
+ 'name': '兰州市',
+ 'code': '620100',
+ 'children': [
+ {
+ 'name': '城关区',
+ 'code': '620102'
+ },
+ {
+ 'name': '七里河区',
+ 'code': '620103'
+ },
+ {
+ 'name': '西固区',
+ 'code': '620104'
+ },
+ {
+ 'name': '安宁区',
+ 'code': '620105'
+ },
+ {
+ 'name': '红古区',
+ 'code': '620111'
+ },
+ {
+ 'name': '永登县',
+ 'code': '620121'
+ },
+ {
+ 'name': '皋兰县',
+ 'code': '620122'
+ },
+ {
+ 'name': '榆中县',
+ 'code': '620123'
+ }
+ ]
+ },
+ {
+ 'name': '嘉峪关市',
+ 'code': '620200',
+ 'children': []
+ },
+ {
+ 'name': '金昌市',
+ 'code': '620300',
+ 'children': [
+ {
+ 'name': '金川区',
+ 'code': '620302'
+ },
+ {
+ 'name': '永昌县',
+ 'code': '620321'
+ }
+ ]
+ },
+ {
+ 'name': '白银市',
+ 'code': '620400',
+ 'children': [
+ {
+ 'name': '白银区',
+ 'code': '620402'
+ },
+ {
+ 'name': '平川区',
+ 'code': '620403'
+ },
+ {
+ 'name': '靖远县',
+ 'code': '620421'
+ },
+ {
+ 'name': '会宁县',
+ 'code': '620422'
+ },
+ {
+ 'name': '景泰县',
+ 'code': '620423'
+ }
+ ]
+ },
+ {
+ 'name': '天水市',
+ 'code': '620500',
+ 'children': [
+ {
+ 'name': '秦州区',
+ 'code': '620502'
+ },
+ {
+ 'name': '麦积区',
+ 'code': '620503'
+ },
+ {
+ 'name': '清水县',
+ 'code': '620521'
+ },
+ {
+ 'name': '秦安县',
+ 'code': '620522'
+ },
+ {
+ 'name': '甘谷县',
+ 'code': '620523'
+ },
+ {
+ 'name': '武山县',
+ 'code': '620524'
+ },
+ {
+ 'name': '张家川回族自治县',
+ 'code': '620525'
+ }
+ ]
+ },
+ {
+ 'name': '武威市',
+ 'code': '620600',
+ 'children': [
+ {
+ 'name': '凉州区',
+ 'code': '620602'
+ },
+ {
+ 'name': '民勤县',
+ 'code': '620621'
+ },
+ {
+ 'name': '古浪县',
+ 'code': '620622'
+ },
+ {
+ 'name': '天祝藏族自治县',
+ 'code': '620623'
+ }
+ ]
+ },
+ {
+ 'name': '张掖市',
+ 'code': '620700',
+ 'children': [
+ {
+ 'name': '甘州区',
+ 'code': '620702'
+ },
+ {
+ 'name': '肃南裕固族自治县',
+ 'code': '620721'
+ },
+ {
+ 'name': '民乐县',
+ 'code': '620722'
+ },
+ {
+ 'name': '临泽县',
+ 'code': '620723'
+ },
+ {
+ 'name': '高台县',
+ 'code': '620724'
+ },
+ {
+ 'name': '山丹县',
+ 'code': '620725'
+ }
+ ]
+ },
+ {
+ 'name': '平凉市',
+ 'code': '620800',
+ 'children': [
+ {
+ 'name': '崆峒区',
+ 'code': '620802'
+ },
+ {
+ 'name': '泾川县',
+ 'code': '620821'
+ },
+ {
+ 'name': '灵台县',
+ 'code': '620822'
+ },
+ {
+ 'name': '崇信县',
+ 'code': '620823'
+ },
+ {
+ 'name': '庄浪县',
+ 'code': '620825'
+ },
+ {
+ 'name': '静宁县',
+ 'code': '620826'
+ },
+ {
+ 'name': '华亭市',
+ 'code': '620881'
+ }
+ ]
+ },
+ {
+ 'name': '酒泉市',
+ 'code': '620900',
+ 'children': [
+ {
+ 'name': '肃州区',
+ 'code': '620902'
+ },
+ {
+ 'name': '金塔县',
+ 'code': '620921'
+ },
+ {
+ 'name': '瓜州县',
+ 'code': '620922'
+ },
+ {
+ 'name': '肃北蒙古族自治县',
+ 'code': '620923'
+ },
+ {
+ 'name': '阿克塞哈萨克族自治县',
+ 'code': '620924'
+ },
+ {
+ 'name': '玉门市',
+ 'code': '620981'
+ },
+ {
+ 'name': '敦煌市',
+ 'code': '620982'
+ }
+ ]
+ },
+ {
+ 'name': '庆阳市',
+ 'code': '621000',
+ 'children': [
+ {
+ 'name': '西峰区',
+ 'code': '621002'
+ },
+ {
+ 'name': '庆城县',
+ 'code': '621021'
+ },
+ {
+ 'name': '环县',
+ 'code': '621022'
+ },
+ {
+ 'name': '华池县',
+ 'code': '621023'
+ },
+ {
+ 'name': '合水县',
+ 'code': '621024'
+ },
+ {
+ 'name': '正宁县',
+ 'code': '621025'
+ },
+ {
+ 'name': '宁县',
+ 'code': '621026'
+ },
+ {
+ 'name': '镇原县',
+ 'code': '621027'
+ }
+ ]
+ },
+ {
+ 'name': '定西市',
+ 'code': '621100',
+ 'children': [
+ {
+ 'name': '安定区',
+ 'code': '621102'
+ },
+ {
+ 'name': '通渭县',
+ 'code': '621121'
+ },
+ {
+ 'name': '陇西县',
+ 'code': '621122'
+ },
+ {
+ 'name': '渭源县',
+ 'code': '621123'
+ },
+ {
+ 'name': '临洮县',
+ 'code': '621124'
+ },
+ {
+ 'name': '漳县',
+ 'code': '621125'
+ },
+ {
+ 'name': '岷县',
+ 'code': '621126'
+ }
+ ]
+ },
+ {
+ 'name': '陇南市',
+ 'code': '621200',
+ 'children': [
+ {
+ 'name': '武都区',
+ 'code': '621202'
+ },
+ {
+ 'name': '成县',
+ 'code': '621221'
+ },
+ {
+ 'name': '文县',
+ 'code': '621222'
+ },
+ {
+ 'name': '宕昌县',
+ 'code': '621223'
+ },
+ {
+ 'name': '康县',
+ 'code': '621224'
+ },
+ {
+ 'name': '西和县',
+ 'code': '621225'
+ },
+ {
+ 'name': '礼县',
+ 'code': '621226'
+ },
+ {
+ 'name': '徽县',
+ 'code': '621227'
+ },
+ {
+ 'name': '两当县',
+ 'code': '621228'
+ }
+ ]
+ },
+ {
+ 'name': '临夏回族自治州',
+ 'code': '622900',
+ 'children': [
+ {
+ 'name': '临夏市',
+ 'code': '622901'
+ },
+ {
+ 'name': '临夏县',
+ 'code': '622921'
+ },
+ {
+ 'name': '康乐县',
+ 'code': '622922'
+ },
+ {
+ 'name': '永靖县',
+ 'code': '622923'
+ },
+ {
+ 'name': '广河县',
+ 'code': '622924'
+ },
+ {
+ 'name': '和政县',
+ 'code': '622925'
+ },
+ {
+ 'name': '东乡族自治县',
+ 'code': '622926'
+ },
+ {
+ 'name': '积石山保安族东乡族撒拉族自治县',
+ 'code': '622927'
+ }
+ ]
+ },
+ {
+ 'name': '甘南藏族自治州',
+ 'code': '623000',
+ 'children': [
+ {
+ 'name': '合作市',
+ 'code': '623001'
+ },
+ {
+ 'name': '临潭县',
+ 'code': '623021'
+ },
+ {
+ 'name': '卓尼县',
+ 'code': '623022'
+ },
+ {
+ 'name': '舟曲县',
+ 'code': '623023'
+ },
+ {
+ 'name': '迭部县',
+ 'code': '623024'
+ },
+ {
+ 'name': '玛曲县',
+ 'code': '623025'
+ },
+ {
+ 'name': '碌曲县',
+ 'code': '623026'
+ },
+ {
+ 'name': '夏河县',
+ 'code': '623027'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '青海省',
+ 'code': '630000',
+ 'region': 'northwest',
+ 'children': [
+ {
+ 'name': '西宁市',
+ 'code': '630100',
+ 'children': [
+ {
+ 'name': '城东区',
+ 'code': '630102'
+ },
+ {
+ 'name': '城中区',
+ 'code': '630103'
+ },
+ {
+ 'name': '城西区',
+ 'code': '630104'
+ },
+ {
+ 'name': '城北区',
+ 'code': '630105'
+ },
+ {
+ 'name': '大通回族土族自治县',
+ 'code': '630121'
+ },
+ {
+ 'name': '湟中县',
+ 'code': '630122'
+ },
+ {
+ 'name': '湟源县',
+ 'code': '630123'
+ }
+ ]
+ },
+ {
+ 'name': '海东市',
+ 'code': '630200',
+ 'children': [
+ {
+ 'name': '乐都区',
+ 'code': '630202'
+ },
+ {
+ 'name': '平安区',
+ 'code': '630203'
+ },
+ {
+ 'name': '民和回族土族自治县',
+ 'code': '630222'
+ },
+ {
+ 'name': '互助土族自治县',
+ 'code': '630223'
+ },
+ {
+ 'name': '化隆回族自治县',
+ 'code': '630224'
+ },
+ {
+ 'name': '循化撒拉族自治县',
+ 'code': '630225'
+ }
+ ]
+ },
+ {
+ 'name': '海北藏族自治州',
+ 'code': '632200',
+ 'children': [
+ {
+ 'name': '门源回族自治县',
+ 'code': '632221'
+ },
+ {
+ 'name': '祁连县',
+ 'code': '632222'
+ },
+ {
+ 'name': '海晏县',
+ 'code': '632223'
+ },
+ {
+ 'name': '刚察县',
+ 'code': '632224'
+ }
+ ]
+ },
+ {
+ 'name': '黄南藏族自治州',
+ 'code': '632300',
+ 'children': [
+ {
+ 'name': '同仁县',
+ 'code': '632321'
+ },
+ {
+ 'name': '尖扎县',
+ 'code': '632322'
+ },
+ {
+ 'name': '泽库县',
+ 'code': '632323'
+ },
+ {
+ 'name': '河南蒙古族自治县',
+ 'code': '632324'
+ }
+ ]
+ },
+ {
+ 'name': '海南藏族自治州',
+ 'code': '632500',
+ 'children': [
+ {
+ 'name': '共和县',
+ 'code': '632521'
+ },
+ {
+ 'name': '同德县',
+ 'code': '632522'
+ },
+ {
+ 'name': '贵德县',
+ 'code': '632523'
+ },
+ {
+ 'name': '兴海县',
+ 'code': '632524'
+ },
+ {
+ 'name': '贵南县',
+ 'code': '632525'
+ }
+ ]
+ },
+ {
+ 'name': '果洛藏族自治州',
+ 'code': '632600',
+ 'children': [
+ {
+ 'name': '玛沁县',
+ 'code': '632621'
+ },
+ {
+ 'name': '班玛县',
+ 'code': '632622'
+ },
+ {
+ 'name': '甘德县',
+ 'code': '632623'
+ },
+ {
+ 'name': '达日县',
+ 'code': '632624'
+ },
+ {
+ 'name': '久治县',
+ 'code': '632625'
+ },
+ {
+ 'name': '玛多县',
+ 'code': '632626'
+ }
+ ]
+ },
+ {
+ 'name': '玉树藏族自治州',
+ 'code': '632700',
+ 'children': [
+ {
+ 'name': '玉树市',
+ 'code': '632701'
+ },
+ {
+ 'name': '杂多县',
+ 'code': '632722'
+ },
+ {
+ 'name': '称多县',
+ 'code': '632723'
+ },
+ {
+ 'name': '治多县',
+ 'code': '632724'
+ },
+ {
+ 'name': '囊谦县',
+ 'code': '632725'
+ },
+ {
+ 'name': '曲麻莱县',
+ 'code': '632726'
+ }
+ ]
+ },
+ {
+ 'name': '海西蒙古族藏族自治州',
+ 'code': '632800',
+ 'children': [
+ {
+ 'name': '格尔木市',
+ 'code': '632801'
+ },
+ {
+ 'name': '德令哈市',
+ 'code': '632802'
+ },
+ {
+ 'name': '茫崖市',
+ 'code': '632803'
+ },
+ {
+ 'name': '乌兰县',
+ 'code': '632821'
+ },
+ {
+ 'name': '都兰县',
+ 'code': '632822'
+ },
+ {
+ 'name': '天峻县',
+ 'code': '632823'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '宁夏回族自治区',
+ 'code': '640000',
+ 'region': 'northwest',
+ 'autonomousRegion': true,
+ 'children': [
+ {
+ 'name': '银川市',
+ 'code': '640100',
+ 'children': [
+ {
+ 'name': '兴庆区',
+ 'code': '640104'
+ },
+ {
+ 'name': '西夏区',
+ 'code': '640105'
+ },
+ {
+ 'name': '金凤区',
+ 'code': '640106'
+ },
+ {
+ 'name': '永宁县',
+ 'code': '640121'
+ },
+ {
+ 'name': '贺兰县',
+ 'code': '640122'
+ },
+ {
+ 'name': '灵武市',
+ 'code': '640181'
+ }
+ ]
+ },
+ {
+ 'name': '石嘴山市',
+ 'code': '640200',
+ 'children': [
+ {
+ 'name': '大武口区',
+ 'code': '640202'
+ },
+ {
+ 'name': '惠农区',
+ 'code': '640205'
+ },
+ {
+ 'name': '平罗县',
+ 'code': '640221'
+ }
+ ]
+ },
+ {
+ 'name': '吴忠市',
+ 'code': '640300',
+ 'children': [
+ {
+ 'name': '利通区',
+ 'code': '640302'
+ },
+ {
+ 'name': '红寺堡区',
+ 'code': '640303'
+ },
+ {
+ 'name': '盐池县',
+ 'code': '640323'
+ },
+ {
+ 'name': '同心县',
+ 'code': '640324'
+ },
+ {
+ 'name': '青铜峡市',
+ 'code': '640381'
+ }
+ ]
+ },
+ {
+ 'name': '固原市',
+ 'code': '640400',
+ 'children': [
+ {
+ 'name': '原州区',
+ 'code': '640402'
+ },
+ {
+ 'name': '西吉县',
+ 'code': '640422'
+ },
+ {
+ 'name': '隆德县',
+ 'code': '640423'
+ },
+ {
+ 'name': '泾源县',
+ 'code': '640424'
+ },
+ {
+ 'name': '彭阳县',
+ 'code': '640425'
+ }
+ ]
+ },
+ {
+ 'name': '中卫市',
+ 'code': '640500',
+ 'children': [
+ {
+ 'name': '沙坡头区',
+ 'code': '640502'
+ },
+ {
+ 'name': '中宁县',
+ 'code': '640521'
+ },
+ {
+ 'name': '海原县',
+ 'code': '640522'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ 'name': '新疆维吾尔自治区',
+ 'code': '650000',
+ 'region': 'northwest',
+ 'autonomousRegion': true,
+ 'children': [
+ {
+ 'name': '乌鲁木齐市',
+ 'code': '650100',
+ 'children': [
+ {
+ 'name': '天山区',
+ 'code': '650102'
+ },
+ {
+ 'name': '沙依巴克区',
+ 'code': '650103'
+ },
+ {
+ 'name': '新市区',
+ 'code': '650104'
+ },
+ {
+ 'name': '水磨沟区',
+ 'code': '650105'
+ },
+ {
+ 'name': '头屯河区',
+ 'code': '650106'
+ },
+ {
+ 'name': '达坂城区',
+ 'code': '650107'
+ },
+ {
+ 'name': '米东区',
+ 'code': '650109'
+ },
+ {
+ 'name': '乌鲁木齐县',
+ 'code': '650121'
+ }
+ ]
+ },
+ {
+ 'name': '克拉玛依市',
+ 'code': '650200',
+ 'children': [
+ {
+ 'name': '独山子区',
+ 'code': '650202'
+ },
+ {
+ 'name': '克拉玛依区',
+ 'code': '650203'
+ },
+ {
+ 'name': '白碱滩区',
+ 'code': '650204'
+ },
+ {
+ 'name': '乌尔禾区',
+ 'code': '650205'
+ }
+ ]
+ },
+ {
+ 'name': '吐鲁番市',
+ 'code': '650400',
+ 'children': [
+ {
+ 'name': '高昌区',
+ 'code': '650402'
+ },
+ {
+ 'name': '鄯善县',
+ 'code': '650421'
+ },
+ {
+ 'name': '托克逊县',
+ 'code': '650422'
+ }
+ ]
+ },
+ {
+ 'name': '哈密市',
+ 'code': '650500',
+ 'children': [
+ {
+ 'name': '伊州区',
+ 'code': '650502'
+ },
+ {
+ 'name': '巴里坤哈萨克自治县',
+ 'code': '650521'
+ },
+ {
+ 'name': '伊吾县',
+ 'code': '650522'
+ }
+ ]
+ },
+ {
+ 'name': '昌吉回族自治州',
+ 'code': '652300',
+ 'children': [
+ {
+ 'name': '昌吉市',
+ 'code': '652301'
+ },
+ {
+ 'name': '阜康市',
+ 'code': '652302'
+ },
+ {
+ 'name': '呼图壁县',
+ 'code': '652323'
+ },
+ {
+ 'name': '玛纳斯县',
+ 'code': '652324'
+ },
+ {
+ 'name': '奇台县',
+ 'code': '652325'
+ },
+ {
+ 'name': '吉木萨尔县',
+ 'code': '652327'
+ },
+ {
+ 'name': '木垒哈萨克自治县',
+ 'code': '652328'
+ }
+ ]
+ },
+ {
+ 'name': '博尔塔拉蒙古自治州',
+ 'code': '652700',
+ 'children': [
+ {
+ 'name': '博乐市',
+ 'code': '652701'
+ },
+ {
+ 'name': '阿拉山口市',
+ 'code': '652702'
+ },
+ {
+ 'name': '精河县',
+ 'code': '652722'
+ },
+ {
+ 'name': '温泉县',
+ 'code': '652723'
+ }
+ ]
+ },
+ {
+ 'name': '巴音郭楞蒙古自治州',
+ 'code': '652800',
+ 'children': [
+ {
+ 'name': '库尔勒市',
+ 'code': '652801'
+ },
+ {
+ 'name': '轮台县',
+ 'code': '652822'
+ },
+ {
+ 'name': '尉犁县',
+ 'code': '652823'
+ },
+ {
+ 'name': '若羌县',
+ 'code': '652824'
+ },
+ {
+ 'name': '且末县',
+ 'code': '652825'
+ },
+ {
+ 'name': '焉耆回族自治县',
+ 'code': '652826'
+ },
+ {
+ 'name': '和静县',
+ 'code': '652827'
+ },
+ {
+ 'name': '和硕县',
+ 'code': '652828'
+ },
+ {
+ 'name': '博湖县',
+ 'code': '652829'
+ }
+ ]
+ },
+ {
+ 'name': '阿克苏地区',
+ 'code': '652900',
+ 'children': [
+ {
+ 'name': '阿克苏市',
+ 'code': '652901'
+ },
+ {
+ 'name': '温宿县',
+ 'code': '652922'
+ },
+ {
+ 'name': '库车县',
+ 'code': '652923'
+ },
+ {
+ 'name': '沙雅县',
+ 'code': '652924'
+ },
+ {
+ 'name': '新和县',
+ 'code': '652925'
+ },
+ {
+ 'name': '拜城县',
+ 'code': '652926'
+ },
+ {
+ 'name': '乌什县',
+ 'code': '652927'
+ },
+ {
+ 'name': '阿瓦提县',
+ 'code': '652928'
+ },
+ {
+ 'name': '柯坪县',
+ 'code': '652929'
+ }
+ ]
+ },
+ {
+ 'name': '克孜勒苏柯尔克孜自治州',
+ 'code': '653000',
+ 'children': [
+ {
+ 'name': '阿图什市',
+ 'code': '653001'
+ },
+ {
+ 'name': '阿克陶县',
+ 'code': '653022'
+ },
+ {
+ 'name': '阿合奇县',
+ 'code': '653023'
+ },
+ {
+ 'name': '乌恰县',
+ 'code': '653024'
+ }
+ ]
+ },
+ {
+ 'name': '喀什地区',
+ 'code': '653100',
+ 'children': [
+ {
+ 'name': '喀什市',
+ 'code': '653101'
+ },
+ {
+ 'name': '疏附县',
+ 'code': '653121'
+ },
+ {
+ 'name': '疏勒县',
+ 'code': '653122'
+ },
+ {
+ 'name': '英吉沙县',
+ 'code': '653123'
+ },
+ {
+ 'name': '泽普县',
+ 'code': '653124'
+ },
+ {
+ 'name': '莎车县',
+ 'code': '653125'
+ },
+ {
+ 'name': '叶城县',
+ 'code': '653126'
+ },
+ {
+ 'name': '麦盖提县',
+ 'code': '653127'
+ },
+ {
+ 'name': '岳普湖县',
+ 'code': '653128'
+ },
+ {
+ 'name': '伽师县',
+ 'code': '653129'
+ },
+ {
+ 'name': '巴楚县',
+ 'code': '653130'
+ },
+ {
+ 'name': '塔什库尔干塔吉克自治县',
+ 'code': '653131'
+ }
+ ]
+ },
+ {
+ 'name': '和田地区',
+ 'code': '653200',
+ 'children': [
+ {
+ 'name': '和田市',
+ 'code': '653201'
+ },
+ {
+ 'name': '和田县',
+ 'code': '653221'
+ },
+ {
+ 'name': '墨玉县',
+ 'code': '653222'
+ },
+ {
+ 'name': '皮山县',
+ 'code': '653223'
+ },
+ {
+ 'name': '洛浦县',
+ 'code': '653224'
+ },
+ {
+ 'name': '策勒县',
+ 'code': '653225'
+ },
+ {
+ 'name': '于田县',
+ 'code': '653226'
+ },
+ {
+ 'name': '民丰县',
+ 'code': '653227'
+ }
+ ]
+ },
+ {
+ 'name': '伊犁哈萨克自治州',
+ 'code': '654000',
+ 'children': [
+ {
+ 'name': '伊宁市',
+ 'code': '654002'
+ },
+ {
+ 'name': '奎屯市',
+ 'code': '654003'
+ },
+ {
+ 'name': '霍尔果斯市',
+ 'code': '654004'
+ },
+ {
+ 'name': '伊宁县',
+ 'code': '654021'
+ },
+ {
+ 'name': '察布查尔锡伯自治县',
+ 'code': '654022'
+ },
+ {
+ 'name': '霍城县',
+ 'code': '654023'
+ },
+ {
+ 'name': '巩留县',
+ 'code': '654024'
+ },
+ {
+ 'name': '新源县',
+ 'code': '654025'
+ },
+ {
+ 'name': '昭苏县',
+ 'code': '654026'
+ },
+ {
+ 'name': '特克斯县',
+ 'code': '654027'
+ },
+ {
+ 'name': '尼勒克县',
+ 'code': '654028'
+ }
+ ]
+ },
+ {
+ 'name': '塔城地区',
+ 'code': '654200',
+ 'children': [
+ {
+ 'name': '塔城市',
+ 'code': '654201'
+ },
+ {
+ 'name': '乌苏市',
+ 'code': '654202'
+ },
+ {
+ 'name': '额敏县',
+ 'code': '654221'
+ },
+ {
+ 'name': '沙湾县',
+ 'code': '654223'
+ },
+ {
+ 'name': '托里县',
+ 'code': '654224'
+ },
+ {
+ 'name': '裕民县',
+ 'code': '654225'
+ },
+ {
+ 'name': '和布克赛尔蒙古自治县',
+ 'code': '654226'
+ }
+ ]
+ },
+ {
+ 'name': '阿勒泰地区',
+ 'code': '654300',
+ 'children': [
+ {
+ 'name': '阿勒泰市',
+ 'code': '654301'
+ },
+ {
+ 'name': '布尔津县',
+ 'code': '654321'
+ },
+ {
+ 'name': '富蕴县',
+ 'code': '654322'
+ },
+ {
+ 'name': '福海县',
+ 'code': '654323'
+ },
+ {
+ 'name': '哈巴河县',
+ 'code': '654324'
+ },
+ {
+ 'name': '青河县',
+ 'code': '654325'
+ },
+ {
+ 'name': '吉木乃县',
+ 'code': '654326'
+ }
+ ]
+ },
+ {
+ 'name': '直辖县',
+ 'code': '659000',
+ 'children': [
+ {
+ 'name': '石河子市',
+ 'code': '659001'
+ },
+ {
+ 'name': '阿拉尔市',
+ 'code': '659002'
+ },
+ {
+ 'name': '图木舒克市',
+ 'code': '659003'
+ },
+ {
+ 'name': '五家渠市',
+ 'code': '659004'
+ },
+ {
+ 'name': '北屯市',
+ 'code': '659005'
+ },
+ {
+ 'name': '铁门关市',
+ 'code': '659006'
+ },
+ {
+ 'name': '双河市',
+ 'code': '659007'
+ },
+ {
+ 'name': '可克达拉市',
+ 'code': '659008'
+ },
+ {
+ 'name': '昆玉市',
+ 'code': '659009'
+ }
+ ]
+ }
+ ]
+ }
+]
+
+export default area
diff --git a/src/util/auth.js b/src/util/auth.js
new file mode 100644
index 00000000..a00ef075
--- /dev/null
+++ b/src/util/auth.js
@@ -0,0 +1,23 @@
+import { auth, authAll } from '@/util'
+
+export default {
+ install(Vue) {
+ Vue.prototype.$auth = auth
+ Vue.prototype.$authAll = authAll
+ // 注册 v-auth 和 v-auth-all 指令
+ Vue.directive('auth', {
+ inserted: (el, binding) => {
+ if (!auth(binding.value)) {
+ el.remove()
+ }
+ }
+ })
+ Vue.directive('auth-all', {
+ inserted: (el, binding) => {
+ if (!authAll(binding.value)) {
+ el.remove()
+ }
+ }
+ })
+ }
+}
diff --git a/src/util/index.js b/src/util/index.js
new file mode 100644
index 00000000..da6df843
--- /dev/null
+++ b/src/util/index.js
@@ -0,0 +1,53 @@
+import store from '@/store/index'
+
+export function deepClone(target) {
+ // 定义一个变量
+ let result
+ // 如果当前需要深拷贝的是一个对象的话
+ if (typeof target === 'object') {
+ // 如果是一个数组的话
+ if (Array.isArray(target)) {
+ result = [] // 将result赋值为一个数组,并且执行遍历
+ for (let i in target) {
+ // 递归克隆数组中的每一项
+ result.push(deepClone(target[i]))
+ }
+ // 判断如果当前的值是null的话;直接赋值为null
+ } else if (target === null) {
+ result = null
+ // 判断如果当前的值是一个RegExp对象的话,直接赋值
+ } else if (target.constructor === RegExp) {
+ result = target
+ } else {
+ // 否则是普通对象,直接for in循环,递归赋值对象的所有值
+ result = {}
+ for (let i in target) {
+ result[i] = deepClone(target[i])
+ }
+ }
+ // 如果不是对象的话,就是基本数据类型,那么直接赋值
+ } else {
+ result = target
+ }
+ // 返回最终结果
+ return result
+}
+
+export function auth(value) {
+ let auth
+ if (typeof value === 'string') {
+ auth = store.getters['global/hasPermission'](value)
+ } else {
+ auth = value.some(item => {
+ return store.getters['global/hasPermission'](item)
+ })
+ }
+ return auth
+}
+
+export function authAll(value) {
+ const auth = value.every(item => {
+ return store.getters['global/hasPermission'](item)
+ })
+ return auth
+}
diff --git a/src/views/404.vue b/src/views/404.vue
new file mode 100644
index 00000000..9d4c192f
--- /dev/null
+++ b/src/views/404.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
404
+
抱歉,你访问的页面不存在
+
{{ countdown }}秒后,返回首页
+
+
+
+
+
+
+
diff --git a/src/views/breadcrumb_example/detail1.vue b/src/views/breadcrumb_example/detail1.vue
new file mode 100644
index 00000000..b5583c8a
--- /dev/null
+++ b/src/views/breadcrumb_example/detail1.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/breadcrumb_example/detail2.vue b/src/views/breadcrumb_example/detail2.vue
new file mode 100644
index 00000000..b5583c8a
--- /dev/null
+++ b/src/views/breadcrumb_example/detail2.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/breadcrumb_example/list1.vue b/src/views/breadcrumb_example/list1.vue
new file mode 100644
index 00000000..51ceaeae
--- /dev/null
+++ b/src/views/breadcrumb_example/list1.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/breadcrumb_example/list2.vue b/src/views/breadcrumb_example/list2.vue
new file mode 100644
index 00000000..f257bc93
--- /dev/null
+++ b/src/views/breadcrumb_example/list2.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/component_example/actionbar.vue b/src/views/component_example/actionbar.vue
new file mode 100644
index 00000000..db107d3e
--- /dev/null
+++ b/src/views/component_example/actionbar.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即创建
+ 取消
+
+
+
+
+
diff --git a/src/views/component_example/area.vue b/src/views/component_example/area.vue
new file mode 100644
index 00000000..306dd405
--- /dev/null
+++ b/src/views/component_example/area.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/src/views/component_example/batchactionbar.vue b/src/views/component_example/batchactionbar.vue
new file mode 100644
index 00000000..ea849e8f
--- /dev/null
+++ b/src/views/component_example/batchactionbar.vue
@@ -0,0 +1,67 @@
+
+
+
+
+ 单个批量操作按钮
+
+ 批量操作按钮组1
+ 批量操作按钮组2
+
+
+
+
+
+
+
+
+
+ 单个批量操作按钮
+
+ 批量操作按钮组1
+ 批量操作按钮组2
+
+
+
+
+
+
+
+
+
diff --git a/src/views/component_example/editor.vue b/src/views/component_example/editor.vue
new file mode 100644
index 00000000..47165cbb
--- /dev/null
+++ b/src/views/component_example/editor.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/src/views/component_example/image.preview.vue b/src/views/component_example/image.preview.vue
new file mode 100644
index 00000000..7b780abc
--- /dev/null
+++ b/src/views/component_example/image.preview.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/src/views/component_example/pageheader.vue b/src/views/component_example/pageheader.vue
new file mode 100644
index 00000000..2d4dc110
--- /dev/null
+++ b/src/views/component_example/pageheader.vue
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/views/component_example/pagemain.vue b/src/views/component_example/pagemain.vue
new file mode 100644
index 00000000..9339a680
--- /dev/null
+++ b/src/views/component_example/pagemain.vue
@@ -0,0 +1,7 @@
+
+
+
+ <page-main></page-main> 是最常用的页面组件,几乎所有页面都会使用到
+
+
+
diff --git a/src/views/component_example/result.vue b/src/views/component_example/result.vue
new file mode 100644
index 00000000..c2a415d2
--- /dev/null
+++ b/src/views/component_example/result.vue
@@ -0,0 +1,21 @@
+
+
+
+
+ 返回列表
+ 打印
+
+
+
+
+ 返回修改
+
+
+
+
diff --git a/src/views/component_example/searchbar.vue b/src/views/component_example/searchbar.vue
new file mode 100644
index 00000000..80150756
--- /dev/null
+++ b/src/views/component_example/searchbar.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 备选项
+ 备选项
+
+
+
+
+ 筛选
+ 导出
+ 查看已导出记录
+
+
+
+
+
+
+
+
diff --git a/src/views/component_example/table.autoheight.vue b/src/views/component_example/table.autoheight.vue
new file mode 100644
index 00000000..561fb2fb
--- /dev/null
+++ b/src/views/component_example/table.autoheight.vue
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
diff --git a/src/views/component_example/trend.vue b/src/views/component_example/trend.vue
new file mode 100644
index 00000000..ce2a2666
--- /dev/null
+++ b/src/views/component_example/trend.vue
@@ -0,0 +1,28 @@
+
+
+
+
+ 基础用法
+
+
+
+
+
+
+ 颜色反转
+
+
+
+
+
+
+ 前缀后缀
+
+
+
+
+
+
+
+
+
diff --git a/src/views/component_example/upload.vue b/src/views/component_example/upload.vue
new file mode 100644
index 00000000..d0919eda
--- /dev/null
+++ b/src/views/component_example/upload.vue
@@ -0,0 +1,61 @@
+
+
+
+ 单图上传
+
+ 多图上传(默认最多3张)
+
+ 文件上传(默认最多3个)
+
+
+
+
+
+
diff --git a/src/views/index.vue b/src/views/index.vue
new file mode 100644
index 00000000..e5f3a325
--- /dev/null
+++ b/src/views/index.vue
@@ -0,0 +1,174 @@
+
+
+
+
+ 开发文档
+ 代码仓库
+
+
+
+ Fantastic-admin 介绍
+
+
+
+
+
+
+ {{ scope.row.basic }}
+
+
+
+
+
+ {{ scope.row.pro }}
+
+
+
+
+
+
+ 什么样的场景适合用专业版?
+
+ - 没有前端开发人员的小型公司。据了解,有些小型公司没有前端开发人员,而这些公司在开发中后台系统的时候,直接要求后端开发人员来进行开发工作。所以借助 Vue 的易学习易上手特性,再加上本框架的加持,可以让后端开发人员能在短时间内转型成为全栈开发。
+ - 前端开发人员不足的中小型公司。根据招聘网站统计,几乎所有公司都缺前端,其中有很大一部分中小型公司标配只有1-2名前端开发人员,而这些公司在开发中后台系统的时候,如果能有一套现成的中后台框架系统,不仅能提高项目开发效率,同时还大大减轻前端开发人员工作压力。
+ - 项目型公司。特点为项目多,周期短,甲方对页面布局和主题风格有绝对话语权,而通过专业版提供的 12 套页面布局和 5 款主题风格(共计 60 种)可应对绝大部分甲方需求,并且可自定义扩展主题风格的样式,实现高度定制化。
+ - 产品型公司。产品型公司最担心的就是产品开发中代码不可控的因素,本框架除了提供完善的开发文档和代码注释外,作者还提供一对一的技术支持,确保开发人员尽可能理解整套框架源码的方方面面,为产品保驾护航。
+ - 接私活的个人开发者。手里能有一套可高度定制化的中后台框架,什么项目都不用担心啦~
+
+ 与同类产品对比,优势体现在哪?
+
+ - 作者拥有10年+的前后端开发经验。部分框架的作者由于天然缺少后端开发经验,可能会在设计框架的时候,很少或者没有考虑后端的实现逻辑,导致框架在实际使用中,业务场景无法落地,开发人员得通过修改源码自行实现业务。
+ - 经历过数十个真实项目的打磨。没用在真实业务场景中使用过的框架都是纸飞机,哪怕它提供的演示功能特别华丽。而本框架在作者就职的公司,已经稳定应用在电商、直播、OA、CRM、ERP等多个不同领域的中后台系统中。
+ - 拒绝无脑的堆料。就像国内早期的手机企业,由于缺少技术实力,在制造手机上只能无脑的塞第三方的顶级硬件,追求参数配置,俗称堆料,实际实用体验却一塌糊涂。网上大部分同类中后台框架产品目前就像如此,塞了一大堆第三方插件。本框架在引用第三方插件的基础上,借助以往项目经验,沉淀并总结出每个第三方插件的最佳实践,部分进行二次封装形成组件,方便开发人员使用。
+ - 后续将更新业务应用页面。通过项目积累,沉淀出数十个业务应用的静态页面,做到开发人员拿来即可使用,极大提升开发效率的同时,还省去了产品和设计人员的工作。
+
+ 不购买专业版可不可以?
+ 当然可以,我们鼓励理性消费,希望你在购买前能详细对比基础版与专业版的功能。如果基础版的功能已经能满足你的需求,那就使用基础版;如果有更复杂的需求,更多的应用场景,我们才会建议你购买专业版。
+ 需要注意,基础版基于 MIT 开源协议,在不删除和修改作者版权信息的前提下,可以进行商用。专业版则不限制。
+ 两个版本都长期维护吗?
+ 都长期维护,但侧重不同。基础版侧重于稳定性维护,主要在修复 bug ,不定期增加新特性;而专业版侧重于新特性开发,在确保稳定的基础上,会长期深挖中后台系统框架,持续产出可落地的特性或开发规范。
+ 如何购买专业版?
+ 请先加作者 QQ :304327508 ,备注来意,然后通过下方微信或支付宝进行支付,建议支付时备注上自己的 QQ 号,支付成功后会邀请进专业版客户群,可在群文件里下载专业版演示源码和模版源码。
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/keep_alive_example/detail.vue b/src/views/keep_alive_example/detail.vue
new file mode 100644
index 00000000..4a621b90
--- /dev/null
+++ b/src/views/keep_alive_example/detail.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/src/views/keep_alive_example/page.vue b/src/views/keep_alive_example/page.vue
new file mode 100644
index 00000000..0ab37084
--- /dev/null
+++ b/src/views/keep_alive_example/page.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+ 进入同级路由页面
+ 进入下级路由页面
+ 进入下下级路由页面
+
+
+
+
+
+
+
+
diff --git a/src/views/login.vue b/src/views/login.vue
new file mode 100644
index 00000000..c04e2c58
--- /dev/null
+++ b/src/views/login.vue
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ title }}管理后台
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 记住我
+ 登录
+
+ 演示帐号一键登录:admin或test
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/multilevel_menu_example/level2/level3/page1.vue b/src/views/multilevel_menu_example/level2/level3/page1.vue
new file mode 100644
index 00000000..c0e1ae94
--- /dev/null
+++ b/src/views/multilevel_menu_example/level2/level3/page1.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/multilevel_menu_example/level2/level3/page2.vue b/src/views/multilevel_menu_example/level2/level3/page2.vue
new file mode 100644
index 00000000..c77011cd
--- /dev/null
+++ b/src/views/multilevel_menu_example/level2/level3/page2.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/multilevel_menu_example/level2/page.vue b/src/views/multilevel_menu_example/level2/page.vue
new file mode 100644
index 00000000..77118409
--- /dev/null
+++ b/src/views/multilevel_menu_example/level2/page.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/multilevel_menu_example/page.vue b/src/views/multilevel_menu_example/page.vue
new file mode 100644
index 00000000..0fa72143
--- /dev/null
+++ b/src/views/multilevel_menu_example/page.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/views/permission_example/index.vue b/src/views/permission_example/index.vue
new file mode 100644
index 00000000..40fc3847
--- /dev/null
+++ b/src/views/permission_example/index.vue
@@ -0,0 +1,48 @@
+
+
+
+ 当前权限:{{ $store.state.global.openPermission ? '开' : '关' }}
+ 请到 seeting.js 里打开权限功能,再进入该页面查看演示
+
+
请对照代码查看演示
+
+ 如果你有 permission.browse 权限则能看到这句话
+
+
+ 如果你有 permission.create 权限则能看到这句话
+
+
+ 如果你有 permission.browse 或 permission.create 权限则能看到这句话
+
+
+ 如果你有 permission.browse 和 permission.create 权限则能看到这句话
+
+
校验 permission.browse 权限
+
校验 permission.create 权限
+
校验 permission.browse 或 permission.create 权限
+
校验 permission.browse 和 permission.create 权限
+
+
+
+
+
+
diff --git a/src/views/personal/edit.password.vue b/src/views/personal/edit.password.vue
new file mode 100644
index 00000000..b2ab09b9
--- /dev/null
+++ b/src/views/personal/edit.password.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+
+
+
+
+
diff --git a/src/views/personal/setting.vue b/src/views/personal/setting.vue
new file mode 100644
index 00000000..ed082bc1
--- /dev/null
+++ b/src/views/personal/setting.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+ 基本设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+ 安全设置
+
+
+
+
+
密保手机
+
已绑定手机:187****3441
+
+
+ 修改
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/reload.vue b/src/views/reload.vue
new file mode 100644
index 00000000..02d0fcf1
--- /dev/null
+++ b/src/views/reload.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/vue.config.js b/vue.config.js
new file mode 100644
index 00000000..2fc2c304
--- /dev/null
+++ b/vue.config.js
@@ -0,0 +1,130 @@
+const fs = require('fs')
+const path = require('path')
+const spritesmithPlugin = require('webpack-spritesmith')
+const terserPlugin = require('terser-webpack-plugin')
+const cdnDependencies = require('./dependencies.cdn')
+
+const spritesmithTasks = []
+fs.readdirSync('src/assets/sprites').map(dirname => {
+ if (fs.statSync(`src/assets/sprites/${dirname}`).isDirectory()) {
+ spritesmithTasks.push(
+ new spritesmithPlugin({
+ src: {
+ cwd: path.resolve(__dirname, `src/assets/sprites/${dirname}`),
+ glob: '*.png'
+ },
+ target: {
+ image: path.resolve(__dirname, `src/assets/sprites/${dirname}.[hash].png`),
+ css: [
+ [path.resolve(__dirname, `src/assets/sprites/_${dirname}.scss`), {
+ format: 'handlebars_based_template',
+ spritesheetName: dirname
+ }]
+ ]
+ },
+ customTemplates: {
+ 'handlebars_based_template': path.resolve(__dirname, 'scss.template.hbs')
+ },
+ // 样式文件中调用雪碧图地址写法
+ apiOptions: {
+ cssImageRef: `~${dirname}.[hash].png`
+ },
+ spritesmithOptions: {
+ algorithm: 'binary-tree',
+ padding: 10
+ }
+ })
+ )
+ }
+})
+
+// CDN 相关
+const isCDN = process.env.VUE_APP_CDN == 'ON'
+const externals = {}
+cdnDependencies.forEach(pkg => {
+ externals[pkg.name] = pkg.library
+})
+const cdn = {
+ css: cdnDependencies.map(e => e.css).filter(e => e),
+ js: cdnDependencies.map(e => e.js).filter(e => e)
+}
+
+module.exports = {
+ publicPath: '',
+ productionSourceMap: false,
+ devServer: {
+ open: true,
+ // 开发环境默认开启反向代理,如果不需要请自行注释
+ proxy: {
+ '/': {
+ target: process.env.VUE_APP_API_ROOT,
+ changeOrigin: true
+ }
+ }
+ },
+ configureWebpack: config => {
+ config.resolve.modules = ['node_modules', 'assets/sprites']
+ config.plugins.push(...spritesmithTasks)
+ if (isCDN) {
+ config.externals = externals
+ }
+ config.optimization = {
+ minimizer: [
+ new terserPlugin({
+ terserOptions: {
+ compress: {
+ warnings: false,
+ drop_console: true,
+ drop_debugger: true,
+ pure_funcs: ['console.log']
+ }
+ }
+ })
+ ]
+ }
+ },
+ pluginOptions: {
+ lintStyleOnBuild: true,
+ stylelint: {
+ fix: true
+ }
+ },
+ chainWebpack: config => {
+ const oneOfsMap = config.module.rule('scss').oneOfs.store
+ oneOfsMap.forEach(item => {
+ item.use('sass-resources-loader')
+ .loader('sass-resources-loader')
+ .options({
+ resources: [
+ './src/assets/styles/resources/*.scss',
+ './src/assets/sprites/*.scss'
+ ]
+ })
+ .end()
+ })
+ config.module
+ .rule('svg')
+ .exclude.add(path.join(__dirname, 'src/assets/icons'))
+ .end()
+ config.module
+ .rule('icons')
+ .test(/\.svg$/)
+ .include.add(path.join(__dirname, 'src/assets/icons'))
+ .end()
+ .use('svg-sprite-loader')
+ .loader('svg-sprite-loader')
+ .options({
+ symbolId: 'icon-[name]'
+ })
+ .end()
+ config.plugin('html')
+ .tap(args => {
+ args[0].title = process.env.VUE_APP_TITLE
+ if (isCDN) {
+ args[0].cdn = cdn
+ }
+ args[0].debugTool = process.env.VUE_APP_DEBUG_TOOL
+ return args
+ })
+ }
+}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 00000000..bd4f4bb6
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,10781 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ant-design-vue/babel-helper-vue-transform-on@^1.0.0":
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/@ant-design-vue/babel-helper-vue-transform-on/download/@ant-design-vue/babel-helper-vue-transform-on-1.0.1.tgz#d219d92f4e1fc5e7add211c347c7fa000518b623"
+ integrity sha1-0hnZL04fxeet0hHDR8f6AAUYtiM=
+
+"@ant-design-vue/babel-plugin-jsx@^1.0.0-0":
+ version "1.0.0-rc.1"
+ resolved "https://registry.npm.taobao.org/@ant-design-vue/babel-plugin-jsx/download/@ant-design-vue/babel-plugin-jsx-1.0.0-rc.1.tgz#ae56cecbda9f08691bcf92dfe98e2416e77d758b"
+ integrity sha1-rlbOy9qfCGkbz5Lf6Y4kFud9dYs=
+ dependencies:
+ "@ant-design-vue/babel-helper-vue-transform-on" "^1.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ camelcase "^6.0.0"
+ html-tags "^3.1.0"
+ svg-tags "^1.0.0"
+
+"@babel/cli@^7.10.5":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/cli/download/@babel/cli-7.10.5.tgz?cache=0&sync_timestamp=1594802238410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcli%2Fdownload%2F%40babel%2Fcli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a"
+ integrity sha1-V98ph8jPidD8fUsVfsWddhnxt3o=
+ dependencies:
+ commander "^4.0.1"
+ convert-source-map "^1.1.0"
+ fs-readdir-recursive "^1.1.0"
+ glob "^7.0.0"
+ lodash "^4.17.19"
+ make-dir "^2.1.0"
+ slash "^2.0.0"
+ source-map "^0.5.0"
+ optionalDependencies:
+ chokidar "^2.1.8"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+ integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=
+ dependencies:
+ "@babel/highlight" "^7.8.3"
+
+"@babel/code-frame@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.11.0.tgz?cache=0&sync_timestamp=1596141128333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
+ integrity sha1-6fc+/gmvE1W3I6fzmxG61jfXyZw=
+ dependencies:
+ browserslist "^4.12.0"
+ invariant "^2.2.4"
+ semver "^5.5.0"
+
+"@babel/compat-data@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.9.6.tgz?cache=0&sync_timestamp=1588185911086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b"
+ integrity sha1-P2BMQOQgExr/5vLIBS6aJ1riBJs=
+ dependencies:
+ browserslist "^4.11.1"
+ invariant "^2.2.4"
+ semver "^5.5.0"
+
+"@babel/core@>=7.9.0":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
+ integrity sha1-2aofWAq/OyKG70C2kE05CQTGM3Y=
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/generator" "^7.9.6"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helpers" "^7.9.6"
+ "@babel/parser" "^7.9.6"
+ "@babel/template" "^7.8.6"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.13"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/core@^7.11.0":
+ version "7.11.1"
+ resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643"
+ integrity sha1-LFW2BOc6QNwhsOUmULEcZc8nZkM=
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.11.0"
+ "@babel/helper-module-transforms" "^7.11.0"
+ "@babel/helpers" "^7.10.4"
+ "@babel/parser" "^7.11.1"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.11.0"
+ "@babel/types" "^7.11.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.19"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
+ integrity sha1-S5DHjYwSglAkVoy+g+5smvGTWFw=
+ dependencies:
+ "@babel/types" "^7.11.0"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.9.6.tgz?cache=0&sync_timestamp=1588187312464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
+ integrity sha1-VAjIKsXemM2g132BJOmfofIXCkM=
+ dependencies:
+ "@babel/types" "^7.9.6"
+ jsesc "^2.5.1"
+ lodash "^4.17.13"
+ source-map "^0.5.0"
+
+"@babel/helper-annotate-as-pure@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz?cache=0&sync_timestamp=1593521260284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
+ integrity sha1-W/DUlaP3V6w72ki1vzs7ownHK6M=
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-annotate-as-pure@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
+ integrity sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
+ integrity sha1-uwt18xv5jL+f8UPBrleLhydK4aM=
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-compilation-targets@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.10.4.tgz?cache=0&sync_timestamp=1593522927738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
+ integrity sha1-gEro4/BDdmB8x5G51H1UAnYzK9I=
+ dependencies:
+ "@babel/compat-data" "^7.10.4"
+ browserslist "^4.12.0"
+ invariant "^2.2.4"
+ levenary "^1.1.1"
+ semver "^5.5.0"
+
+"@babel/helper-compilation-targets@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.9.6.tgz?cache=0&sync_timestamp=1588185905418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a"
+ integrity sha1-HgW3zMnTjS+LQLRYs4CgTc+t04o=
+ dependencies:
+ "@babel/compat-data" "^7.9.6"
+ browserslist "^4.11.1"
+ invariant "^2.2.4"
+ levenary "^1.1.1"
+ semver "^5.5.0"
+
+"@babel/helper-create-class-features-plugin@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
+ integrity sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0=
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-member-expression-to-functions" "^7.10.5"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+
+"@babel/helper-create-class-features-plugin@^7.8.3":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897"
+ integrity sha1-llyLCp8FGAH9nTs3LKDM8gCpCJc=
+ dependencies:
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-member-expression-to-functions" "^7.8.3"
+ "@babel/helper-optimise-call-expression" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.9.6"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+
+"@babel/helper-create-regexp-features-plugin@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz?cache=0&sync_timestamp=1593522952175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
+ integrity sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g=
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-regex" "^7.10.4"
+ regexpu-core "^4.7.0"
+
+"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8":
+ version "7.8.8"
+ resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087"
+ integrity sha1-XYQYC1iPVgt4ZO+u6okkPlgxIIc=
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-regex" "^7.8.3"
+ regexpu-core "^4.7.0"
+
+"@babel/helper-define-map@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
+ integrity sha1-tTwQ23imQIABUmkrEzkxR6y5uzA=
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/types" "^7.10.5"
+ lodash "^4.17.19"
+
+"@babel/helper-explode-assignable-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.10.4.tgz?cache=0&sync_timestamp=1593521272016&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
+ integrity sha1-QKHNkXv/Eoj2malKdbN6Gi29jHw=
+ dependencies:
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
+ integrity sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-function-name@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
+ integrity sha1-K1OCDTUnUSDhh0qC5aq+E3aSClw=
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.8.3"
+ "@babel/template" "^7.8.3"
+ "@babel/types" "^7.9.5"
+
+"@babel/helper-get-function-arity@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593521259643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
+ integrity sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I=
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-get-function-arity@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
+ integrity sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-hoist-variables@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521259807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
+ integrity sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4=
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
+ integrity sha1-rmnIPYTugvS0L5bioJQQk1qPJt8=
+ dependencies:
+ "@babel/types" "^7.11.0"
+
+"@babel/helper-member-expression-to-functions@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c"
+ integrity sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
+ integrity sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-module-imports@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz?cache=0&sync_timestamp=1593524750098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
+ integrity sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA=
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
+ integrity sha1-sW8lAinkchGr3YSzS2RzfCqy01k=
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-simple-access" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.11.0"
+ lodash "^4.17.19"
+
+"@babel/helper-module-transforms@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
+ integrity sha1-Q7NN/hWWGRhwfSRzJ0MTiOn+luU=
+ dependencies:
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.8.6"
+ "@babel/helper-simple-access" "^7.8.3"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+ "@babel/template" "^7.8.6"
+ "@babel/types" "^7.9.0"
+ lodash "^4.17.13"
+
+"@babel/helper-optimise-call-expression@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593521296446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
+ integrity sha1-UNyWQT1ZT5lad5BZBbBYk813lnM=
+ dependencies:
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-optimise-call-expression@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
+ integrity sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
+ integrity sha1-nqKTvhm6vA9S/4yoizTDYRsghnA=
+
+"@babel/helper-plugin-utils@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521244919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
+ integrity sha1-L3WoMSadT2d95JmG3/WZJ1M883U=
+
+"@babel/helper-regex@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0"
+ integrity sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA=
+ dependencies:
+ lodash "^4.17.19"
+
+"@babel/helper-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.8.3.tgz?cache=0&sync_timestamp=1578951938163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965"
+ integrity sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU=
+ dependencies:
+ lodash "^4.17.13"
+
+"@babel/helper-remap-async-to-generator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
+ integrity sha1-/Oi+pOlpC76SMFbe0h5UtOi2jtU=
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-wrap-function" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-replace-supers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
+ integrity sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8=
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
+ integrity sha1-AxSdfmpVhqtnZJls0x1pgaF+FEQ=
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.8.3"
+ "@babel/helper-optimise-call-expression" "^7.8.3"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+
+"@babel/helper-simple-access@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
+ integrity sha1-D1zNopRSd6KnotOoIeFTle3PNGE=
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helper-simple-access@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
+ integrity sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4=
+ dependencies:
+ "@babel/template" "^7.8.3"
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729"
+ integrity sha1-7sFi8RLC9Y068K8SXju1dmUUZyk=
+ dependencies:
+ "@babel/types" "^7.11.0"
+
+"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
+ integrity sha1-+KSRJErPamdhWKxCBykRuoOtCZ8=
+ dependencies:
+ "@babel/types" "^7.11.0"
+
+"@babel/helper-split-export-declaration@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
+ integrity sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-validator-identifier@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593521376709&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+ integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=
+
+"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
+ integrity sha1-kJd6jm+/a0MafcMXUu7iM78FLYA=
+
+"@babel/helper-wrap-function@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
+ integrity sha1-im9wHqsP8592W1oc/vQJmQ5iS4c=
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helpers@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
+ integrity sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ=
+ dependencies:
+ "@babel/template" "^7.10.4"
+ "@babel/traverse" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/helpers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.9.6.tgz?cache=0&sync_timestamp=1588185908061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
+ integrity sha1-CSx3R0NHHQu2x9461GWrPTSG1YA=
+ dependencies:
+ "@babel/template" "^7.8.3"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+
+"@babel/highlight@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593521251318&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+ integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/highlight@^7.8.3":
+ version "7.9.0"
+ resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
+ integrity sha1-TptFzLgreWBycbKXmtgse2gWMHk=
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.0"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1":
+ version "7.11.3"
+ resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
+ integrity sha1-nh6uRnOLzQjiPoZ7q0PnuVKZqPk=
+
+"@babel/parser@^7.7.0", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
+ integrity sha1-Oxu7MNq+YAzXLbWHIJmDdv9lO8c=
+
+"@babel/plugin-proposal-async-generator-functions@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558"
+ integrity sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.10.4"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
+
+"@babel/plugin-proposal-class-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
+ integrity sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc=
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-proposal-class-properties@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz?cache=0&sync_timestamp=1578951896490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
+ integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4=
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-proposal-decorators@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e"
+ integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4=
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-decorators" "^7.8.3"
+
+"@babel/plugin-proposal-dynamic-import@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.10.4.tgz?cache=0&sync_timestamp=1593522928045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
+ integrity sha1-uleibLmLN3QenVvKG4sN34KR8X4=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+
+"@babel/plugin-proposal-export-namespace-from@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54"
+ integrity sha1-Vw2IO5EDFjez4pWO6jxDjmLAX1Q=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
+"@babel/plugin-proposal-json-strings@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz?cache=0&sync_timestamp=1593522929666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
+ integrity sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+
+"@babel/plugin-proposal-logical-assignment-operators@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8"
+ integrity sha1-n4DkgsAwg8hxJd7hACa1hSfqIMg=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz?cache=0&sync_timestamp=1593522930126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
+ integrity sha1-AqfpYfwy5tWy2wZJ4Bv4Dd7n4Eo=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+
+"@babel/plugin-proposal-numeric-separator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593522929927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
+ integrity sha1-zhWQ/wplrRKXCmCdeIVemkwa7wY=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.11.0.tgz?cache=0&sync_timestamp=1596141544867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
+ integrity sha1-vYH5Wh90Z2DqQ7bC09YrEXkK0K8=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-transform-parameters" "^7.10.4"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
+ integrity sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+
+"@babel/plugin-proposal-optional-chaining@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076"
+ integrity sha1-3lhm0GRvav2quKVmOC/joiF1UHY=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+
+"@babel/plugin-proposal-private-methods@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.10.4.tgz?cache=0&sync_timestamp=1593521235156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
+ integrity sha1-sWDZcrj9ulx9ERoUX8jEIfwqaQk=
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
+ integrity sha1-RIPNpTBBzjQTt/4vAAImZd36p10=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.8.8"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.8.8.tgz?cache=0&sync_timestamp=1584039006999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d"
+ integrity sha1-7jqV6QzcBP6M2S7DJ5+gF9aKDR0=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.8.8"
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-async-generators@^7.8.0":
+ version "7.8.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522928770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
+ integrity sha1-ZkTmoLqlWmH54yMfbJ7rbuRsEkw=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-decorators@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda"
+ integrity sha1-jSwVqfGvYksAJflhaCqdU9MAG9o=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-export-namespace-from@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
+ integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-json-strings@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-jsx@^7.0.0":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593523009226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c"
+ integrity sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
+ integrity sha1-UhsGyDxASA8eWLT9M7kuzrHW6pQ=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz?cache=0&sync_timestamp=1593525072473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
+ integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593522054358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+ integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-object-rest-spread@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz?cache=0&sync_timestamp=1578950070697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz?cache=0&sync_timestamp=1578952519472&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-optional-chaining%2Fdownload%2F%40babel%2Fplugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-top-level-await@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.10.4.tgz?cache=0&sync_timestamp=1593521242737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
+ integrity sha1-S764kXtU/PdoNk4KgfVg4zo+9X0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-arrow-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
+ integrity sha1-4ilg135pfHT0HFAdRNc9v4pqZM0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-async-to-generator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
+ integrity sha1-QaUBfknrbzzak5KlHu8pQFskWjc=
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-remap-async-to-generator" "^7.10.4"
+
+"@babel/plugin-transform-block-scoped-functions@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
+ integrity sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-block-scoping@^7.10.4":
+ version "7.11.1"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.11.1.tgz?cache=0&sync_timestamp=1596579100863&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
+ integrity sha1-W37+mIUr741lLAsoFEzZOp5LUhU=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-classes@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593521236444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
+ integrity sha1-QFE2rys+IYvEoZJiKLyRerGgrcc=
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-define-map" "^7.10.4"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-optimise-call-expression" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.10.4"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
+ integrity sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-destructuring@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
+ integrity sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-dotall-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
+ integrity sha1-RpwgYhBcHragQOr0+sS0iAeDle4=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.8.3"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e"
+ integrity sha1-w8bsXuYSXGmTxcvKINyGIanqem4=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-transform-duplicate-keys@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
+ integrity sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-exponentiation-operator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521230232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
+ integrity sha1-WuM4xX+M9AAb2zVgeuZrktZlry4=
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-for-of@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
+ integrity sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-function-name@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
+ integrity sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc=
+ dependencies:
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
+ integrity sha1-n0K6CEEQChNfInEtDjkcRi9XHzw=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-member-expression-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
+ integrity sha1-sexE/PGVr8uNssYs2OVRyIG6+Lc=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-modules-amd@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
+ integrity sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE=
+ dependencies:
+ "@babel/helper-module-transforms" "^7.10.5"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-commonjs@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
+ integrity sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA=
+ dependencies:
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-simple-access" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-systemjs@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
+ integrity sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU=
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.10.4"
+ "@babel/helper-module-transforms" "^7.10.5"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-umd@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
+ integrity sha1-moSB/oG4JGVLOgtl2j34nz0hg54=
+ dependencies:
+ "@babel/helper-module-transforms" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
+ integrity sha1-eLTZeIELbzvPA/njGPL8DtQa7LY=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+
+"@babel/plugin-transform-new-target@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
+ integrity sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-object-super@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
+ integrity sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-replace-supers" "^7.10.4"
+
+"@babel/plugin-transform-parameters@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
+ integrity sha1-WdM51Y0LGVBDX0BD504lEABeLEo=
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-property-literals@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
+ integrity sha1-9v5UtlkDUimHhbg+3YFdIUxC48A=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-regenerator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521244746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
+ integrity sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M=
+ dependencies:
+ regenerator-transform "^0.14.2"
+
+"@babel/plugin-transform-reserved-words@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
+ integrity sha1-jyaCvNzvntMn4bCGFYXXAT+KVN0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-runtime@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.11.0.tgz?cache=0&sync_timestamp=1596145683555&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf"
+ integrity sha1-4n946zbxlEhjbgXDPJD9mtm4vM8=
+ dependencies:
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ resolve "^1.8.1"
+ semver "^5.5.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
+ integrity sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-spread@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.11.0.tgz?cache=0&sync_timestamp=1596145724980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc"
+ integrity sha1-+oTTAPXk9XdS/kGm0bPFVPE/F8w=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
+
+"@babel/plugin-transform-sticky-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz?cache=0&sync_timestamp=1593522926947&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
+ integrity sha1-jziJ7oZXWBEwop2cyR18c7fEoo0=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-regex" "^7.10.4"
+
+"@babel/plugin-transform-template-literals@^7.10.4":
+ version "7.10.5"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
+ integrity sha1-eLxdYmpmQtszEtnQ8AH152Of3ow=
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-typeof-symbol@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz?cache=0&sync_timestamp=1593522929368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
+ integrity sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-unicode-escapes@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.10.4.tgz?cache=0&sync_timestamp=1593522929644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007"
+ integrity sha1-/q5SM5HHZR3awRXa4KnQaFeJIAc=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-transform-unicode-regex@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
+ integrity sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg=
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/preset-env@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.11.0.tgz?cache=0&sync_timestamp=1596145725314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796"
+ integrity sha1-hg7jjyzhetYEgMICG6lok5Pvt5Y=
+ dependencies:
+ "@babel/compat-data" "^7.11.0"
+ "@babel/helper-compilation-targets" "^7.10.4"
+ "@babel/helper-module-imports" "^7.10.4"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-proposal-async-generator-functions" "^7.10.4"
+ "@babel/plugin-proposal-class-properties" "^7.10.4"
+ "@babel/plugin-proposal-dynamic-import" "^7.10.4"
+ "@babel/plugin-proposal-export-namespace-from" "^7.10.4"
+ "@babel/plugin-proposal-json-strings" "^7.10.4"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4"
+ "@babel/plugin-proposal-numeric-separator" "^7.10.4"
+ "@babel/plugin-proposal-object-rest-spread" "^7.11.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.10.4"
+ "@babel/plugin-proposal-optional-chaining" "^7.11.0"
+ "@babel/plugin-proposal-private-methods" "^7.10.4"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.10.4"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
+ "@babel/plugin-syntax-class-properties" "^7.10.4"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+ "@babel/plugin-syntax-top-level-await" "^7.10.4"
+ "@babel/plugin-transform-arrow-functions" "^7.10.4"
+ "@babel/plugin-transform-async-to-generator" "^7.10.4"
+ "@babel/plugin-transform-block-scoped-functions" "^7.10.4"
+ "@babel/plugin-transform-block-scoping" "^7.10.4"
+ "@babel/plugin-transform-classes" "^7.10.4"
+ "@babel/plugin-transform-computed-properties" "^7.10.4"
+ "@babel/plugin-transform-destructuring" "^7.10.4"
+ "@babel/plugin-transform-dotall-regex" "^7.10.4"
+ "@babel/plugin-transform-duplicate-keys" "^7.10.4"
+ "@babel/plugin-transform-exponentiation-operator" "^7.10.4"
+ "@babel/plugin-transform-for-of" "^7.10.4"
+ "@babel/plugin-transform-function-name" "^7.10.4"
+ "@babel/plugin-transform-literals" "^7.10.4"
+ "@babel/plugin-transform-member-expression-literals" "^7.10.4"
+ "@babel/plugin-transform-modules-amd" "^7.10.4"
+ "@babel/plugin-transform-modules-commonjs" "^7.10.4"
+ "@babel/plugin-transform-modules-systemjs" "^7.10.4"
+ "@babel/plugin-transform-modules-umd" "^7.10.4"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4"
+ "@babel/plugin-transform-new-target" "^7.10.4"
+ "@babel/plugin-transform-object-super" "^7.10.4"
+ "@babel/plugin-transform-parameters" "^7.10.4"
+ "@babel/plugin-transform-property-literals" "^7.10.4"
+ "@babel/plugin-transform-regenerator" "^7.10.4"
+ "@babel/plugin-transform-reserved-words" "^7.10.4"
+ "@babel/plugin-transform-shorthand-properties" "^7.10.4"
+ "@babel/plugin-transform-spread" "^7.11.0"
+ "@babel/plugin-transform-sticky-regex" "^7.10.4"
+ "@babel/plugin-transform-template-literals" "^7.10.4"
+ "@babel/plugin-transform-typeof-symbol" "^7.10.4"
+ "@babel/plugin-transform-unicode-escapes" "^7.10.4"
+ "@babel/plugin-transform-unicode-regex" "^7.10.4"
+ "@babel/preset-modules" "^0.1.3"
+ "@babel/types" "^7.11.0"
+ browserslist "^4.12.0"
+ core-js-compat "^3.6.2"
+ invariant "^2.2.2"
+ levenary "^1.1.1"
+ semver "^5.5.0"
+
+"@babel/preset-modules@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
+ integrity sha1-EyQrU7XvjIg8PPfd3VWzbOgPvHI=
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+ "@babel/plugin-transform-dotall-regex" "^7.4.4"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/runtime@^7.11.0":
+ version "7.11.2"
+ resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637824771&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
+ integrity sha1-9UnBPHVMxAuHZEufqfCaapX+BzY=
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/runtime@^7.8.4":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.6.tgz?cache=0&sync_timestamp=1588185905751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
+ integrity sha1-qRAutcre3z8x0IqezylK94J+op8=
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz?cache=0&sync_timestamp=1593523000769&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
+ integrity sha1-MlGZbEIA68cdGo/EBfupQPNrong=
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/parser" "^7.10.4"
+ "@babel/types" "^7.10.4"
+
+"@babel/template@^7.8.3", "@babel/template@^7.8.6":
+ version "7.8.6"
+ resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
+ integrity sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis=
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/parser" "^7.8.6"
+ "@babel/types" "^7.8.6"
+
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
+ integrity sha1-m5ls4bmPU/fD5BdRFWBdVu0H3SQ=
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ "@babel/generator" "^7.11.0"
+ "@babel/helper-function-name" "^7.10.4"
+ "@babel/helper-split-export-declaration" "^7.11.0"
+ "@babel/parser" "^7.11.0"
+ "@babel/types" "^7.11.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.19"
+
+"@babel/traverse@^7.7.0", "@babel/traverse@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.9.6.tgz?cache=0&sync_timestamp=1588185904779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
+ integrity sha1-VUDXV3aXv2GcxXuSqg8cIxqU9EI=
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/generator" "^7.9.6"
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+ "@babel/parser" "^7.9.6"
+ "@babel/types" "^7.9.6"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.13"
+
+"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0":
+ version "7.11.0"
+ resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
+ integrity sha1-Kua/G6mujDxDgk5YYSaYcbIG6Q0=
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ lodash "^4.17.19"
+ to-fast-properties "^2.0.0"
+
+"@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
+ integrity sha1-LFUCtCclHp3hvS3/la3WRtlcyfc=
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.5"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
+"@eslint/eslintrc@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085"
+ integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ espree "^7.3.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^3.13.1"
+ lodash "^4.17.19"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
+
+"@hapi/address@2.x.x":
+ version "2.1.4"
+ resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1584171913757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
+ integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=
+
+"@hapi/bourne@1.x.x":
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
+ integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=
+
+"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0":
+ version "8.5.1"
+ resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06"
+ integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY=
+
+"@hapi/joi@^15.0.1":
+ version "15.1.1"
+ resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
+ integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=
+ dependencies:
+ "@hapi/address" "2.x.x"
+ "@hapi/bourne" "1.x.x"
+ "@hapi/hoek" "8.x.x"
+ "@hapi/topo" "3.x.x"
+
+"@hapi/topo@3.x.x":
+ version "3.1.6"
+ resolved "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
+ integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=
+ dependencies:
+ "@hapi/hoek" "^8.3.0"
+
+"@intervolga/optimize-cssnano-plugin@^1.0.5":
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8"
+ integrity sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=
+ dependencies:
+ cssnano "^4.0.0"
+ cssnano-preset-default "^4.0.0"
+ postcss "^7.0.0"
+
+"@mrmlnc/readdir-enhanced@^2.2.1":
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
+ integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=
+ dependencies:
+ call-me-maybe "^1.0.1"
+ glob-to-regexp "^0.3.0"
+
+"@nodelib/fs.scandir@2.1.3":
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
+ integrity sha1-Olgr21OATGum0UZXnEblITDPSjs=
+ dependencies:
+ "@nodelib/fs.stat" "2.0.3"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
+ integrity sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M=
+
+"@nodelib/fs.stat@^1.1.2":
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
+ integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.4"
+ resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
+ integrity sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.3"
+ fastq "^1.6.0"
+
+"@soda/friendly-errors-webpack-plugin@^1.7.1":
+ version "1.7.1"
+ resolved "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d"
+ integrity sha1-cG9kvLSouWQrSK46zkRMcDNNYV0=
+ dependencies:
+ chalk "^1.1.3"
+ error-stack-parser "^2.0.0"
+ string-width "^2.0.0"
+
+"@soda/get-current-script@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.0.tgz#623aa40623550e3b94767cffeb096a6fb597ed09"
+ integrity sha1-YjqkBiNVDjuUdnz/6wlqb7WX7Qk=
+
+"@stylelint/postcss-css-in-js@^0.37.2":
+ version "0.37.2"
+ resolved "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2"
+ integrity sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==
+ dependencies:
+ "@babel/core" ">=7.9.0"
+
+"@stylelint/postcss-markdown@^0.36.1":
+ version "0.36.1"
+ resolved "https://registry.npm.taobao.org/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.1.tgz#829b87e6c0f108014533d9d7b987dc9efb6632e8"
+ integrity sha1-gpuH5sDxCAFFM9nXuYfcnvtmMug=
+ dependencies:
+ remark "^12.0.0"
+ unist-util-find-all-after "^3.0.1"
+
+"@tinymce/tinymce-vue@^3.2.3":
+ version "3.2.3"
+ resolved "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.3.tgz#9fdde71bb00d37b9f53400047ff30a73803e598d"
+ integrity sha512-SMjpAQg2BLtYmnx4s3rKiAFxgXCx4uKWu8XmcvsZoYl5kvF4yaoqx70ovYJvT83ucpO7n6pewnQL3O4lR2WF3Q==
+
+"@types/anymatch@*":
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
+ integrity sha1-M2utwb7sudrMOL6izzKt9ieoQho=
+
+"@types/body-parser@*":
+ version "1.19.0"
+ resolved "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz?cache=0&sync_timestamp=1596837705521&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbody-parser%2Fdownload%2F%40types%2Fbody-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
+ integrity sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/color-name@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=
+
+"@types/connect-history-api-fallback@*":
+ version "1.3.3"
+ resolved "https://registry.npm.taobao.org/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.3.tgz#4772b79b8b53185f0f4c9deab09236baf76ee3b4"
+ integrity sha1-R3K3m4tTGF8PTJ3qsJI2uvdu47Q=
+ dependencies:
+ "@types/express-serve-static-core" "*"
+ "@types/node" "*"
+
+"@types/connect@*":
+ version "3.4.33"
+ resolved "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.33.tgz?cache=0&sync_timestamp=1596837708484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect%2Fdownload%2F%40types%2Fconnect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546"
+ integrity sha1-MWEMkB7KVzuHE8MzCrxua59YhUY=
+ dependencies:
+ "@types/node" "*"
+
+"@types/events@*":
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1588200013267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
+ integrity sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc=
+
+"@types/express-serve-static-core@*":
+ version "4.17.9"
+ resolved "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.9.tgz#2d7b34dcfd25ec663c25c85d76608f8b249667f1"
+ integrity sha1-LXs03P0l7GY8JchddmCPiySWZ/E=
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+
+"@types/express@*":
+ version "4.17.7"
+ resolved "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59"
+ integrity sha1-QgRb5kdWNtmAE2nNRBjvZc2w3Vk=
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "*"
+ "@types/qs" "*"
+ "@types/serve-static" "*"
+
+"@types/glob@^7.1.1":
+ version "7.1.1"
+ resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
+ integrity sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=
+ dependencies:
+ "@types/events" "*"
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
+"@types/html-minifier-terser@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/@types/html-minifier-terser/download/@types/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880"
+ integrity sha1-VRpFibbuLMnB3/CAVhKK7Cm5SIA=
+
+"@types/http-proxy-middleware@*":
+ version "0.19.3"
+ resolved "https://registry.npm.taobao.org/@types/http-proxy-middleware/download/@types/http-proxy-middleware-0.19.3.tgz#b2eb96fbc0f9ac7250b5d9c4c53aade049497d03"
+ integrity sha1-suuW+8D5rHJQtdnExTqt4ElJfQM=
+ dependencies:
+ "@types/connect" "*"
+ "@types/http-proxy" "*"
+ "@types/node" "*"
+
+"@types/http-proxy@*":
+ version "1.17.4"
+ resolved "https://registry.npm.taobao.org/@types/http-proxy/download/@types/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b"
+ integrity sha1-58kuPb4+E6p5lED/QubToXqdBFs=
+ dependencies:
+ "@types/node" "*"
+
+"@types/json-schema@^7.0.5":
+ version "7.0.6"
+ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
+ integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+
+"@types/mime@*":
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.3.tgz?cache=0&sync_timestamp=1596839009719&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a"
+ integrity sha1-yJO3NyHbc2mZQ7/DZTsd63+qSjo=
+
+"@types/mini-css-extract-plugin@^0.9.1":
+ version "0.9.1"
+ resolved "https://registry.npm.taobao.org/@types/mini-css-extract-plugin/download/@types/mini-css-extract-plugin-0.9.1.tgz#d4bdde5197326fca039d418f4bdda03dc74dc451"
+ integrity sha1-1L3eUZcyb8oDnUGPS92gPcdNxFE=
+ dependencies:
+ "@types/webpack" "*"
+
+"@types/minimatch@*":
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
+ integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=
+
+"@types/minimist@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
+ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
+
+"@types/node@*":
+ version "14.0.5"
+ resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.5.tgz?cache=0&sync_timestamp=1590092201933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.0.5.tgz#3d03acd3b3414cf67faf999aed11682ed121f22b"
+ integrity sha1-PQOs07NBTPZ/r5ma7RFoLtEh8is=
+
+"@types/normalize-package-data@^2.4.0":
+ version "2.4.0"
+ resolved "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
+ integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=
+
+"@types/q@^1.5.1":
+ version "1.5.4"
+ resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
+ integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=
+
+"@types/qs@*":
+ version "6.9.4"
+ resolved "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.4.tgz#a59e851c1ba16c0513ea123830dd639a0a15cb6a"
+ integrity sha1-pZ6FHBuhbAUT6hI4MN1jmgoVy2o=
+
+"@types/range-parser@*":
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
+ integrity sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=
+
+"@types/serve-static@*":
+ version "1.13.5"
+ resolved "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.5.tgz?cache=0&sync_timestamp=1596841297479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.5.tgz#3d25d941a18415d3ab092def846e135a08bbcf53"
+ integrity sha1-PSXZQaGEFdOrCS3vhG4TWgi7z1M=
+ dependencies:
+ "@types/express-serve-static-core" "*"
+ "@types/mime" "*"
+
+"@types/source-list-map@*":
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1588202412220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
+ integrity sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=
+
+"@types/tapable@*", "@types/tapable@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.5.tgz?cache=0&sync_timestamp=1588202412329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02"
+ integrity sha1-mtvBKVBYKqZerXa//fOf4MJ6PAI=
+
+"@types/uglify-js@*":
+ version "3.9.2"
+ resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.9.2.tgz?cache=0&sync_timestamp=1589913305267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.9.2.tgz#01992579debba674e1e359cd6bcb1a1d0ab2e02b"
+ integrity sha1-AZkled67pnTh41nNa8saHQqy4Cs=
+ dependencies:
+ source-map "^0.6.1"
+
+"@types/unist@^2.0.0", "@types/unist@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/@types/unist/download/@types/unist-2.0.3.tgz?cache=0&sync_timestamp=1588202972169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+ integrity sha1-nAiGeYdvN061mD8VDUeHqm+zLX4=
+
+"@types/webpack-dev-server@^3.11.0":
+ version "3.11.0"
+ resolved "https://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.11.0.tgz#bcc3b85e7dc6ac2db25330610513f2228c2fcfb2"
+ integrity sha1-vMO4Xn3GrC2yUzBhBRPyIowvz7I=
+ dependencies:
+ "@types/connect-history-api-fallback" "*"
+ "@types/express" "*"
+ "@types/http-proxy-middleware" "*"
+ "@types/serve-static" "*"
+ "@types/webpack" "*"
+
+"@types/webpack-sources@*":
+ version "0.1.7"
+ resolved "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-0.1.7.tgz?cache=0&sync_timestamp=1588202412807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141"
+ integrity sha1-CjMKlFYRNBDHSl1kGArwy8oAcUE=
+ dependencies:
+ "@types/node" "*"
+ "@types/source-list-map" "*"
+ source-map "^0.6.1"
+
+"@types/webpack@*", "@types/webpack@^4.0.0":
+ version "4.41.21"
+ resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.21.tgz?cache=0&sync_timestamp=1596842628316&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee"
+ integrity sha1-zGhbMywz8VO7L1/B+jrIretZLe4=
+ dependencies:
+ "@types/anymatch" "*"
+ "@types/node" "*"
+ "@types/tapable" "*"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ source-map "^0.6.0"
+
+"@types/webpack@^4.41.8":
+ version "4.41.13"
+ resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.13.tgz#988d114c8913d039b8a0e0502a7fe4f1f84f3d5e"
+ integrity sha1-mI0RTIkT0Dm4oOBQKn/k8fhPPV4=
+ dependencies:
+ "@types/anymatch" "*"
+ "@types/node" "*"
+ "@types/tapable" "*"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ source-map "^0.6.0"
+
+"@vue/babel-helper-vue-jsx-merge-props@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040"
+ integrity sha1-BI/leZWNpAj7eosqPsBQtQpmEEA=
+
+"@vue/babel-plugin-transform-vue-jsx@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz#c0a3e6efc022e75e4247b448a8fc6b86f03e91c0"
+ integrity sha1-wKPm78Ai515CR7RIqPxrhvA+kcA=
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0"
+ html-tags "^2.0.0"
+ lodash.kebabcase "^4.1.1"
+ svg-tags "^1.0.0"
+
+"@vue/babel-preset-app@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.4.tgz#bb164e8ab55673c561e6e83511631eda19efd7e4"
+ integrity sha1-uxZOirVWc8Vh5ug1EWMe2hnv1+Q=
+ dependencies:
+ "@ant-design-vue/babel-plugin-jsx" "^1.0.0-0"
+ "@babel/core" "^7.11.0"
+ "@babel/helper-compilation-targets" "^7.9.6"
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/plugin-proposal-class-properties" "^7.8.3"
+ "@babel/plugin-proposal-decorators" "^7.8.3"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-jsx" "^7.8.3"
+ "@babel/plugin-transform-runtime" "^7.11.0"
+ "@babel/preset-env" "^7.11.0"
+ "@babel/runtime" "^7.11.0"
+ "@vue/babel-preset-jsx" "^1.1.2"
+ babel-plugin-dynamic-import-node "^2.3.3"
+ core-js "^3.6.5"
+ core-js-compat "^3.6.5"
+ semver "^6.1.0"
+
+"@vue/babel-preset-jsx@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz#2e169eb4c204ea37ca66c2ea85a880bfc99d4f20"
+ integrity sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA=
+ dependencies:
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.1.2"
+ "@vue/babel-sugar-functional-vue" "^1.1.2"
+ "@vue/babel-sugar-inject-h" "^1.1.2"
+ "@vue/babel-sugar-v-model" "^1.1.2"
+ "@vue/babel-sugar-v-on" "^1.1.2"
+
+"@vue/babel-sugar-functional-vue@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz#f7e24fba09e6f1ee70104560a8808057555f1a9a"
+ integrity sha1-9+JPugnm8e5wEEVgqICAV1VfGpo=
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-inject-h@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz#8a5276b6d8e2ed16ffc8078aad94236274e6edf0"
+ integrity sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA=
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-v-model@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz#1ff6fd1b800223fc9cb1e84dceb5e52d737a8192"
+ integrity sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI=
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.0.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.1.2"
+ camelcase "^5.0.0"
+ html-tags "^2.0.0"
+ svg-tags "^1.0.0"
+
+"@vue/babel-sugar-v-on@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz#b2ef99b8f2fab09fbead25aad70ef42e1cf5b13b"
+ integrity sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs=
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.1.2"
+ camelcase "^5.0.0"
+
+"@vue/cli-overlay@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-overlay/download/@vue/cli-overlay-4.5.4.tgz#e07e3ccc2e4d770d4fdbd45cdde777d592822c19"
+ integrity sha1-4H48zC5Ndw1P29Rc3ed31ZKCLBk=
+
+"@vue/cli-plugin-babel@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.4.tgz#a01cdcb3d46064675dd88d61b640adadcc851e2b"
+ integrity sha1-oBzcs9RgZGdd2I1htkCtrcyFHis=
+ dependencies:
+ "@babel/core" "^7.11.0"
+ "@vue/babel-preset-app" "^4.5.4"
+ "@vue/cli-shared-utils" "^4.5.4"
+ babel-loader "^8.1.0"
+ cache-loader "^4.1.0"
+ thread-loader "^2.1.3"
+ webpack "^4.0.0"
+
+"@vue/cli-plugin-eslint@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.4.tgz#0f1f307abfe1e4ad67dcb97693640942b15fae76"
+ integrity sha1-Dx8wer/h5K1n3Ll2k2QJQrFfrnY=
+ dependencies:
+ "@vue/cli-shared-utils" "^4.5.4"
+ eslint-loader "^2.2.1"
+ globby "^9.2.0"
+ inquirer "^7.1.0"
+ webpack "^4.0.0"
+ yorkie "^2.0.0"
+
+"@vue/cli-plugin-router@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.4.tgz#06f22408c7ed6aceddbf7302cb47a293b7af4347"
+ integrity sha1-BvIkCMftas7dv3MCy0eik7evQ0c=
+ dependencies:
+ "@vue/cli-shared-utils" "^4.5.4"
+
+"@vue/cli-plugin-vuex@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.4.tgz#6296e307388f61132117e0ac03188013652b0c55"
+ integrity sha1-YpbjBziPYRMhF+CsAxiAE2UrDFU=
+
+"@vue/cli-service@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-service/download/@vue/cli-service-4.5.4.tgz#f903edf555d107404624de2fed5996da8cedc524"
+ integrity sha1-+QPt9VXRB0BGJN4v7VmW2oztxSQ=
+ dependencies:
+ "@intervolga/optimize-cssnano-plugin" "^1.0.5"
+ "@soda/friendly-errors-webpack-plugin" "^1.7.1"
+ "@soda/get-current-script" "^1.0.0"
+ "@types/minimist" "^1.2.0"
+ "@types/webpack" "^4.0.0"
+ "@types/webpack-dev-server" "^3.11.0"
+ "@vue/cli-overlay" "^4.5.4"
+ "@vue/cli-plugin-router" "^4.5.4"
+ "@vue/cli-plugin-vuex" "^4.5.4"
+ "@vue/cli-shared-utils" "^4.5.4"
+ "@vue/component-compiler-utils" "^3.1.2"
+ "@vue/preload-webpack-plugin" "^1.1.0"
+ "@vue/web-component-wrapper" "^1.2.0"
+ acorn "^7.4.0"
+ acorn-walk "^7.1.1"
+ address "^1.1.2"
+ autoprefixer "^9.8.6"
+ browserslist "^4.12.0"
+ cache-loader "^4.1.0"
+ case-sensitive-paths-webpack-plugin "^2.3.0"
+ cli-highlight "^2.1.4"
+ clipboardy "^2.3.0"
+ cliui "^6.0.0"
+ copy-webpack-plugin "^5.1.1"
+ css-loader "^3.5.3"
+ cssnano "^4.1.10"
+ debug "^4.1.1"
+ default-gateway "^5.0.5"
+ dotenv "^8.2.0"
+ dotenv-expand "^5.1.0"
+ file-loader "^4.2.0"
+ fs-extra "^7.0.1"
+ globby "^9.2.0"
+ hash-sum "^2.0.0"
+ html-webpack-plugin "^3.2.0"
+ launch-editor-middleware "^2.2.1"
+ lodash.defaultsdeep "^4.6.1"
+ lodash.mapvalues "^4.6.0"
+ lodash.transform "^4.6.0"
+ mini-css-extract-plugin "^0.9.0"
+ minimist "^1.2.5"
+ pnp-webpack-plugin "^1.6.4"
+ portfinder "^1.0.26"
+ postcss-loader "^3.0.0"
+ ssri "^7.1.0"
+ terser-webpack-plugin "^2.3.6"
+ thread-loader "^2.1.3"
+ url-loader "^2.2.0"
+ vue-loader "^15.9.2"
+ vue-style-loader "^4.1.2"
+ webpack "^4.0.0"
+ webpack-bundle-analyzer "^3.8.0"
+ webpack-chain "^6.4.0"
+ webpack-dev-server "^3.11.0"
+ webpack-merge "^4.2.2"
+ optionalDependencies:
+ vue-loader-v16 "npm:vue-loader@^16.0.0-beta.3"
+
+"@vue/cli-shared-utils@^4.5.4":
+ version "4.5.4"
+ resolved "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.4.tgz#ed36b2971dc02653f7f2ad4e66bbe9510e1bd414"
+ integrity sha1-7Taylx3AJlP38q1OZrvpUQ4b1BQ=
+ dependencies:
+ "@hapi/joi" "^15.0.1"
+ chalk "^2.4.2"
+ execa "^1.0.0"
+ launch-editor "^2.2.1"
+ lru-cache "^5.1.1"
+ node-ipc "^9.1.1"
+ open "^6.3.0"
+ ora "^3.4.0"
+ read-pkg "^5.1.1"
+ request "^2.88.2"
+ semver "^6.1.0"
+ strip-ansi "^6.0.0"
+
+"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz#8213a5ff3202f9f2137fe55370f9e8b9656081c3"
+ integrity sha1-ghOl/zIC+fITf+VTcPnouWVggcM=
+ dependencies:
+ consolidate "^0.15.1"
+ hash-sum "^1.0.2"
+ lru-cache "^4.1.2"
+ merge-source-map "^1.1.0"
+ postcss "^7.0.14"
+ postcss-selector-parser "^6.0.2"
+ source-map "~0.6.1"
+ vue-template-es2015-compiler "^1.9.0"
+ optionalDependencies:
+ prettier "^1.18.2"
+
+"@vue/preload-webpack-plugin@^1.1.0":
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.1.tgz#18723530d304f443021da2292d6ec9502826104a"
+ integrity sha1-GHI1MNME9EMCHaIpLW7JUCgmEEo=
+
+"@vue/web-component-wrapper@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1"
+ integrity sha1-uw5G8VhafiibTuYGfcxaauYvHdE=
+
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1580600188490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=
+
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=
+
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=
+
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=
+
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/helper-wasm-section" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-opt" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-code-frame" "1.9.0"
+ "@webassemblyjs/helper-fsm" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1580599638157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@winner-fed/vue-cli-plugin-stylelint@^1.0.3":
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/@winner-fed/vue-cli-plugin-stylelint/-/vue-cli-plugin-stylelint-1.0.3.tgz#3a83d784678048ccd92402353f164d81c4de737d"
+ integrity sha512-9vwFWk/QHDRgcs3CSkG9yPxpJBE4iGjHXMbyQu5eXgHVZuneYiVXXbx2BaOEJ5AULzFHd6OvlmLRW1/Pijcrhw==
+ dependencies:
+ chalk "^4.1.0"
+ inquirer "^7.3.2"
+ javascript-stringify "^2.0.1"
+ micromatch "^4.0.2"
+ stylelint "^13.6.1"
+ stylelint-codeframe-formatter "^1.0.4"
+ stylelint-webpack-plugin "^2.1.0"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=
+
+accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
+ version "1.3.7"
+ resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+ integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80=
+ dependencies:
+ mime-types "~2.1.24"
+ negotiator "0.6.2"
+
+acorn-jsx@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
+ integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4=
+
+acorn-walk@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.1.1.tgz?cache=0&sync_timestamp=1581612804260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
+ integrity sha1-NF8N/61cc15zc9L+yaECPmpEuD4=
+
+acorn@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1589007904036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
+ integrity sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ=
+
+acorn@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.2.0.tgz?cache=0&sync_timestamp=1589007904036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe"
+ integrity sha1-F+p+QNfIZA/1SmlMiJwm8xcE7/4=
+
+acorn@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.0.tgz?cache=0&sync_timestamp=1597235733498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
+ integrity sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw=
+
+address@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
+ integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=
+
+aggregate-error@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&sync_timestamp=1570167911603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
+ integrity sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA=
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+ajv-errors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
+ integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0=
+
+ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
+ integrity sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=
+
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5:
+ version "6.12.2"
+ resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.2.tgz?cache=0&sync_timestamp=1587338610933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha1-xinF7O0XuvMUQ3kY0tqIyZ1ZWM0=
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^6.12.4:
+ version "6.12.4"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
+ integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+alphanum-sort@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
+ integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
+
+ansi-colors@^3.0.0, ansi-colors@^3.2.1:
+ version "3.2.4"
+ resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
+ integrity sha1-46PaS/uubIapwoViXeEkojQCb78=
+
+ansi-escapes@^4.2.1:
+ version "4.3.1"
+ resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+ integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=
+ dependencies:
+ type-fest "^0.11.0"
+
+ansi-html@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
+ integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=
+
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+ integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k=
+ dependencies:
+ "@types/color-name" "^1.1.1"
+ color-convert "^2.0.1"
+
+any-promise@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+ integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
+
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us=
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
+anymatch@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+ integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI=
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+aproba@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo=
+
+arch@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/arch/download/arch-2.1.2.tgz?cache=0&sync_timestamp=1589130903544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farch%2Fdownload%2Farch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"
+ integrity sha1-DFK75zRLtPomDEQ9LLrZwA/y8L8=
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+
+array-flatten@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
+ integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=
+
+array-union@^1.0.1, array-union@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0=
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
+arrify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+
+arrify@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
+ integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+
+asn1.js@^4.0.0:
+ version "4.10.1"
+ resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+asn1@~0.2.3:
+ version "0.2.4"
+ resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assert@^1.1.1:
+ version "1.5.0"
+ resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=
+ dependencies:
+ object-assign "^4.1.1"
+ util "0.10.3"
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=
+
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=
+
+async-each@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=
+
+async-limiter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&sync_timestamp=1574272018408&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+ integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=
+
+async-validator@~1.8.1:
+ version "1.8.5"
+ resolved "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
+ integrity sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=
+ dependencies:
+ babel-runtime "6.x"
+
+async@^2.6.2:
+ version "2.6.3"
+ resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
+ integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=
+ dependencies:
+ lodash "^4.17.14"
+
+async@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npm.taobao.org/async/download/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
+ integrity sha1-s6JoXF67ZB094C0WEALGD8n4VyA=
+
+async@~0.9.0:
+ version "0.9.2"
+ resolved "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+ integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=
+
+autoprefixer@^9.8.6:
+ version "9.8.6"
+ resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1596141732212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
+ integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=
+ dependencies:
+ browserslist "^4.12.0"
+ caniuse-lite "^1.0.30001109"
+ colorette "^1.2.1"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^7.0.32"
+ postcss-value-parser "^4.1.0"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.10.0"
+ resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
+ integrity sha1-oXs6jqgRBg501H0wYSJACtRJeuI=
+
+axios@^0.20.0:
+ version "0.20.0"
+ resolved "https://registry.npm.taobao.org/axios/download/axios-0.20.0.tgz?cache=0&sync_timestamp=1597979584536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd"
+ integrity sha1-BXujDwSIRpSZOozQf6OUz/EcUL0=
+ dependencies:
+ follow-redirects "^1.10.0"
+
+babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-eslint@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
+ integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.7.0"
+ "@babel/traverse" "^7.7.0"
+ "@babel/types" "^7.7.0"
+ eslint-visitor-keys "^1.0.0"
+ resolve "^1.12.0"
+
+babel-helper-vue-jsx-merge-props@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
+ integrity sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=
+
+babel-loader@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1584715910722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3"
+ integrity sha1-xhHVESvVIJq+i5+oTD5NolJ18cM=
+ dependencies:
+ find-cache-dir "^2.1.0"
+ loader-utils "^1.4.0"
+ mkdirp "^0.5.3"
+ pify "^4.0.1"
+ schema-utils "^2.6.5"
+
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1592843198494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-runtime@6.x:
+ version "6.26.0"
+ resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+bail@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/bail/download/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
+ integrity sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+base64-js@^1.0.2:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
+ integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha1-e95c7RRbbVUakNuH+DxVi060io8=
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+batch@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
+ integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bfj@^6.1.1:
+ version "6.1.2"
+ resolved "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
+ integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8=
+ dependencies:
+ bluebird "^3.5.5"
+ check-types "^8.0.3"
+ hoopy "^0.1.4"
+ tryer "^1.0.1"
+
+big.js@^3.1.3:
+ version "3.2.0"
+ resolved "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+ integrity sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=
+
+bin-pack@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/bin-pack/download/bin-pack-1.0.2.tgz#c2a014edbf0bed70a3292062ed46577b96120679"
+ integrity sha1-wqAU7b8L7XCjKSBi7UZXe5YSBnk=
+
+binary-extensions@^1.0.0:
+ version "1.13.1"
+ resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=
+
+binary-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
+ integrity sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=
+
+bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbindings%2Fdownload%2Fbindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.5:
+ version "3.7.2"
+ resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28=
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
+ version "4.11.9"
+ resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
+ integrity sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=
+
+bn.js@^5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
+ integrity sha1-yWhpAtPJoncp9DqxD515wgBNp7A=
+
+body-parser@1.19.0:
+ version "1.19.0"
+ resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+ integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=
+ dependencies:
+ bytes "3.1.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.2"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ on-finished "~2.3.0"
+ qs "6.7.0"
+ raw-body "2.4.0"
+ type-is "~1.6.17"
+
+bonjour@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
+ integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU=
+ dependencies:
+ array-flatten "^2.1.0"
+ deep-equal "^1.0.1"
+ dns-equal "^1.0.0"
+ dns-txt "^2.0.2"
+ multicast-dns "^6.0.1"
+ multicast-dns-service-types "^1.1.0"
+
+boolbase@^1.0.0, boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^2.2.2, braces@^2.3.1, braces@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
+ dependencies:
+ fill-range "^7.0.1"
+
+brorand@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-cipher@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
+ dependencies:
+ bn.js "^4.1.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11"
+ integrity sha1-VF0LGwfmssmSEQgr8bEsznoLDhE=
+ dependencies:
+ bn.js "^5.1.1"
+ browserify-rsa "^4.0.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.2"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.5"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=
+ dependencies:
+ pako "~1.0.5"
+
+browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4.8.5:
+ version "4.12.0"
+ resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
+ integrity sha1-BsbVcVoe3mxR/Dn/Z/1kf3QLZW0=
+ dependencies:
+ caniuse-lite "^1.0.30001043"
+ electron-to-chromium "^1.3.413"
+ node-releases "^1.1.53"
+ pkg-up "^2.0.0"
+
+buffer-from@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
+
+buffer-indexof@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
+ integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=
+
+buffer-json@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23"
+ integrity sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+
+buffer@^4.3.0:
+ version "4.9.2"
+ resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1588706716358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+
+bytes@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+ integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
+
+bytes@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+ integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=
+
+cacache@^12.0.2, cacache@^12.0.3:
+ version "12.0.4"
+ resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
+ integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cacache@^13.0.1:
+ version "13.0.1"
+ resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c"
+ integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=
+ dependencies:
+ chownr "^1.1.2"
+ figgy-pudding "^3.5.1"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ graceful-fs "^4.2.2"
+ infer-owner "^1.0.4"
+ lru-cache "^5.1.1"
+ minipass "^3.0.0"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ p-map "^3.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^2.7.1"
+ ssri "^7.0.0"
+ unique-filename "^1.1.1"
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+cache-loader@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e"
+ integrity sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=
+ dependencies:
+ buffer-json "^2.0.0"
+ find-cache-dir "^3.0.0"
+ loader-utils "^1.2.3"
+ mkdirp "^0.5.1"
+ neo-async "^2.6.1"
+ schema-utils "^2.0.0"
+
+call-me-maybe@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+ integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
+
+caller-callsite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1562668933683&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
+ dependencies:
+ callsites "^2.0.0"
+
+caller-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
+ dependencies:
+ caller-callsite "^2.0.0"
+
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=
+
+camel-case@3.0.x:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1576748709736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+ integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.1"
+
+camel-case@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.1.tgz?cache=0&sync_timestamp=1576748709736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
+ integrity sha1-H8QchU8A4vfQE53+uhVC1olv5Uc=
+ dependencies:
+ pascal-case "^3.1.1"
+ tslib "^1.10.0"
+
+camelcase-keys@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
+ integrity sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=
+ dependencies:
+ camelcase "^5.3.1"
+ map-obj "^4.0.0"
+ quick-lru "^4.0.1"
+
+camelcase@^5.0.0, camelcase@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=
+
+camelcase@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
+ integrity sha1-Uln3ww414njxvcKk2RIws3ytmB4=
+
+caniuse-api@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
+ integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-lite "^1.0.0"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043:
+ version "1.0.30001066"
+ resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001066.tgz#0a8a58a10108f2b9bf38e7b65c237b12fd9c5f04"
+ integrity sha1-CopYoQEI8rm/OOe2XCN7Ev2cXwQ=
+
+caniuse-lite@^1.0.30001109:
+ version "1.0.30001115"
+ resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001115.tgz?cache=0&sync_timestamp=1597716284270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001115.tgz#c04cd828883ba47f6f776312e0817bcc9040cfa4"
+ integrity sha1-wEzYKIg7pH9vd2MS4IF7zJBAz6Q=
+
+case-sensitive-paths-webpack-plugin@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"
+ integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc=
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+ccount@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/ccount/download/ccount-1.0.5.tgz?cache=0&sync_timestamp=1580050511018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fccount%2Fdownload%2Fccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
+ integrity sha1-rIKpRJBaZc4gTrAwIxV+3ylCXBc=
+
+chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
+ integrity sha1-bpgIHtLRf6q2FetSrGbsH+YgnnI=
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687070184&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo=
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+character-entities-html4@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/character-entities-html4/download/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
+ integrity sha1-DmSwo3U92/H9wETF/QHQGZoC4SU=
+
+character-entities-legacy@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
+ integrity sha1-lLwYRdznClu50uzHSHJWYSk9j8E=
+
+character-entities@^1.0.0:
+ version "1.2.4"
+ resolved "https://registry.npm.taobao.org/character-entities/download/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
+ integrity sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=
+
+character-reference-invalid@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
+ integrity sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1588893413176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=
+
+check-types@^8.0.3:
+ version "8.0.3"
+ resolved "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552"
+ integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=
+
+"chokidar@>=2.0.0 <4.0.0":
+ version "3.4.2"
+ resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
+ integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1587911196018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chokidar@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.0.tgz?cache=0&sync_timestamp=1587911196018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
+ integrity sha1-swYRQjzjdjV8dlubj5BLn7o8C+g=
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
+chownr@^1.1.1, chownr@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=
+
+chrome-trace-event@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
+ integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=
+ dependencies:
+ tslib "^1.9.0"
+
+ci-info@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
+ integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM=
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+clean-css@4.2.x, clean-css@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
+ integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=
+ dependencies:
+ source-map "~0.6.0"
+
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-highlight@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.4.tgz?cache=0&sync_timestamp=1573948719956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b"
+ integrity sha1-CYy2Qs8X9CrcHBFF4H+WDsTXUis=
+ dependencies:
+ chalk "^3.0.0"
+ highlight.js "^9.6.0"
+ mz "^2.4.0"
+ parse5 "^5.1.1"
+ parse5-htmlparser2-tree-adapter "^5.1.1"
+ yargs "^15.0.0"
+
+cli-spinners@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.3.0.tgz?cache=0&sync_timestamp=1586157510340&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5"
+ integrity sha1-BjIjmktapMlYYQFCw0u3plH8jfU=
+
+cli-width@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg=
+
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
+clipboard@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
+ integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
+clipboardy@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290"
+ integrity sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=
+ dependencies:
+ arch "^2.1.1"
+ execa "^1.0.0"
+ is-wsl "^2.1.1"
+
+cliui@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1573942320052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+ integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=
+ dependencies:
+ string-width "^3.1.0"
+ strip-ansi "^5.2.0"
+ wrap-ansi "^5.1.0"
+
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1573942320052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
+clone-regexp@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f"
+ integrity sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=
+ dependencies:
+ is-regexp "^2.0.0"
+
+clone-stats@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/clone-stats/download/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+ integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
+
+clone@^1.0.0, clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+
+clone@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
+ integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
+
+coa@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
+ integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=
+ dependencies:
+ "@types/q" "^1.5.1"
+ chalk "^2.4.1"
+ q "^1.1.2"
+
+collapse-white-space@^1.0.2:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/collapse-white-space/download/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
+ integrity sha1-5jYpwAFmZXkgYNu+t5xCI50sUoc=
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0, color-convert@^1.9.1:
+ version "1.9.3"
+ resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=
+
+color-string@^1.5.2:
+ version "1.5.3"
+ resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
+ integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
+ integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=
+ dependencies:
+ color-convert "^1.9.1"
+ color-string "^1.5.2"
+
+colorette@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
+ integrity sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@2.17.x:
+ version "2.17.1"
+ resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1587781596778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
+ integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78=
+
+commander@^2.18.0, commander@^2.20.0, commander@~2.20.3:
+ version "2.20.3"
+ resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1587781596778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=
+
+commander@^4.0.1, commander@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1587781596778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
+ integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg=
+
+commander@~2.19.0:
+ version "2.19.0"
+ resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1587781596778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
+ integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=
+
+compressible@~2.0.16:
+ version "2.0.18"
+ resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz?cache=0&sync_timestamp=1578286264482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompressible%2Fdownload%2Fcompressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.4:
+ version "1.7.4"
+ resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
+ integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=
+ dependencies:
+ accepts "~1.3.5"
+ bytes "3.0.0"
+ compressible "~2.0.16"
+ debug "2.6.9"
+ on-headers "~1.0.2"
+ safe-buffer "5.1.2"
+ vary "~1.1.2"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+concat-stream@^1.5.0:
+ version "1.6.2"
+ resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+concat-stream@~1.5.1:
+ version "1.5.2"
+ resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+ integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY=
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~2.0.0"
+ typedarray "~0.0.5"
+
+connect-history-api-fallback@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
+ integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=
+
+console-browserify@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY=
+
+consolidate@^0.15.1:
+ version "0.15.1"
+ resolved "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
+ integrity sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=
+ dependencies:
+ bluebird "^3.1.1"
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+
+content-disposition@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcontent-disposition%2Fdownload%2Fcontent-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+ integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=
+ dependencies:
+ safe-buffer "5.1.2"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js=
+
+contentstream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/contentstream/download/contentstream-1.0.0.tgz#0bdcfa46da30464a86ce8fa7ece565410dc6f9a5"
+ integrity sha1-C9z6RtowRkqGzo+n7OVlQQ3G+aU=
+ dependencies:
+ readable-stream "~1.0.33-1"
+
+convert-source-map@^1.1.0, convert-source-map@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=
+ dependencies:
+ safe-buffer "~5.1.1"
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+
+cookie@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+ integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=
+ dependencies:
+ aproba "^1.1.1"
+ fs-write-stream-atomic "^1.0.8"
+ iferr "^0.1.5"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.0"
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+copy-webpack-plugin@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88"
+ integrity sha1-VIGgPeoRI9iKmIxv+LeCRyFPC4g=
+ dependencies:
+ cacache "^12.0.3"
+ find-cache-dir "^2.1.0"
+ glob-parent "^3.1.0"
+ globby "^7.1.1"
+ is-glob "^4.0.1"
+ loader-utils "^1.2.3"
+ minimatch "^3.0.4"
+ normalize-path "^3.0.0"
+ p-limit "^2.2.1"
+ schema-utils "^1.0.0"
+ serialize-javascript "^2.1.2"
+ webpack-log "^2.0.0"
+
+core-js-compat@^3.6.2, core-js-compat@^3.6.5:
+ version "3.6.5"
+ resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz?cache=0&sync_timestamp=1586535809290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
+ integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw=
+ dependencies:
+ browserslist "^4.8.5"
+ semver "7.0.0"
+
+core-js@^2.4.0:
+ version "2.6.11"
+ resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
+ integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=
+
+core-js@^3.6.4, core-js@^3.6.5:
+ version "3.6.5"
+ resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
+ integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo=
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+cosmiconfig@^5.0.0:
+ version "5.2.1"
+ resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1572710769619&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo=
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.13.1"
+ parse-json "^4.0.0"
+
+cosmiconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz?cache=0&sync_timestamp=1596310773001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+ integrity sha1-75tE13OVnK5j3ezRIt4jhTtg+NM=
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
+create-ecdh@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
+ integrity sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^6.0.0:
+ version "6.0.5"
+ resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^7.0.0, cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY=
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+crypto-browserify@^3.11.0:
+ version "3.12.0"
+ resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+ randomfill "^1.0.3"
+
+css-color-names@0.0.4, css-color-names@^0.0.4:
+ version "0.0.4"
+ resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
+ integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
+
+css-declaration-sorter@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
+ integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI=
+ dependencies:
+ postcss "^7.0.1"
+ timsort "^0.3.0"
+
+css-loader@^3.5.3:
+ version "3.5.3"
+ resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-3.5.3.tgz?cache=0&sync_timestamp=1587729889304&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf"
+ integrity sha1-lawWRo4a3NlchEcp4LsWdjnrC88=
+ dependencies:
+ camelcase "^5.3.1"
+ cssesc "^3.0.0"
+ icss-utils "^4.1.1"
+ loader-utils "^1.2.3"
+ normalize-path "^3.0.0"
+ postcss "^7.0.27"
+ postcss-modules-extract-imports "^2.0.0"
+ postcss-modules-local-by-default "^3.0.2"
+ postcss-modules-scope "^2.2.0"
+ postcss-modules-values "^3.0.0"
+ postcss-value-parser "^4.0.3"
+ schema-utils "^2.6.6"
+ semver "^6.3.0"
+
+css-select-base-adapter@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
+ integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=
+
+css-select@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
+css-select@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
+ integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^3.2.1"
+ domutils "^1.7.0"
+ nth-check "^1.0.2"
+
+css-tree@1.0.0-alpha.37:
+ version "1.0.0-alpha.37"
+ resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
+ integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=
+ dependencies:
+ mdn-data "2.0.4"
+ source-map "^0.6.1"
+
+css-tree@1.0.0-alpha.39:
+ version "1.0.0-alpha.39"
+ resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
+ integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus=
+ dependencies:
+ mdn-data "2.0.6"
+ source-map "^0.6.1"
+
+css-what@2.1:
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
+ integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=
+
+css-what@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1"
+ integrity sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE=
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=
+
+cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
+ integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=
+ dependencies:
+ css-declaration-sorter "^4.0.1"
+ cssnano-util-raw-cache "^4.0.1"
+ postcss "^7.0.0"
+ postcss-calc "^7.0.1"
+ postcss-colormin "^4.0.3"
+ postcss-convert-values "^4.0.1"
+ postcss-discard-comments "^4.0.2"
+ postcss-discard-duplicates "^4.0.2"
+ postcss-discard-empty "^4.0.1"
+ postcss-discard-overridden "^4.0.1"
+ postcss-merge-longhand "^4.0.11"
+ postcss-merge-rules "^4.0.3"
+ postcss-minify-font-values "^4.0.2"
+ postcss-minify-gradients "^4.0.2"
+ postcss-minify-params "^4.0.2"
+ postcss-minify-selectors "^4.0.2"
+ postcss-normalize-charset "^4.0.1"
+ postcss-normalize-display-values "^4.0.2"
+ postcss-normalize-positions "^4.0.2"
+ postcss-normalize-repeat-style "^4.0.2"
+ postcss-normalize-string "^4.0.2"
+ postcss-normalize-timing-functions "^4.0.2"
+ postcss-normalize-unicode "^4.0.1"
+ postcss-normalize-url "^4.0.1"
+ postcss-normalize-whitespace "^4.0.2"
+ postcss-ordered-values "^4.1.2"
+ postcss-reduce-initial "^4.0.3"
+ postcss-reduce-transforms "^4.0.2"
+ postcss-svgo "^4.0.2"
+ postcss-unique-selectors "^4.0.1"
+
+cssnano-util-get-arguments@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
+ integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
+
+cssnano-util-get-match@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
+ integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
+
+cssnano-util-raw-cache@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
+ integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=
+ dependencies:
+ postcss "^7.0.0"
+
+cssnano-util-same-parent@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
+ integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=
+
+cssnano@^4.0.0, cssnano@^4.1.10:
+ version "4.1.10"
+ resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
+ integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=
+ dependencies:
+ cosmiconfig "^5.0.0"
+ cssnano-preset-default "^4.0.7"
+ is-resolvable "^1.0.0"
+ postcss "^7.0.0"
+
+csso@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
+ integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=
+ dependencies:
+ css-tree "1.0.0-alpha.39"
+
+cwise-compiler@^1.0.0, cwise-compiler@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/cwise-compiler/download/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5"
+ integrity sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=
+ dependencies:
+ uniq "^1.0.0"
+
+cyclist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
+ integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
+data-uri-to-buffer@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.npm.taobao.org/data-uri-to-buffer/download/data-uri-to-buffer-0.0.3.tgz#18ae979a6a0ca994b0625853916d2662bbae0b1a"
+ integrity sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=
+
+dayjs@^1.9.1:
+ version "1.9.1"
+ resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.9.1.tgz#201a755f7db5103ed6de63ba93a984141c754541"
+ integrity sha512-01NCTBg8cuMJG1OQc6PR7T66+AFYiPwgDvdJmvJBn29NGzIG+DIFxPLNjHzwz3cpFIvG+NcwIjP9hSaPVoOaDg==
+
+de-indent@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+ integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
+
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
+ version "2.6.9"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.0.0, debug@^3.1.1, debug@^3.2.5:
+ version "3.2.6"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps=
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=
+ dependencies:
+ ms "^2.1.1"
+
+decamelize-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
+ integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
+ dependencies:
+ decamelize "^1.1.0"
+ map-obj "^1.0.0"
+
+decamelize@^1.1.0, decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1580010393599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+deep-equal@^1.0.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
+ integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=
+ dependencies:
+ is-arguments "^1.0.4"
+ is-date-object "^1.0.1"
+ is-regex "^1.0.4"
+ object-is "^1.0.1"
+ object-keys "^1.1.1"
+ regexp.prototype.flags "^1.2.0"
+
+deep-is@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+
+deepmerge@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
+ integrity sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=
+
+deepmerge@^1.2.0, deepmerge@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
+ integrity sha1-EEmdhohEza1P7ghC34x/bwyVp1M=
+
+deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=
+
+default-gateway@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
+ integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=
+ dependencies:
+ execa "^1.0.0"
+ ip-regex "^2.1.0"
+
+default-gateway@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1590419212936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10"
+ integrity sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=
+ dependencies:
+ execa "^3.3.0"
+
+defaults@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+ dependencies:
+ clone "^1.0.2"
+
+define-properties@^1.1.2, define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=
+ dependencies:
+ object-keys "^1.0.12"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0=
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+del@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
+ integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=
+ dependencies:
+ "@types/glob" "^7.1.1"
+ globby "^6.1.0"
+ is-path-cwd "^2.0.0"
+ is-path-in-cwd "^2.0.0"
+ p-map "^2.0.0"
+ pify "^4.0.1"
+ rimraf "^2.6.3"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
+des.js@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
+ integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+ integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
+detect-node@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
+ integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=
+
+diffie-hellman@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dir-glob@^2.0.0, dir-glob@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
+ integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=
+ dependencies:
+ path-type "^3.0.0"
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=
+ dependencies:
+ path-type "^4.0.0"
+
+dns-equal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
+ integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
+
+dns-packet@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a"
+ integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=
+ dependencies:
+ ip "^1.1.0"
+ safe-buffer "^5.0.1"
+
+dns-txt@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
+ integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=
+ dependencies:
+ buffer-indexof "^1.0.0"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=
+ dependencies:
+ esutils "^2.0.2"
+
+dom-converter@^0.2:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+ integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=
+ dependencies:
+ utila "~0.4"
+
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067578490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
+ integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=
+ dependencies:
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
+
+dom7@^3.0.0-alpha.7:
+ version "3.0.0-alpha.9"
+ resolved "https://registry.npmjs.org/dom7/-/dom7-3.0.0-alpha.9.tgz#0110c21181b8bad3a1ee72443e04d3c2e3f1d38f"
+ integrity sha512-wTxPe1vJqLAy2PzAROh/n1PsRF/ZklAJyRIn9shm2dAQjP4JhjsgDKQ1YTbuzf1KVlqOlqYPmwupQExcB9jOUg==
+ dependencies:
+ ssr-window "^3.0.0-alpha.1"
+
+domain-browser@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1590072213865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=
+
+domelementtype@1, domelementtype@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
+ integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=
+
+domelementtype@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
+ integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0=
+
+domhandler@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
+ integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=
+ dependencies:
+ domelementtype "1"
+
+domready@1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npm.taobao.org/domready/download/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c"
+ integrity sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=
+
+domutils@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^1.5.1, domutils@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
+ integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+dot-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa"
+ integrity sha1-IdO1Lvqroupf2odbsaqBJFIc9Ko=
+ dependencies:
+ no-case "^3.0.3"
+ tslib "^1.10.0"
+
+dot-prop@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572621117377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
+ integrity sha1-w07MKVVtxF8fTCJpe29JBODMT8s=
+ dependencies:
+ is-obj "^2.0.0"
+
+dotenv-expand@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
+ integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=
+
+dotenv@^8.2.0:
+ version "8.2.0"
+ resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
+ integrity sha1-l+YZJZradQ7qPk6j4mvO6lQksWo=
+
+duplexer@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+ integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
+
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.7.1"
+ resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+easy-stack@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788"
+ integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g=
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+ejs@^2.6.1:
+ version "2.7.4"
+ resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
+ integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=
+
+electron-to-chromium@^1.3.413:
+ version "1.3.452"
+ resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.452.tgz#ef6877702722471aa044a2429336cd450629934d"
+ integrity sha1-72h3cCciRxqgRKJCkzbNRQYpk00=
+
+element-ui@^2.13.2:
+ version "2.13.2"
+ resolved "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.2.tgz?cache=0&sync_timestamp=1589795164194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felement-ui%2Fdownload%2Felement-ui-2.13.2.tgz#582bf47aaaaaafe23ea1958fae217a687ad06447"
+ integrity sha1-WCv0eqqqr+I+oZWPriF6aHrQZEc=
+ dependencies:
+ async-validator "~1.8.1"
+ babel-helper-vue-jsx-merge-props "^2.0.0"
+ deepmerge "^1.2.0"
+ normalize-wheel "^1.0.1"
+ resize-observer-polyfill "^1.5.0"
+ throttle-debounce "^1.0.1"
+
+elliptic@^6.0.0, elliptic@^6.5.2:
+ version "6.5.2"
+ resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
+ integrity sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=
+
+emojis-list@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha1-VXBmIEatKeLpFucariYKvf9Pang=
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=
+ dependencies:
+ once "^1.4.0"
+
+enhanced-resolve@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz?cache=0&sync_timestamp=1590177916930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66"
+ integrity sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y=
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+enquirer@^2.3.5:
+ version "2.3.5"
+ resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381"
+ integrity sha1-OrK4ON8KnYq559/yNbDocS75I4E=
+ dependencies:
+ ansi-colors "^3.2.1"
+
+entities@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
+ integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=
+
+entities@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436"
+ integrity sha1-rHTbC7qNM4CLvzaAnDpcNoNTFDY=
+
+errno@^0.1.3, errno@~0.1.7:
+ version "0.1.7"
+ resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8=
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&sync_timestamp=1578288503034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8"
+ integrity sha1-WpmnB716TFinl5AtSNgoA+3mqtg=
+ dependencies:
+ stackframe "^1.1.1"
+
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
+ version "1.17.5"
+ resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9"
+ integrity sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk=
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.1.5"
+ is-regex "^1.0.5"
+ object-inspect "^1.7.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.0"
+ string.prototype.trimleft "^2.1.1"
+ string.prototype.trimright "^2.1.1"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1587627212242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+eslint-loader@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337"
+ integrity sha1-KLnBLaVAV68IReKmEScBova/gzc=
+ dependencies:
+ loader-fs-cache "^1.0.0"
+ loader-utils "^1.0.2"
+ object-assign "^4.0.1"
+ object-hash "^1.1.4"
+ rimraf "^2.6.1"
+
+eslint-plugin-vue@^6.2.2:
+ version "6.2.2"
+ resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe"
+ integrity sha1-J/7NmjokeJsPER7N1UCp5WGY4P4=
+ dependencies:
+ natural-compare "^1.4.0"
+ semver "^5.6.0"
+ vue-eslint-parser "^7.0.0"
+
+eslint-scope@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
+ integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
+ integrity sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.0.tgz?cache=0&sync_timestamp=1591269986906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
+ integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU=
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1592843197443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz?cache=0&sync_timestamp=1565705511122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
+ integrity sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=
+
+eslint-visitor-keys@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1597435362955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=
+
+eslint@^7.8.1:
+ version "7.8.1"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-7.8.1.tgz#e59de3573fb6a5be8ff526c791571646d124a8fa"
+ integrity sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@eslint/eslintrc" "^0.1.3"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ enquirer "^2.3.5"
+ eslint-scope "^5.1.0"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^1.3.0"
+ espree "^7.3.0"
+ esquery "^1.2.0"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash "^4.17.19"
+ minimatch "^3.0.4"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ progress "^2.0.0"
+ regexpp "^3.1.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.0"
+ strip-json-comments "^3.1.0"
+ table "^5.2.3"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1588886720119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
+ integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=
+ dependencies:
+ acorn "^7.1.1"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.1.0"
+
+espree@^7.3.0:
+ version "7.3.0"
+ resolved "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348"
+ integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==
+ dependencies:
+ acorn "^7.4.0"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.3.0"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=
+
+esquery@^1.0.1, esquery@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
+ integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ integrity sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=
+ dependencies:
+ estraverse "^4.1.0"
+
+estraverse@^4.1.0, estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=
+
+estraverse@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz?cache=0&sync_timestamp=1586996117385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
+ integrity sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI=
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535492241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+event-pubsub@4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e"
+ integrity sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=
+
+eventemitter3@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.4.tgz?cache=0&sync_timestamp=1589283150629&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
+ integrity sha1-tUY6zmNaCD0Bi9x8kXtMXxCoU4Q=
+
+events@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz?cache=0&sync_timestamp=1578498298945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"
+ integrity sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=
+
+eventsource@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
+ integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=
+ dependencies:
+ original "^1.0.0"
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+execa@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
+ integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^4.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+execa@^3.3.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89"
+ integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ p-finally "^2.0.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
+execall@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/execall/download/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45"
+ integrity sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=
+ dependencies:
+ clone-regexp "^2.1.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+express@^4.16.3, express@^4.17.1:
+ version "4.17.1"
+ resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
+ integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=
+ dependencies:
+ accepts "~1.3.7"
+ array-flatten "1.1.1"
+ body-parser "1.19.0"
+ content-disposition "0.5.3"
+ content-type "~1.0.4"
+ cookie "0.4.0"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "~1.1.2"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "~1.1.2"
+ fresh "0.5.2"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.5"
+ qs "6.7.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.1.2"
+ send "0.17.1"
+ serve-static "1.14.1"
+ setprototypeof "1.1.1"
+ statuses "~1.5.0"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0, extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz?cache=0&sync_timestamp=1562602052556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexternal-editor%2Fdownload%2Fexternal-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^2.0.2, extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
+ integrity sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=
+
+fast-glob@^2.2.6:
+ version "2.2.7"
+ resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1582318661510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050=
+ dependencies:
+ "@mrmlnc/readdir-enhanced" "^2.2.1"
+ "@nodelib/fs.stat" "^1.1.2"
+ glob-parent "^3.1.0"
+ is-glob "^4.0.0"
+ merge2 "^1.2.3"
+ micromatch "^3.1.10"
+
+fast-glob@^3.1.1:
+ version "3.2.2"
+ resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.2.tgz?cache=0&sync_timestamp=1582318661510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d"
+ integrity sha1-reGp2RFIll1L98UfcuHKZi0y5j0=
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
+fast-glob@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.4.tgz?cache=0&sync_timestamp=1592290365180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
+ integrity sha1-0grvv5lXk4Pn88xmUpFYybmFVNM=
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576367703577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fastest-levenshtein@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2"
+ integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
+
+fastq@^1.6.0:
+ version "1.8.0"
+ resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.8.0.tgz?cache=0&sync_timestamp=1589280329638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
+ integrity sha1-VQ4fn1m7xl/hhctqm02VNXEH9IE=
+ dependencies:
+ reusify "^1.0.4"
+
+faye-websocket@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
+ integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+faye-websocket@~0.11.1:
+ version "0.11.3"
+ resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
+ integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4=
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+figgy-pudding@^3.5.1:
+ version "3.5.2"
+ resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
+ integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=
+
+figures@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=
+ dependencies:
+ flat-cache "^2.0.1"
+
+file-loader@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
+ integrity sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=
+ dependencies:
+ loader-utils "^1.2.3"
+ schema-utils "^2.5.0"
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=
+
+filesize@^3.6.1:
+ version "3.6.1"
+ resolved "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
+ integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha1-GRmmp8df44ssfHflGYU12prN2kA=
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+ integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ statuses "~1.5.0"
+ unpipe "~1.0.0"
+
+find-cache-dir@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1583734591888&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
+ integrity sha1-yN765XyKUqinhPnjHFfHQumToLk=
+ dependencies:
+ commondir "^1.0.1"
+ mkdirp "^0.5.1"
+ pkg-dir "^1.0.0"
+
+find-cache-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1583734591888&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+ integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^2.0.0"
+ pkg-dir "^3.0.0"
+
+find-cache-dir@^3.0.0, find-cache-dir@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734591888&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+ integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^3.0.2"
+ pkg-dir "^4.1.0"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@^4.0.0, find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+first-chunk-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffirst-chunk-stream%2Fdownload%2Ffirst-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
+ integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
+
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flatted@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
+ integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=
+
+flush-write-stream@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.3.6"
+
+follow-redirects@^1.0.0:
+ version "1.11.0"
+ resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.11.0.tgz?cache=0&sync_timestamp=1585479417937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.11.0.tgz#afa14f08ba12a52963140fe43212658897bc0ecb"
+ integrity sha1-r6FPCLoSpSljFA/kMhJliJe8Dss=
+ dependencies:
+ debug "^3.0.0"
+
+follow-redirects@^1.10.0:
+ version "1.13.0"
+ resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597058070545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
+ integrity sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs=
+
+for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1573027118125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y=
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+forwarded@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
+ integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
+fs-extra@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+ integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-minipass@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628584498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=
+ dependencies:
+ minipass "^3.0.0"
+
+fs-readdir-recursive@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/fs-readdir-recursive/download/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
+ integrity sha1-4y/AMKLM7kSmtTcTCNpUvgs5fSc=
+
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.2.7:
+ version "1.2.13"
+ resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.12.1"
+
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+gaze@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
+ integrity sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=
+ dependencies:
+ globule "^1.0.0"
+
+gensync@^1.0.0-beta.1:
+ version "1.0.0-beta.1"
+ resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
+ integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=
+
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=
+
+get-pixels@~3.3.0:
+ version "3.3.2"
+ resolved "https://registry.npm.taobao.org/get-pixels/download/get-pixels-3.3.2.tgz#3f62fb8811932c69f262bba07cba72b692b4ff03"
+ integrity sha1-P2L7iBGTLGnyYrugfLpytpK0/wM=
+ dependencies:
+ data-uri-to-buffer "0.0.3"
+ jpeg-js "^0.3.2"
+ mime-types "^2.0.1"
+ ndarray "^1.0.13"
+ ndarray-pack "^1.1.1"
+ node-bitmap "0.0.1"
+ omggif "^1.0.5"
+ parse-data-uri "^0.2.0"
+ pngjs "^3.3.3"
+ request "^2.44.0"
+ through "^2.3.4"
+
+get-stdin@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
+ integrity sha1-y61qc/63X27rIrqeAfiaooqpelM=
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
+get-stream@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU=
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
+ integrity sha1-ASA83JJZf5uQkGfD5lbMH008Tck=
+ dependencies:
+ pump "^3.0.0"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
+gif-encoder@~0.4.1:
+ version "0.4.3"
+ resolved "https://registry.npm.taobao.org/gif-encoder/download/gif-encoder-0.4.3.tgz#8a2b4fe8ca895a48e3a0b6cbb340a0a6a3571899"
+ integrity sha1-iitP6MqJWkjjoLbLs0CgpqNXGJk=
+ dependencies:
+ readable-stream "~1.1.9"
+
+glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-to-regexp@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+ integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
+
+glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1:
+ version "7.1.6"
+ resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&sync_timestamp=1573078079496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=
+ dependencies:
+ global-prefix "^3.0.0"
+
+global-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=
+ dependencies:
+ ini "^1.3.5"
+ kind-of "^6.0.2"
+ which "^1.3.1"
+
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=
+
+globals@^12.1.0:
+ version "12.4.0"
+ resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
+ integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=
+ dependencies:
+ type-fest "^0.8.1"
+
+globby@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz?cache=0&sync_timestamp=1591083787584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
+ integrity sha1-mivxB6Bo8//qvEmtcCx57ejP01c=
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
+globby@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
+ integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
+ dependencies:
+ array-union "^1.0.1"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globby@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
+ integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA=
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "^2.0.0"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
+globby@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
+ integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0=
+ dependencies:
+ "@types/glob" "^7.1.1"
+ array-union "^1.0.2"
+ dir-glob "^2.2.2"
+ fast-glob "^2.2.6"
+ glob "^7.1.3"
+ ignore "^4.0.3"
+ pify "^4.0.1"
+ slash "^2.0.0"
+
+globjoin@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/globjoin/download/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43"
+ integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=
+
+globule@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9"
+ integrity sha1-kKJTOPIrf761J87mPGKa6nVNM7k=
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.17.12"
+ minimatch "~3.0.2"
+
+gonzales-pe@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/gonzales-pe/download/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3"
+ integrity sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=
+ dependencies:
+ minimist "^1.2.5"
+
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
+ dependencies:
+ delegate "^3.1.2"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2:
+ version "4.2.4"
+ resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1588086876757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=
+
+gzip-size@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
+ integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=
+ dependencies:
+ duplexer "^0.1.1"
+ pify "^4.0.1"
+
+handle-thing@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
+ integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=
+
+handlebars-layouts@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.npm.taobao.org/handlebars-layouts/download/handlebars-layouts-3.1.4.tgz#26b3beb931b4b877dfbf7e6feaf4058ee6228b02"
+ integrity sha1-JrO+uTG0uHffv35v6vQFjuYiiwI=
+
+handlebars@^4.6.0:
+ version "4.7.6"
+ resolved "https://registry.npm.taobao.org/handlebars/download/handlebars-4.7.6.tgz?cache=0&sync_timestamp=1585937700804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhandlebars%2Fdownload%2Fhandlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e"
+ integrity sha1-1MBcG6+Q6ZRfd6pop6IZqkp9904=
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.0"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+ version "5.1.3"
+ resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
+ integrity sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=
+ dependencies:
+ ajv "^6.5.5"
+ har-schema "^2.0.0"
+
+hard-rejection@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/hard-rejection/download/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883"
+ integrity sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+ integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=
+
+has-symbols@^1.0.0, has-symbols@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
+ integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.0, has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
+ dependencies:
+ function-bind "^1.1.1"
+
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash-sum@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
+ integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=
+
+hash-sum@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-sum%2Fdownload%2Fhash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
+ integrity sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.7"
+ resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+he@1.2.x, he@^1.1.0, he@^1.1.1, he@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8=
+
+hex-color-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
+ integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=
+
+highlight.js@^9.6.0:
+ version "9.18.1"
+ resolved "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c"
+ integrity sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=
+
+hmac-drbg@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+hoopy@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
+ integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0=
+
+hosted-git-info@^2.1.4:
+ version "2.8.8"
+ resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1583017392137&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
+ integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=
+
+hotkeys-js@^3.8.1:
+ version "3.8.1"
+ resolved "https://registry.npm.taobao.org/hotkeys-js/download/hotkeys-js-3.8.1.tgz#fa7051f73bf1dc92a8b8d580a40b247f91966376"
+ integrity sha1-+nBR9zvx3JKouNWApAskf5GWY3Y=
+
+hpack.js@^2.1.6:
+ version "2.1.6"
+ resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
+ integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=
+ dependencies:
+ inherits "^2.0.1"
+ obuf "^1.0.0"
+ readable-stream "^2.0.1"
+ wbuf "^1.1.0"
+
+hsl-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
+ integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
+
+hsla-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
+ integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
+
+html-comment-regex@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
+ integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=
+
+html-entities@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
+ integrity sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=
+
+html-minifier-terser@^5.0.1:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/html-minifier-terser/download/html-minifier-terser-5.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-minifier-terser%2Fdownload%2Fhtml-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054"
+ integrity sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ=
+ dependencies:
+ camel-case "^4.1.1"
+ clean-css "^4.2.3"
+ commander "^4.1.1"
+ he "^1.2.0"
+ param-case "^3.0.3"
+ relateurl "^0.2.7"
+ terser "^4.6.3"
+
+html-minifier@^3.2.3:
+ version "3.5.21"
+ resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
+ integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=
+ dependencies:
+ camel-case "3.0.x"
+ clean-css "4.2.x"
+ commander "2.17.x"
+ he "1.2.x"
+ param-case "2.1.x"
+ relateurl "0.2.x"
+ uglify-js "3.4.x"
+
+html-tags@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b"
+ integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=
+
+html-tags@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
+ integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=
+
+html-webpack-plugin@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1588268411154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
+ integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s=
+ dependencies:
+ html-minifier "^3.2.3"
+ loader-utils "^0.2.16"
+ lodash "^4.17.3"
+ pretty-error "^2.0.2"
+ tapable "^1.0.0"
+ toposort "^1.0.0"
+ util.promisify "1.0.0"
+
+html-webpack-plugin@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.4.1.tgz#61ab85aa1a84ba181443345ebaead51abbb84149"
+ integrity sha512-nEtdEIsIGXdXGG7MjTTZlmhqhpHU9pJFc1OYxcP36c5/ZKP6b0BJMww2QTvJGQYA9aMxUnjDujpZdYcVOXiBCQ==
+ dependencies:
+ "@types/html-minifier-terser" "^5.0.0"
+ "@types/tapable" "^1.0.5"
+ "@types/webpack" "^4.41.8"
+ html-minifier-terser "^5.0.1"
+ loader-utils "^1.2.3"
+ lodash "^4.17.15"
+ pretty-error "^2.1.1"
+ tapable "^1.1.3"
+ util.promisify "1.0.0"
+
+htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.8.3:
+ version "3.10.1"
+ resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
+ integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=
+ dependencies:
+ domelementtype "^1.3.1"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^3.1.1"
+
+http-deceiver@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
+ integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
+
+http-errors@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
+ integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
+http-errors@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+ integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+"http-parser-js@>=0.4.0 <0.4.11":
+ version "0.4.10"
+ resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz?cache=0&sync_timestamp=1572714627611&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
+ integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
+
+http-proxy-middleware@0.19.1:
+ version "0.19.1"
+ resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz?cache=0&sync_timestamp=1589915518285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
+ integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=
+ dependencies:
+ http-proxy "^1.17.0"
+ is-glob "^4.0.0"
+ lodash "^4.17.11"
+ micromatch "^3.1.10"
+
+http-proxy@^1.17.0:
+ version "1.18.1"
+ resolved "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
+ integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=
+ dependencies:
+ eventemitter3 "^4.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1585807808622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1584198662293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M=
+
+iconv-lite@0.4.24, iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1579333981154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+icss-utils@^4.0.0, icss-utils@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
+ integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=
+ dependencies:
+ postcss "^7.0.14"
+
+ieee754@^1.1.4:
+ version "1.1.13"
+ resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
+ integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
+
+ignore@^3.3.5:
+ version "3.3.10"
+ resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=
+
+ignore@^4.0.3, ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=
+
+ignore@^5.1.4:
+ version "5.1.6"
+ resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.6.tgz#643194ad4bf2712f37852e386b6998eff0db2106"
+ integrity sha1-ZDGUrUvycS83hS44a2mY7/DbIQY=
+
+ignore@^5.1.8:
+ version "5.1.8"
+ resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
+ integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=
+
+image-size@^0.5.1:
+ version "0.5.5"
+ resolved "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
+ integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
+
+import-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
+ integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
+ dependencies:
+ import-from "^2.1.0"
+
+import-fresh@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
+ dependencies:
+ caller-path "^2.0.0"
+ resolve-from "^3.0.0"
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-from@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
+ integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
+ dependencies:
+ resolve-from "^3.0.0"
+
+import-lazy@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/import-lazy/download/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
+ integrity sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=
+
+import-local@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
+ integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0=
+ dependencies:
+ pkg-dir "^3.0.0"
+ resolve-cwd "^2.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=
+
+indexes-of@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+ integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
+
+infer-owner@^1.0.3, infer-owner@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc=
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
+
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
+ini@^1.3.5:
+ version "1.3.5"
+ resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=
+
+inquirer@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29"
+ integrity sha1-EpigGFmIPhfHJkuChwrhA0+S3Sk=
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^3.0.0"
+ cli-cursor "^3.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.15"
+ mute-stream "0.0.8"
+ run-async "^2.4.0"
+ rxjs "^6.5.3"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+
+inquirer@^7.3.2:
+ version "7.3.3"
+ resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
+ integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.0"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.19"
+ mute-stream "0.0.8"
+ run-async "^2.4.0"
+ rxjs "^6.6.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+
+internal-ip@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
+ integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=
+ dependencies:
+ default-gateway "^4.2.0"
+ ipaddr.js "^1.9.0"
+
+invariant@^2.2.2, invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
+ dependencies:
+ loose-envify "^1.0.0"
+
+iota-array@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/iota-array/download/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087"
+ integrity sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=
+
+ip-regex@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
+ integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
+
+ip@^1.1.0, ip@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
+ integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
+
+ipaddr.js@1.9.1, ipaddr.js@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=
+
+irregular-plurals@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766"
+ integrity sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=
+
+is-absolute-url@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569736493122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+ integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
+
+is-absolute-url@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz?cache=0&sync_timestamp=1569736493122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
+ integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=
+ dependencies:
+ kind-of "^6.0.0"
+
+is-alphabetical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-alphabetical/download/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
+ integrity sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=
+
+is-alphanumeric@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-alphanumeric/download/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
+ integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
+
+is-alphanumerical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
+ integrity sha1-frmiQx+FX2se8aeOMm31FWlsTb8=
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
+is-arguments@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
+ integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-buffer@^1.0.2, is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha1-76ouqdqg16suoTqXsritUf776L4=
+
+is-buffer@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
+ integrity sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=
+
+is-callable@^1.1.4, is-callable@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
+ integrity sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=
+
+is-ci@^1.0.10:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
+ integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=
+ dependencies:
+ ci-info "^1.5.0"
+
+is-color-stop@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
+ integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
+ dependencies:
+ css-color-names "^0.0.4"
+ hex-color-regex "^1.1.0"
+ hsl-regex "^1.0.0"
+ hsla-regex "^1.0.0"
+ rgb-regex "^1.0.1"
+ rgba-regex "^1.0.0"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
+ integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=
+
+is-decimal@^1.0.0, is-decimal@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-decimal/download/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
+ integrity sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+
+is-docker@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/is-docker/download/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
+ integrity sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls=
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hexadecimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
+ integrity sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=
+
+is-path-cwd@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1562347283002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
+ integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=
+
+is-path-in-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
+ integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss=
+ dependencies:
+ is-path-inside "^2.1.0"
+
+is-path-inside@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
+ integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=
+ dependencies:
+ path-is-inside "^1.0.2"
+
+is-plain-obj@^1.0.0, is-plain-obj@^1.1, is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=
+ dependencies:
+ isobject "^3.0.1"
+
+is-regex@^1.0.4, is-regex@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz?cache=0&sync_timestamp=1576454688491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
+ integrity sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=
+ dependencies:
+ has "^1.0.3"
+
+is-regexp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
+ integrity sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=
+
+is-resolvable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
+ integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=
+
+is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM=
+
+is-svg@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
+ integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=
+ dependencies:
+ html-comment-regex "^1.1.0"
+
+is-symbol@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
+ integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=
+ dependencies:
+ has-symbols "^1.0.1"
+
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+is-whitespace-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-whitespace-character/download/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
+ integrity sha1-CFjt2UqVWUx8ndC1wXTsbkXuSqc=
+
+is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=
+
+is-word-character@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/is-word-character/download/is-word-character-1.0.4.tgz?cache=0&sync_timestamp=1579950063927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-word-character%2Fdownload%2Fis-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230"
+ integrity sha1-zg5zIW+YWZBgWS9i/zE1TdvrAjA=
+
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+
+is-wsl@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz?cache=0&sync_timestamp=1588494180082&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=
+ dependencies:
+ is-docker "^2.0.0"
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isobject@^2.0.0, isobject@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+javascript-stringify@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5"
+ integrity sha1-bvNYA1MQ411mfGde1j0+t8GqGeU=
+
+jest-worker@^25.4.0:
+ version "25.5.0"
+ resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
+ integrity sha1-JhHQcbec6g9D7lej0RhZOsFUfbE=
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
+jpeg-js@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.npm.taobao.org/jpeg-js/download/jpeg-js-0.0.4.tgz#06aaf47efec7af0b1924a59cd695a6d2b5ed870e"
+ integrity sha1-Bqr0fv7HrwsZJKWc1pWm0rXthw4=
+
+jpeg-js@^0.3.2:
+ version "0.3.7"
+ resolved "https://registry.npm.taobao.org/jpeg-js/download/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d"
+ integrity sha1-RxqJ0GARZAWS0xQVhghpAXKxAo0=
+
+js-base64@^2.1.9:
+ version "2.5.2"
+ resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz?cache=0&sync_timestamp=1581520619493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209"
+ integrity sha1-MTtidN2nGPcU0AszMLuubjjpAgk=
+
+js-message@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15"
+ integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=
+
+js-queue@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948"
+ integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=
+ dependencies:
+ easy-stack "^1.0.0"
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk=
+
+js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
+js-yaml@^3.13.1:
+ version "3.14.0"
+ resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172122543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
+ integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II=
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+
+json-content-demux@~0.1.2:
+ version "0.1.3"
+ resolved "https://registry.npm.taobao.org/json-content-demux/download/json-content-demux-0.1.3.tgz#5c1277bf7f3b7512a86b732ddd41b32d4dfcb1cc"
+ integrity sha1-XBJ3v387dRKoa3Mt3UGzLU38scw=
+
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA=
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json3@^3.3.2:
+ version "3.3.3"
+ resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
+ integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=
+
+json5@^0.5.0:
+ version "0.5.1"
+ resolved "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=
+ dependencies:
+ minimist "^1.2.0"
+
+json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz?cache=0&sync_timestamp=1586046271069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=
+ dependencies:
+ minimist "^1.2.5"
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+killable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
+ integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0, kind-of@^5.0.2:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=
+
+kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=
+
+klona@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/klona/download/klona-2.0.3.tgz#98274552c513583ad7a01456a789a2a0b4a2a538"
+ integrity sha1-mCdFUsUTWDrXoBRWp4mioLSipTg=
+
+known-css-properties@^0.19.0:
+ version "0.19.0"
+ resolved "https://registry.npm.taobao.org/known-css-properties/download/known-css-properties-0.19.0.tgz#5d92b7fa16c72d971bda9b7fe295bdf61836ee5b"
+ integrity sha1-XZK3+hbHLZcb2pt/4pW99hg27ls=
+
+launch-editor-middleware@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157"
+ integrity sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=
+ dependencies:
+ launch-editor "^2.2.1"
+
+launch-editor@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca"
+ integrity sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=
+ dependencies:
+ chalk "^2.3.0"
+ shell-quote "^1.6.1"
+
+layout@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/layout/download/layout-2.2.0.tgz#31e44bfc18dd1019b3ffb208e402a4bbfe2e6af4"
+ integrity sha1-MeRL/BjdEBmz/7II5AKku/4uavQ=
+ dependencies:
+ bin-pack "~1.0.1"
+
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=
+
+levenary@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
+ integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c=
+ dependencies:
+ leven "^3.1.0"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
+loader-fs-cache@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9"
+ integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=
+ dependencies:
+ find-cache-dir "^0.1.1"
+ mkdirp "^0.5.1"
+
+loader-runner@^2.3.1, loader-runner@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+ integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=
+
+loader-utils@^0.2.16:
+ version "0.2.17"
+ resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
+ integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=
+ dependencies:
+ big.js "^3.1.3"
+ emojis-list "^2.0.0"
+ json5 "^0.5.0"
+ object-assign "^4.0.1"
+
+loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha1-xXm140yzSxp07cbB+za/o3HVphM=
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
+ integrity sha1-5MrOW4FtQloWa18JfhDNErNgZLA=
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash.defaultsdeep@^4.6.1:
+ version "4.6.1"
+ resolved "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6"
+ integrity sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=
+
+lodash.kebabcase@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
+ integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY=
+
+lodash.mapvalues@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c"
+ integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=
+
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
+
+lodash.transform@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
+ integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
+
+lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@~4.17.12:
+ version "4.17.15"
+ resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=
+
+lodash@^4.17.19, lodash@^4.17.20:
+ version "4.17.20"
+ resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336082988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
+ integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=
+
+log-symbols@^2.1.0, log-symbols@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=
+ dependencies:
+ chalk "^2.0.1"
+
+log-symbols@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+ integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA=
+ dependencies:
+ chalk "^4.0.0"
+
+loglevel@^1.6.8:
+ version "1.6.8"
+ resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171"
+ integrity sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=
+
+longest-streak@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1579948347820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
+ integrity sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=
+
+loose-envify@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case@^1.1.1:
+ version "1.1.4"
+ resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+ integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+
+lower-case@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7"
+ integrity sha1-Oe6zbjlhFcwF4pQi6uqeaSyUCMc=
+ dependencies:
+ tslib "^1.10.0"
+
+lru-cache@^4.0.1, lru-cache@^4.1.2:
+ version "4.1.5"
+ resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=
+ dependencies:
+ yallist "^3.0.2"
+
+make-dir@^2.0.0, make-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567610342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
+make-dir@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567610342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=
+ dependencies:
+ semver "^6.0.0"
+
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1560578867343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+map-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-4.1.0.tgz?cache=0&sync_timestamp=1560578867343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5"
+ integrity sha1-uRIhtUJzS58UJWwBMsiXxdclb9U=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
+markdown-escapes@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/markdown-escapes/download/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
+ integrity sha1-yVQV70UUmddgK5EJXzyOiXX3hTU=
+
+markdown-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/markdown-table/download/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
+ integrity sha1-GUqQztJtMf51PYuUNEMCFMARhls=
+ dependencies:
+ repeat-string "^1.0.0"
+
+mathml-tag-names@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
+ integrity sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+mdast-util-compact@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/mdast-util-compact/download/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490"
+ integrity sha1-yrxpovQxA2KDJvNbGs9zXVXJlJA=
+ dependencies:
+ unist-util-visit "^2.0.0"
+
+mdn-data@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
+ integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=
+
+mdn-data@2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
+ integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+memory-fs@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537491040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
+ integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+meow@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306"
+ integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==
+ dependencies:
+ "@types/minimist" "^1.2.0"
+ camelcase-keys "^6.2.2"
+ decamelize-keys "^1.1.0"
+ hard-rejection "^2.1.0"
+ minimist-options "4.1.0"
+ normalize-package-data "^2.5.0"
+ read-pkg-up "^7.0.1"
+ redent "^3.0.0"
+ trim-newlines "^3.0.0"
+ type-fest "^0.13.1"
+ yargs-parser "^18.1.3"
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+merge-options@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/merge-options/download/merge-options-1.0.1.tgz#2a64b24457becd4e4dc608283247e94ce589aa32"
+ integrity sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI=
+ dependencies:
+ is-plain-obj "^1.1"
+
+merge-source-map@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
+ integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=
+ dependencies:
+ source-map "^0.6.1"
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=
+
+merge2@^1.2.3, merge2@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
+ integrity sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+micromatch@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.0.tgz#5102d4eaf20b6997d6008e3acfe1c44a3fa815e2"
+ integrity sha1-UQLU6vILaZfWAI46z+HESj+oFeI=
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.2.2"
+ define-property "^1.0.0"
+ extend-shallow "^2.0.1"
+ extglob "^2.0.2"
+ fragment-cache "^0.2.1"
+ kind-of "^5.0.2"
+ nanomatch "^1.2.1"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+micromatch@^3.1.10, micromatch@^3.1.4:
+ version "3.1.10"
+ resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM=
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@1.44.0, "mime-db@>= 1.43.0 < 2":
+ version "1.44.0"
+ resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1587603398892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
+ integrity sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=
+
+mime-types@^2.0.1, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.7:
+ version "2.1.27"
+ resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz?cache=0&sync_timestamp=1587700357177&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
+ integrity sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=
+ dependencies:
+ mime-db "1.44.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=
+
+mime@^2.4.4:
+ version "2.4.5"
+ resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009"
+ integrity sha1-2N4uy5KYLe27ZUHJtoQdfyGOoAk=
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=
+
+min-indent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256"
+ integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=
+
+mini-css-extract-plugin@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1576856580721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e"
+ integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54=
+ dependencies:
+ loader-utils "^1.1.0"
+ normalize-url "1.9.1"
+ schema-utils "^1.0.0"
+ webpack-sources "^1.1.0"
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=
+
+minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+
+minimatch@^3.0.4, minimatch@~3.0.2:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist-options@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
+ integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
+ dependencies:
+ arrify "^1.0.1"
+ is-plain-obj "^1.1.0"
+ kind-of "^6.0.3"
+
+minimist@^1.2.0, minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=
+
+minipass-collect@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
+ integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-flush@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373"
+ integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-pipeline@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34"
+ integrity sha1-VfeDkwfXSFnW6K2pw+vnLOwhajQ=
+ dependencies:
+ minipass "^3.0.0"
+
+minipass@^3.0.0, minipass@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
+ integrity sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=
+ dependencies:
+ yallist "^4.0.0"
+
+mississippi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI=
+ dependencies:
+ concat-stream "^1.5.0"
+ duplexify "^3.4.2"
+ end-of-stream "^1.1.0"
+ flush-write-stream "^1.0.0"
+ from2 "^2.1.0"
+ parallel-transform "^1.1.0"
+ pump "^3.0.0"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
+mitt@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/mitt/download/mitt-1.1.2.tgz#380e61480d6a615b660f07abb60d51e0a4e4bed6"
+ integrity sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1:
+ version "0.5.5"
+ resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=
+ dependencies:
+ minimist "^1.2.5"
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
+ dependencies:
+ aproba "^1.1.1"
+ copy-concurrently "^1.0.0"
+ fs-write-stream-atomic "^1.0.8"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.3"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+ integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=
+
+ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=
+
+multicast-dns-service-types@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
+ integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=
+
+multicast-dns@^6.0.1:
+ version "6.2.3"
+ resolved "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1585239065356&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229"
+ integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik=
+ dependencies:
+ dns-packet "^1.3.1"
+ thunky "^1.0.2"
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=
+
+mz@^2.4.0, mz@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
+ integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=
+ dependencies:
+ any-promise "^1.0.0"
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
+nan@^2.12.1:
+ version "2.14.1"
+ resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
+ integrity sha1-174036MQW5FJTDFHCJMV7/iHSwE=
+
+nanomatch@^1.2.1, nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+ndarray-ops@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npm.taobao.org/ndarray-ops/download/ndarray-ops-1.2.2.tgz#59e88d2c32a7eebcb1bc690fae141579557a614e"
+ integrity sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=
+ dependencies:
+ cwise-compiler "^1.0.0"
+
+ndarray-pack@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/ndarray-pack/download/ndarray-pack-1.2.1.tgz#8caebeaaa24d5ecf70ff86020637977da8ee585a"
+ integrity sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=
+ dependencies:
+ cwise-compiler "^1.1.2"
+ ndarray "^1.0.13"
+
+ndarray@^1.0.13, ndarray@^1.0.18, ndarray@~1.0.15:
+ version "1.0.19"
+ resolved "https://registry.npm.taobao.org/ndarray/download/ndarray-1.0.19.tgz#6785b5f5dfa58b83e31ae5b2a058cfd1ab3f694e"
+ integrity sha1-Z4W19d+li4PjGuWyoFjP0as/aU4=
+ dependencies:
+ iota-array "^1.0.0"
+ is-buffer "^1.0.2"
+
+negotiator@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=
+
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
+ integrity sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=
+
+neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8=
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=
+
+no-case@^2.2.0:
+ version "2.3.2"
+ resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1576748705107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=
+ dependencies:
+ lower-case "^1.1.1"
+
+no-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/no-case/download/no-case-3.0.3.tgz?cache=0&sync_timestamp=1576748705107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8"
+ integrity sha1-whtDTB/+SLOQh+hs+00lgunfGPg=
+ dependencies:
+ lower-case "^2.0.1"
+ tslib "^1.10.0"
+
+node-bitmap@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/node-bitmap/download/node-bitmap-0.0.1.tgz#180eac7003e0c707618ef31368f62f84b2a69091"
+ integrity sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=
+
+node-forge@0.9.0:
+ version "0.9.0"
+ resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1569524669712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
+ integrity sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk=
+
+node-ipc@^9.1.1:
+ version "9.1.1"
+ resolved "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69"
+ integrity sha1-TiRe1pOOZRAOWV68XcNLFujdXWk=
+ dependencies:
+ event-pubsub "4.3.0"
+ js-message "1.0.5"
+ js-queue "2.0.0"
+
+node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=
+ dependencies:
+ assert "^1.1.1"
+ browserify-zlib "^0.2.0"
+ buffer "^4.3.0"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ crypto-browserify "^3.11.0"
+ domain-browser "^1.1.1"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.1"
+ process "^0.11.10"
+ punycode "^1.2.4"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.3.3"
+ stream-browserify "^2.0.1"
+ stream-http "^2.7.2"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.11.0"
+ vm-browserify "^1.0.1"
+
+node-releases@^1.1.53:
+ version "1.1.56"
+ resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.56.tgz?cache=0&sync_timestamp=1589962280441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.56.tgz#bc054a417d316e3adac90eafb7e1932802f28705"
+ integrity sha1-vAVKQX0xbjrayQ6vt+GTKALyhwU=
+
+normalize-package-data@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
+ integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=
+
+normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+
+normalize-selector@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/normalize-selector/download/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03"
+ integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=
+
+normalize-url@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+ integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
+ dependencies:
+ object-assign "^4.0.1"
+ prepend-http "^1.0.0"
+ query-string "^4.1.0"
+ sort-keys "^1.0.0"
+
+normalize-url@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
+ integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk=
+
+normalize-wheel@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
+ integrity sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+ dependencies:
+ path-key "^2.0.0"
+
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo=
+ dependencies:
+ path-key "^3.0.0"
+
+nprogress@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz?cache=0&sync_timestamp=1587262530340&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnprogress%2Fdownload%2Fnprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
+ integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E=
+
+nth-check@^1.0.2, nth-check@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
+ integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=
+ dependencies:
+ boolbase "~1.0.0"
+
+num2fraction@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+ integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=
+
+obj-extend@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npm.taobao.org/obj-extend/download/obj-extend-0.1.0.tgz#bb448a4775fb95eb34a781f908bbac2df23dbb5b"
+ integrity sha1-u0SKR3X7les0p4H5CLusLfI9u1s=
+
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-hash@^1.1.4:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
+ integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=
+
+object-inspect@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
+ integrity sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=
+
+object-is@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz?cache=0&sync_timestamp=1586894009620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6"
+ integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4=
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ object-keys "^1.0.11"
+
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
+ integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
+object.values@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
+ integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+obuf@^1.0.0, obuf@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
+ integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=
+
+omggif@^1.0.5:
+ version "1.0.10"
+ resolved "https://registry.npm.taobao.org/omggif/download/omggif-1.0.10.tgz?cache=0&sync_timestamp=1563267388359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fomggif%2Fdownload%2Fomggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
+ integrity sha1-3ar5DUpC9TLp58s6lezdR/F8exk=
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+ integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha1-//DzyRYX/mK7UBiWNumayKbfe+U=
+ dependencies:
+ mimic-fn "^2.1.0"
+
+open@^6.3.0:
+ version "6.4.0"
+ resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
+ integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=
+ dependencies:
+ is-wsl "^1.1.0"
+
+opener@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"
+ integrity sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0=
+
+opn@^5.5.0:
+ version "5.5.0"
+ resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopn%2Fdownload%2Fopn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
+ integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=
+ dependencies:
+ is-wsl "^1.1.0"
+
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
+ora@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1587481470351&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
+ integrity sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=
+ dependencies:
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-spinners "^2.0.0"
+ log-symbols "^2.2.0"
+ strip-ansi "^5.2.0"
+ wcwidth "^1.0.1"
+
+original@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
+ integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=
+ dependencies:
+ url-parse "^1.4.3"
+
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+
+p-finally@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
+ integrity sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=
+ dependencies:
+ p-limit "^2.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc=
+ dependencies:
+ p-limit "^2.2.0"
+
+p-map@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
+ integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU=
+
+p-map@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
+ integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50=
+ dependencies:
+ aggregate-error "^3.0.0"
+
+p-retry@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328"
+ integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=
+ dependencies:
+ retry "^0.12.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=
+
+pako@~1.0.5:
+ version "1.0.11"
+ resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=
+
+parallel-transform@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
+ integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=
+ dependencies:
+ cyclist "^1.0.1"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+param-case@2.1.x:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1576721608924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+ integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
+ dependencies:
+ no-case "^2.2.0"
+
+param-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/param-case/download/param-case-3.0.3.tgz?cache=0&sync_timestamp=1576721608924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238"
+ integrity sha1-S+Qfg5nv9iHFbuu4KaXkUdmAEjg=
+ dependencies:
+ dot-case "^3.0.3"
+ tslib "^1.10.0"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=
+ dependencies:
+ callsites "^3.0.0"
+
+parse-asn1@^5.0.0, parse-asn1@^5.1.5:
+ version "5.1.5"
+ resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
+ integrity sha1-ADJxND2ljclMrOSU+u89IUfs6g4=
+ dependencies:
+ asn1.js "^4.0.0"
+ browserify-aes "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+ safe-buffer "^5.1.1"
+
+parse-data-uri@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/parse-data-uri/download/parse-data-uri-0.2.0.tgz#bf04d851dd5c87b0ab238e5d01ace494b604b4c9"
+ integrity sha1-vwTYUd1ch7CrI45dAazklLYEtMk=
+ dependencies:
+ data-uri-to-buffer "0.0.3"
+
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/parse-entities/download/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
+ integrity sha1-U8brW5MUofTsmfoP33zgHs2gy+g=
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha1-c+URTJhtFD76NxLU6iTbmkJm9g8=
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
+parse5-htmlparser2-tree-adapter@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-5.1.1.tgz?cache=0&sync_timestamp=1586993715810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5-htmlparser2-tree-adapter%2Fdownload%2Fparse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc"
+ integrity sha1-6MdD1OkhlNUpPs3isIvjHmdGHLw=
+ dependencies:
+ parse5 "^5.1.1"
+
+parse5@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
+ integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=
+
+parseurl@~1.3.2, parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=
+
+pascal-case@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.1.tgz?cache=0&sync_timestamp=1577925951636&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpascal-case%2Fdownload%2Fpascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f"
+ integrity sha1-WsGXUTPtYZKB6Ikglz0s0fJ53l8=
+ dependencies:
+ no-case "^3.0.3"
+ tslib "^1.10.0"
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo=
+
+path-dirname@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
+
+path-key@^2.0.0, path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1574441431664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=
+
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=
+ dependencies:
+ pify "^3.0.0"
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=
+
+pbkdf2@^3.0.3:
+ version "3.0.17"
+ resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
+ integrity sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+
+pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+
+pixelsmith@^2.3.0:
+ version "2.4.1"
+ resolved "https://registry.npm.taobao.org/pixelsmith/download/pixelsmith-2.4.1.tgz#4ccfecf6eb5447da1d38fe26f2d70d246a40179e"
+ integrity sha1-TM/s9utUR9odOP4m8tcNJGpAF54=
+ dependencies:
+ async "~0.9.0"
+ concat-stream "~1.5.1"
+ get-pixels "~3.3.0"
+ mime-types "~2.1.7"
+ ndarray "~1.0.15"
+ obj-extend "~0.1.0"
+ save-pixels "~2.3.0"
+ vinyl-file "~1.3.0"
+
+pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q=
+ dependencies:
+ find-up "^1.0.0"
+
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=
+ dependencies:
+ find-up "^3.0.0"
+
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=
+ dependencies:
+ find-up "^4.0.0"
+
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
+plur@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a"
+ integrity sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=
+ dependencies:
+ irregular-plurals "^1.0.0"
+
+pngjs-nozlib@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/pngjs-nozlib/download/pngjs-nozlib-1.0.0.tgz#9e64d602cfe9cce4d9d5997d0687429a73f0b7d7"
+ integrity sha1-nmTWAs/pzOTZ1Zl9BodCmnPwt9c=
+
+pngjs@^3.3.3:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/pngjs/download/pngjs-3.4.0.tgz?cache=0&sync_timestamp=1586978554221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpngjs%2Fdownload%2Fpngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+ integrity sha1-mcp9clll+2VYFOr2XzjxK72/VV8=
+
+pnp-webpack-plugin@^1.6.4:
+ version "1.6.4"
+ resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
+ integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk=
+ dependencies:
+ ts-pnp "^1.1.6"
+
+portfinder@^1.0.26:
+ version "1.0.26"
+ resolved "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70"
+ integrity sha1-R1ZY1WyjC+1yrH8TeO01C9G2TnA=
+ dependencies:
+ async "^2.6.2"
+ debug "^3.1.1"
+ mkdirp "^0.5.1"
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+postcss-calc@^7.0.1:
+ version "7.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz?cache=0&sync_timestamp=1582014221563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1"
+ integrity sha1-UE780AjKAnMSBWiweSsWzc3oqsE=
+ dependencies:
+ postcss "^7.0.27"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.0.2"
+
+postcss-colormin@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
+ integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=
+ dependencies:
+ browserslist "^4.0.0"
+ color "^3.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-convert-values@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
+ integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-discard-comments@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
+ integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-duplicates@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
+ integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-empty@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
+ integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-overridden@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
+ integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-html@^0.36.0:
+ version "0.36.0"
+ resolved "https://registry.npm.taobao.org/postcss-html/download/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204"
+ integrity sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=
+ dependencies:
+ htmlparser2 "^3.10.0"
+
+postcss-less@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.npm.taobao.org/postcss-less/download/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad"
+ integrity sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=
+ dependencies:
+ postcss "^7.0.14"
+
+postcss-load-config@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
+ integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM=
+ dependencies:
+ cosmiconfig "^5.0.0"
+ import-cwd "^2.0.0"
+
+postcss-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
+ integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=
+ dependencies:
+ loader-utils "^1.1.0"
+ postcss "^7.0.0"
+ postcss-load-config "^2.0.0"
+ schema-utils "^1.0.0"
+
+postcss-media-query-parser@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.npm.taobao.org/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
+ integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=
+
+postcss-merge-longhand@^4.0.11:
+ version "4.0.11"
+ resolved "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
+ integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=
+ dependencies:
+ css-color-names "0.0.4"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+ stylehacks "^4.0.0"
+
+postcss-merge-rules@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
+ integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA=
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-api "^3.0.0"
+ cssnano-util-same-parent "^4.0.0"
+ postcss "^7.0.0"
+ postcss-selector-parser "^3.0.0"
+ vendors "^1.0.0"
+
+postcss-minify-font-values@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
+ integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-minify-gradients@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
+ integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ is-color-stop "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-minify-params@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
+ integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=
+ dependencies:
+ alphanum-sort "^1.0.0"
+ browserslist "^4.0.0"
+ cssnano-util-get-arguments "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+ uniqs "^2.0.0"
+
+postcss-minify-selectors@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
+ integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=
+ dependencies:
+ alphanum-sort "^1.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-selector-parser "^3.0.0"
+
+postcss-modules-extract-imports@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
+ integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=
+ dependencies:
+ postcss "^7.0.5"
+
+postcss-modules-local-by-default@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
+ integrity sha1-6KZWG+kUqvPAUodjd1JMqQ27eRU=
+ dependencies:
+ icss-utils "^4.1.1"
+ postcss "^7.0.16"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.0.0"
+
+postcss-modules-scope@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
+ integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4=
+ dependencies:
+ postcss "^7.0.6"
+ postcss-selector-parser "^6.0.0"
+
+postcss-modules-values@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
+ integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=
+ dependencies:
+ icss-utils "^4.0.0"
+ postcss "^7.0.6"
+
+postcss-normalize-charset@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
+ integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-normalize-display-values@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
+ integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-positions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
+ integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-repeat-style@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
+ integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ cssnano-util-get-match "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-string@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
+ integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=
+ dependencies:
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-timing-functions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
+ integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk=
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-unicode@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
+ integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=
+ dependencies:
+ browserslist "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-url@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
+ integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=
+ dependencies:
+ is-absolute-url "^2.0.0"
+ normalize-url "^3.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-whitespace@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
+ integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-ordered-values@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
+ integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-prefix-selector@^1.6.0:
+ version "1.7.2"
+ resolved "https://registry.npm.taobao.org/postcss-prefix-selector/download/postcss-prefix-selector-1.7.2.tgz#3adeed903985734298f19d8f5e0b657f9d90d43c"
+ integrity sha1-Ot7tkDmFc0KY8Z2PXgtlf52Q1Dw=
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-reduce-initial@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
+ integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-api "^3.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+
+postcss-reduce-transforms@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
+ integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik=
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-resolve-nested-selector@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npm.taobao.org/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
+ integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=
+
+postcss-safe-parser@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96"
+ integrity sha1-ptTkjw832ffBGypYG/APi6SHC5Y=
+ dependencies:
+ postcss "^7.0.26"
+
+postcss-sass@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.npm.taobao.org/postcss-sass/download/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3"
+ integrity sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=
+ dependencies:
+ gonzales-pe "^4.3.0"
+ postcss "^7.0.21"
+
+postcss-scss@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1589779294434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383"
+ integrity sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=
+ dependencies:
+ postcss "^7.0.6"
+
+postcss-selector-parser@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
+ integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=
+ dependencies:
+ dot-prop "^5.2.0"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
+ integrity sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=
+ dependencies:
+ cssesc "^3.0.0"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-svgo@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
+ integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg=
+ dependencies:
+ is-svg "^3.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+ svgo "^1.0.0"
+
+postcss-syntax@^0.36.2:
+ version "0.36.2"
+ resolved "https://registry.npm.taobao.org/postcss-syntax/download/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c"
+ integrity sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=
+
+postcss-unique-selectors@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
+ integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=
+ dependencies:
+ alphanum-sort "^1.0.0"
+ postcss "^7.0.0"
+ uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.0:
+ version "3.3.1"
+ resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
+ integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE=
+
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083210998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
+ integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss=
+
+postcss@^5.2.17:
+ version "5.2.18"
+ resolved "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
+ integrity sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=
+ dependencies:
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
+
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6:
+ version "7.0.31"
+ resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.31.tgz#332af45cb73e26c0ee2614d7c7fb02dfcc2bd6dd"
+ integrity sha1-Myr0XLc+JsDuJhTXx/sC38wr1t0=
+ dependencies:
+ chalk "^2.4.2"
+ source-map "^0.6.1"
+ supports-color "^6.1.0"
+
+postcss@^7.0.32:
+ version "7.0.32"
+ resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
+ integrity sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0=
+ dependencies:
+ chalk "^2.4.2"
+ source-map "^0.6.1"
+ supports-color "^6.1.0"
+
+posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/posthtml-parser/download/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
+ integrity sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=
+ dependencies:
+ htmlparser2 "^3.8.3"
+ isobject "^2.1.0"
+
+posthtml-rename-id@^1.0:
+ version "1.0.12"
+ resolved "https://registry.npm.taobao.org/posthtml-rename-id/download/posthtml-rename-id-1.0.12.tgz#cf7f6eb37146bf1afac31e68f18c6cc19ae61433"
+ integrity sha1-z39us3FGvxr6wx5o8YxswZrmFDM=
+ dependencies:
+ escape-string-regexp "1.0.5"
+
+posthtml-render@^1.0.5, posthtml-render@^1.0.6:
+ version "1.2.2"
+ resolved "https://registry.npm.taobao.org/posthtml-render/download/posthtml-render-1.2.2.tgz?cache=0&sync_timestamp=1587028502123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fposthtml-render%2Fdownload%2Fposthtml-render-1.2.2.tgz#f554a19ed40d40e2bfc160826b0a91d4a23656cd"
+ integrity sha1-9VShntQNQOK/wWCCawqR1KI2Vs0=
+
+posthtml-svg-mode@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/posthtml-svg-mode/download/posthtml-svg-mode-1.0.3.tgz#abd554face81223cab0cb367e18e4efd2a4e74b0"
+ integrity sha1-q9VU+s6BIjyrDLNn4Y5O/SpOdLA=
+ dependencies:
+ merge-options "1.0.1"
+ posthtml "^0.9.2"
+ posthtml-parser "^0.2.1"
+ posthtml-render "^1.0.6"
+
+posthtml@^0.9.2:
+ version "0.9.2"
+ resolved "https://registry.npm.taobao.org/posthtml/download/posthtml-0.9.2.tgz#f4c06db9f67b61fd17c4e256e7e3d9515bf726fd"
+ integrity sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=
+ dependencies:
+ posthtml-parser "^0.2.0"
+ posthtml-render "^1.0.5"
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=
+
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
+prettier@^1.18.2:
+ version "1.19.1"
+ resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1587491448785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
+ integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=
+
+pretty-error@^2.0.2, pretty-error@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
+ integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=
+ dependencies:
+ renderkid "^2.0.1"
+ utila "~0.4"
+
+private@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+ integrity sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+ integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I=
+
+process@^0.11.10:
+ version "0.11.10"
+ resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=
+
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+
+proxy-addr@~2.0.5:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
+ integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=
+ dependencies:
+ forwarded "~0.1.2"
+ ipaddr.js "1.9.1"
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585142991033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=
+
+public-encrypt@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
+
+pump@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938200736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+
+punycode@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew=
+
+q@^1.1.2:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+
+qs@6.7.0:
+ version "6.7.0"
+ resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=
+
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=
+
+query-string@^4.1.0, query-string@^4.3.2:
+ version "4.3.4"
+ resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+ integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+
+querystringify@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
+ integrity sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=
+
+quick-lru@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npm.taobao.org/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1586159897557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
+ integrity sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@^1.2.1, range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=
+
+raw-body@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+ integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI=
+ dependencies:
+ bytes "3.1.0"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+read-pkg-up@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
+ integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=
+ dependencies:
+ find-up "^4.1.0"
+ read-pkg "^5.2.0"
+ type-fest "^0.8.1"
+
+read-pkg@^5.1.1, read-pkg@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
+ integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=
+ dependencies:
+ "@types/normalize-package-data" "^2.4.0"
+ normalize-package-data "^2.5.0"
+ parse-json "^5.0.0"
+ type-fest "^0.6.0"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
+ version "2.3.7"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg=
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readable-stream@~1.0.33-1:
+ version "1.0.34"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~1.1.9:
+ version "1.1.14"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~2.0.0:
+ version "2.0.6"
+ resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU=
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz?cache=0&sync_timestamp=1584985910691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
+ integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=
+ dependencies:
+ picomatch "^2.2.1"
+
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+ integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=
+ dependencies:
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
+
+regenerate-unicode-properties@^8.2.0:
+ version "8.2.0"
+ resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
+ integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew=
+ dependencies:
+ regenerate "^1.4.0"
+
+regenerate@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
+ integrity sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=
+
+regenerator-runtime@^0.13.4:
+ version "0.13.5"
+ resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
+ integrity sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=
+
+regenerator-transform@^0.14.2:
+ version "0.14.4"
+ resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7"
+ integrity sha1-UmaFeJZRjRYWp4oEeTN6MOqXTMc=
+ dependencies:
+ "@babel/runtime" "^7.8.4"
+ private "^0.1.8"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexp.prototype.flags@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz?cache=0&sync_timestamp=1576388379660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
+ integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+regexpp@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
+ integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=
+
+regexpu-core@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz?cache=0&sync_timestamp=1583949899397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
+ integrity sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=
+ dependencies:
+ regenerate "^1.4.0"
+ regenerate-unicode-properties "^8.2.0"
+ regjsgen "^0.5.1"
+ regjsparser "^0.6.4"
+ unicode-match-property-ecmascript "^1.0.4"
+ unicode-match-property-value-ecmascript "^1.2.0"
+
+regjsgen@^0.5.1:
+ version "0.5.2"
+ resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
+ integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=
+
+regjsparser@^0.6.4:
+ version "0.6.4"
+ resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
+ integrity sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=
+ dependencies:
+ jsesc "~0.5.0"
+
+relateurl@0.2.x, relateurl@^0.2.7:
+ version "0.2.7"
+ resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+ integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
+
+remark-parse@^8.0.0:
+ version "8.0.2"
+ resolved "https://registry.npm.taobao.org/remark-parse/download/remark-parse-8.0.2.tgz?cache=0&sync_timestamp=1587649292733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark-parse%2Fdownload%2Fremark-parse-8.0.2.tgz#5999bc0b9c2e3edc038800a64ff103d0890b318b"
+ integrity sha1-WZm8C5wuPtwDiACmT/ED0IkLMYs=
+ dependencies:
+ ccount "^1.0.0"
+ collapse-white-space "^1.0.2"
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ is-word-character "^1.0.0"
+ markdown-escapes "^1.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ trim "0.0.1"
+ trim-trailing-lines "^1.0.0"
+ unherit "^1.0.4"
+ unist-util-remove-position "^2.0.0"
+ vfile-location "^3.0.0"
+ xtend "^4.0.1"
+
+remark-stringify@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npm.taobao.org/remark-stringify/download/remark-stringify-8.0.0.tgz#33423ab8bf3076fb197f4cf582aaaf866b531625"
+ integrity sha1-M0I6uL8wdvsZf0z1gqqvhmtTFiU=
+ dependencies:
+ ccount "^1.0.0"
+ is-alphanumeric "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ longest-streak "^2.0.1"
+ markdown-escapes "^1.0.0"
+ markdown-table "^2.0.0"
+ mdast-util-compact "^2.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ stringify-entities "^3.0.0"
+ unherit "^1.0.4"
+ xtend "^4.0.1"
+
+remark@^12.0.0:
+ version "12.0.0"
+ resolved "https://registry.npm.taobao.org/remark/download/remark-12.0.0.tgz?cache=0&sync_timestamp=1585564154157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fremark%2Fdownload%2Fremark-12.0.0.tgz#d1c145c07341c9232f93b2f8539d56da15a2548c"
+ integrity sha1-0cFFwHNBySMvk7L4U51W2hWiVIw=
+ dependencies:
+ remark-parse "^8.0.0"
+ remark-stringify "^8.0.0"
+ unified "^9.0.0"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+renderkid@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149"
+ integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=
+ dependencies:
+ css-select "^1.1.0"
+ dom-converter "^0.2"
+ htmlparser2 "^3.3.0"
+ strip-ansi "^3.0.0"
+ utila "^0.4.0"
+
+repeat-element@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
+ integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=
+
+repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+replace-ext@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/replace-ext/download/replace-ext-0.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freplace-ext%2Fdownload%2Freplace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
+ integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
+
+replace-ext@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freplace-ext%2Fdownload%2Freplace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+ integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+
+request@^2.44.0, request@^2.88.2:
+ version "2.88.2"
+ resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=
+
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+
+resize-observer-polyfill@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=
+
+resolve-cwd@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
+ dependencies:
+ resolve-from "^3.0.0"
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz?cache=0&sync_timestamp=1585438700247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url%2Fdownload%2Fresolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1:
+ version "1.17.0"
+ resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=
+ dependencies:
+ path-parse "^1.0.6"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=
+
+retry@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
+ integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
+
+rgb-regex@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
+ integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
+
+rgba-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
+ integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
+
+rimraf@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs=
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=
+ dependencies:
+ glob "^7.1.3"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-async%2Fdownload%2Frun-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=
+
+run-parallel@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
+ integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk=
+
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
+ dependencies:
+ aproba "^1.1.1"
+
+rxjs@^6.5.3:
+ version "6.5.5"
+ resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
+ integrity sha1-xciE4wlMjP7jG/J+uH5UzPyH+ew=
+ dependencies:
+ tslib "^1.9.0"
+
+rxjs@^6.6.0:
+ version "6.6.3"
+ resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
+ integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0=
+
+safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=
+
+sass-loader@^10.0.2:
+ version "10.0.2"
+ resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.2.tgz#c7b73010848b264792dd45372eea0b87cba4401e"
+ integrity sha512-wV6NDUVB8/iEYMalV/+139+vl2LaRFlZGEd5/xmdcdzQcgmis+npyco6NsDTVOlNA3y2NV9Gcz+vHyFMIT+ffg==
+ dependencies:
+ klona "^2.0.3"
+ loader-utils "^2.0.0"
+ neo-async "^2.6.2"
+ schema-utils "^2.7.1"
+ semver "^7.3.2"
+
+sass-resources-loader@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/sass-resources-loader/download/sass-resources-loader-2.1.0.tgz#7b78eca011f099c460ce68123c224d470e5d6d1e"
+ integrity sha1-e3jsoBHwmcRgzmgSPCJNRw5dbR4=
+ dependencies:
+ "@babel/cli" "^7.10.5"
+ "@babel/preset-env" "^7.11.0"
+ async "^3.2.0"
+ babel-eslint "^10.1.0"
+ chalk "^4.1.0"
+ glob "^7.1.6"
+ loader-utils "^2.0.0"
+
+sass@^1.27.0:
+ version "1.27.0"
+ resolved "https://registry.npmjs.org/sass/-/sass-1.27.0.tgz#0657ff674206b95ec20dc638a93e179c78f6ada2"
+ integrity sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig==
+ dependencies:
+ chokidar ">=2.0.0 <4.0.0"
+
+save-pixels@~2.3.0:
+ version "2.3.4"
+ resolved "https://registry.npm.taobao.org/save-pixels/download/save-pixels-2.3.4.tgz#49d349c06b8d7c0127dbf0da24b44aca5afb59fe"
+ integrity sha1-SdNJwGuNfAEn2/DaJLRKylr7Wf4=
+ dependencies:
+ contentstream "^1.0.0"
+ gif-encoder "~0.4.1"
+ jpeg-js "0.0.4"
+ ndarray "^1.0.18"
+ ndarray-ops "^1.2.2"
+ pngjs-nozlib "^1.0.0"
+ through "^2.3.4"
+
+sax@~1.2.4:
+ version "1.2.4"
+ resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk=
+
+schema-utils@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1587138145115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=
+ dependencies:
+ ajv "^6.1.0"
+ ajv-errors "^1.0.0"
+ ajv-keywords "^3.1.0"
+
+schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6:
+ version "2.6.6"
+ resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.6.6.tgz?cache=0&sync_timestamp=1587138145115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c"
+ integrity sha1-KZ/mvUozZdwj2Z/URsr/jx1sMww=
+ dependencies:
+ ajv "^6.12.0"
+ ajv-keywords "^3.4.1"
+
+schema-utils@^2.7.0, schema-utils@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+ integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
+ dependencies:
+ "@types/json-schema" "^7.0.5"
+ ajv "^6.12.4"
+ ajv-keywords "^3.5.2"
+
+screenfull@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/screenfull/-/screenfull-5.0.2.tgz#b9acdcf1ec676a948674df5cd0ff66b902b0bed7"
+ integrity sha512-cCF2b+L/mnEiORLN5xSAz6H3t18i2oHh9BA8+CQlAh5DRw2+NFAGQJOSYbcGw8B2k04g/lVvFcfZ83b3ysH5UQ==
+
+select-hose@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
+ integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
+
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
+
+selfsigned@^1.10.7:
+ version "1.10.7"
+ resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"
+ integrity sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs=
+ dependencies:
+ node-forge "0.9.0"
+
+"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+ version "5.7.1"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=
+
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=
+
+semver@^6.0.0, semver@^6.1.0, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=
+
+semver@^7.2.1, semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=
+
+semver@~5.0.3:
+ version "5.0.3"
+ resolved "https://registry.npm.taobao.org/semver/download/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
+ integrity sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=
+
+send@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=
+ dependencies:
+ debug "2.6.9"
+ depd "~1.1.2"
+ destroy "~1.0.4"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "~1.7.2"
+ mime "1.6.0"
+ ms "2.1.1"
+ on-finished "~2.3.0"
+ range-parser "~1.2.1"
+ statuses "~1.5.0"
+
+serialize-javascript@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
+ integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE=
+
+serialize-javascript@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz?cache=0&sync_timestamp=1590665980012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
+ integrity sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=
+ dependencies:
+ randombytes "^2.1.0"
+
+serve-index@^1.9.1:
+ version "1.9.1"
+ resolved "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
+ integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=
+ dependencies:
+ accepts "~1.3.4"
+ batch "0.6.1"
+ debug "2.6.9"
+ escape-html "~1.0.3"
+ http-errors "~1.6.2"
+ mime-types "~2.1.17"
+ parseurl "~1.3.2"
+
+serve-static@1.14.1:
+ version "1.14.1"
+ resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.17.1"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1585775409029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
+setprototypeof@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
+ integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=
+
+setprototypeof@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz?cache=0&sync_timestamp=1563425414995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsetprototypeof%2Fdownload%2Fsetprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=
+
+sha.js@^2.4.0, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsha.js%2Fdownload%2Fsha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=
+
+shell-quote@^1.6.1:
+ version "1.7.2"
+ resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
+ integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+ integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=
+
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
+ dependencies:
+ is-arrayish "^0.3.1"
+
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
+ integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=
+
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+sockjs-client@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
+ integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=
+ dependencies:
+ debug "^3.2.5"
+ eventsource "^1.0.7"
+ faye-websocket "~0.11.1"
+ inherits "^2.0.3"
+ json3 "^3.3.2"
+ url-parse "^1.4.3"
+
+sockjs@0.3.20:
+ version "0.3.20"
+ resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855"
+ integrity sha1-smooPsVi74smh7RAM6Tuzqx12FU=
+ dependencies:
+ faye-websocket "^0.10.0"
+ uuid "^3.4.0"
+ websocket-driver "0.6.5"
+
+sort-keys@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1565864727994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
+ dependencies:
+ is-plain-obj "^1.0.0"
+
+source-list-map@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=
+
+source-map-resolve@^0.5.0:
+ version "0.5.3"
+ resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584831908370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho=
+ dependencies:
+ atob "^2.1.2"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-support@~0.5.12:
+ version "0.5.19"
+ resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719517036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
+ integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-url@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+
+source-map@^0.5.0, source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM=
+
+spdx-correct@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
+ integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak=
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+ integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.5"
+ resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
+ integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=
+
+spdy-transport@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
+ integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=
+ dependencies:
+ debug "^4.1.0"
+ detect-node "^2.0.4"
+ hpack.js "^2.1.6"
+ obuf "^1.1.2"
+ readable-stream "^3.0.6"
+ wbuf "^1.7.3"
+
+spdy@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
+ integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=
+ dependencies:
+ debug "^4.1.0"
+ handle-thing "^2.0.0"
+ http-deceiver "^1.2.7"
+ select-hose "^2.0.0"
+ spdy-transport "^3.0.0"
+
+specificity@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npm.taobao.org/specificity/download/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019"
+ integrity sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=
+ dependencies:
+ extend-shallow "^3.0.0"
+
+sprintf-js@^1.0.3:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
+ integrity sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+spritesheet-templates@^10.4.2:
+ version "10.5.0"
+ resolved "https://registry.npm.taobao.org/spritesheet-templates/download/spritesheet-templates-10.5.0.tgz#24a8269a37d162d4a7e5ce48338f5b3e7b5d56e3"
+ integrity sha1-JKgmmjfRYtSn5c5IM49bPntdVuM=
+ dependencies:
+ handlebars "^4.6.0"
+ handlebars-layouts "^3.1.4"
+ json-content-demux "~0.1.2"
+ underscore "~1.4.2"
+ underscore.string "~3.3.0"
+
+spritesmith@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/spritesmith/download/spritesmith-3.4.0.tgz#5cfa004278c9072ab4900a0cd800141c7cf296e2"
+ integrity sha1-XPoAQnjJByq0kAoM2AAUHHzyluI=
+ dependencies:
+ concat-stream "~1.5.1"
+ layout "~2.2.0"
+ pixelsmith "^2.3.0"
+ semver "~5.0.3"
+ through2 "~2.0.0"
+
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+ssr-window@^3.0.0-alpha.1, ssr-window@^3.0.0-alpha.4:
+ version "3.0.0-alpha.4"
+ resolved "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0-alpha.4.tgz#0c69a18c4305ecccdd8e11596155ca07b635f345"
+ integrity sha512-+dBRP/pZ+VyITxTzD0lMDzDwN/BmfUl8xi2e6t5Nz4+FqUphfcBLB1OOUSYCRNFB25rD3c8AJRYpY5rHTbL+kg==
+
+ssri@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
+ integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=
+ dependencies:
+ figgy-pudding "^3.5.1"
+
+ssri@^7.0.0, ssri@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d"
+ integrity sha1-ksJBv23oI2W1x/tL126XVSLhKU0=
+ dependencies:
+ figgy-pudding "^3.5.1"
+ minipass "^3.1.1"
+
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=
+
+stackframe@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/stackframe/download/stackframe-1.1.1.tgz?cache=0&sync_timestamp=1578261993899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.1.1.tgz#ffef0a3318b1b60c3b58564989aca5660729ec71"
+ integrity sha1-/+8KMxixtgw7WFZJiaylZgcp7HE=
+
+state-toggle@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/state-toggle/download/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe"
+ integrity sha1-4SOxaojhQxObCcaFIiG8mBWRff4=
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587328859420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+ integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
+stream-browserify@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041519870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-each@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
+stream-http@^2.7.2:
+ version "2.8.3"
+ resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701035785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.3.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+stream-shift@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
+ integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0=
+
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+
+string-width@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string-width@^3.0.0, string-width@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE=
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU=
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
+
+string.prototype.trimend@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465409341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string.prototype.trimleft@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.2.tgz?cache=0&sync_timestamp=1585584322600&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"
+ integrity sha1-RAiqLl1t3QyagHObCH+8BnwDs8w=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+ string.prototype.trimstart "^1.0.0"
+
+string.prototype.trimright@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"
+ integrity sha1-x28c7zDyG7rYr+uNsVEUls+w8qM=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+ string.prototype.trimend "^1.0.0"
+
+string.prototype.trimstart@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string_decoder@^1.0.0, string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=
+ dependencies:
+ safe-buffer "~5.1.0"
+
+stringify-entities@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/stringify-entities/download/stringify-entities-3.0.1.tgz#32154b91286ab0869ab2c07696223bd23b6dbfc0"
+ integrity sha1-MhVLkShqsIaassB2liI70jttv8A=
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.2"
+ is-hexadecimal "^1.0.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=
+ dependencies:
+ ansi-regex "^5.0.0"
+
+strip-bom-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/strip-bom-stream/download/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee"
+ integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=
+ dependencies:
+ first-chunk-stream "^1.0.0"
+ strip-bom "^2.0.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=
+
+strip-indent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
+
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+ integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=
+ dependencies:
+ min-indent "^1.0.0"
+
+strip-json-comments@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.0.tgz?cache=0&sync_timestamp=1586160054577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
+ integrity sha1-djjTFCISns9EV0QACfugP5+awYA=
+
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+style-search@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npm.taobao.org/style-search/download/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
+ integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=
+
+stylehacks@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
+ integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=
+ dependencies:
+ browserslist "^4.0.0"
+ postcss "^7.0.0"
+ postcss-selector-parser "^3.0.0"
+
+stylelint-codeframe-formatter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/stylelint-codeframe-formatter/-/stylelint-codeframe-formatter-1.0.4.tgz#08580f995dab8ce6db100002fd813715abaefffc"
+ integrity sha512-OG9PqAEvu54JEIJf1a+TALkyEYwCmFPSvSRW+X3yuijqAO1TEAPLrxLrCRdEKj0xU5MMhXlvyRwuFgMfDW/x8Q==
+ dependencies:
+ babel-code-frame "^6.26.0"
+ chalk "^2.3.0"
+ log-symbols "^2.1.0"
+ plur "^2.1.2"
+
+stylelint-config-recommended-scss@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npm.taobao.org/stylelint-config-recommended-scss/download/stylelint-config-recommended-scss-4.2.0.tgz#3ad3fc858215cfd16a0f90aecf1ac0ea8a3e6971"
+ integrity sha1-OtP8hYIVz9FqD5CuzxrA6oo+aXE=
+ dependencies:
+ stylelint-config-recommended "^3.0.0"
+
+stylelint-config-recommended@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/stylelint-config-recommended/download/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657"
+ integrity sha1-4OVHQ0AWxVOf4mUK/VgEmi/R1lc=
+
+stylelint-config-standard@^20.0.0:
+ version "20.0.0"
+ resolved "https://registry.npm.taobao.org/stylelint-config-standard/download/stylelint-config-standard-20.0.0.tgz?cache=0&sync_timestamp=1581214644896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylelint-config-standard%2Fdownload%2Fstylelint-config-standard-20.0.0.tgz#06135090c9e064befee3d594289f50e295b5e20d"
+ integrity sha1-BhNQkMngZL7+49WUKJ9Q4pW14g0=
+ dependencies:
+ stylelint-config-recommended "^3.0.0"
+
+stylelint-scss@^3.18.0:
+ version "3.18.0"
+ resolved "https://registry.npm.taobao.org/stylelint-scss/download/stylelint-scss-3.18.0.tgz#8f06371c223909bf3f62e839548af1badeed31e9"
+ integrity sha1-jwY3HCI5Cb8/Yug5VIrxut7tMek=
+ dependencies:
+ lodash "^4.17.15"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.1.0"
+
+stylelint-webpack-plugin@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-2.1.0.tgz#ea4727d83a6d5e3c8784f2bb147bbd9de8e88ec3"
+ integrity sha512-nx6pF+s4kWuXj2pAhPiMjAsRZqsPphamy2rwUuPiKmb1FRYtXZL0jl+iwoqc/W3hMaia+UMiGJBzkjXKLXmSmA==
+ dependencies:
+ arrify "^2.0.1"
+ micromatch "^4.0.2"
+ schema-utils "^2.7.0"
+
+stylelint@^13.6.1, stylelint@^13.7.0:
+ version "13.7.0"
+ resolved "https://registry.npmjs.org/stylelint/-/stylelint-13.7.0.tgz#8d7a4233063b2f06e9f28b3405ff189e334547b5"
+ integrity sha512-1wStd4zVetnlHO98VjcHQbjSDmvcA39smkZQMct2cf+hom40H0xlQNdzzbswoG/jGBh61/Ue9m7Lu99PY51O6A==
+ dependencies:
+ "@stylelint/postcss-css-in-js" "^0.37.2"
+ "@stylelint/postcss-markdown" "^0.36.1"
+ autoprefixer "^9.8.6"
+ balanced-match "^1.0.0"
+ chalk "^4.1.0"
+ cosmiconfig "^7.0.0"
+ debug "^4.1.1"
+ execall "^2.0.0"
+ fast-glob "^3.2.4"
+ fastest-levenshtein "^1.0.12"
+ file-entry-cache "^5.0.1"
+ get-stdin "^8.0.0"
+ global-modules "^2.0.0"
+ globby "^11.0.1"
+ globjoin "^0.1.4"
+ html-tags "^3.1.0"
+ ignore "^5.1.8"
+ import-lazy "^4.0.0"
+ imurmurhash "^0.1.4"
+ known-css-properties "^0.19.0"
+ lodash "^4.17.20"
+ log-symbols "^4.0.0"
+ mathml-tag-names "^2.1.3"
+ meow "^7.1.1"
+ micromatch "^4.0.2"
+ normalize-selector "^0.2.0"
+ postcss "^7.0.32"
+ postcss-html "^0.36.0"
+ postcss-less "^3.1.4"
+ postcss-media-query-parser "^0.2.3"
+ postcss-resolve-nested-selector "^0.1.1"
+ postcss-safe-parser "^4.0.2"
+ postcss-sass "^0.4.4"
+ postcss-scss "^2.1.1"
+ postcss-selector-parser "^6.0.2"
+ postcss-syntax "^0.36.2"
+ postcss-value-parser "^4.1.0"
+ resolve-from "^5.0.0"
+ slash "^3.0.0"
+ specificity "^0.4.1"
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ style-search "^0.1.0"
+ sugarss "^2.0.0"
+ svg-tags "^1.0.0"
+ table "^6.0.1"
+ v8-compile-cache "^2.1.1"
+ write-file-atomic "^3.0.3"
+
+sugarss@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/sugarss/download/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d"
+ integrity sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=
+ dependencies:
+ postcss "^7.0.2"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=
+ dependencies:
+ has-flag "^4.0.0"
+
+svg-baker-runtime@^1.4.7:
+ version "1.4.7"
+ resolved "https://registry.npm.taobao.org/svg-baker-runtime/download/svg-baker-runtime-1.4.7.tgz?cache=0&sync_timestamp=1588076122804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvg-baker-runtime%2Fdownload%2Fsvg-baker-runtime-1.4.7.tgz#f4720637f5b6202eef6378d81f1fead0815f8a4e"
+ integrity sha1-9HIGN/W2IC7vY3jYHx/q0IFfik4=
+ dependencies:
+ deepmerge "1.3.2"
+ mitt "1.1.2"
+ svg-baker "^1.7.0"
+
+svg-baker@^1.5.0, svg-baker@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/svg-baker/download/svg-baker-1.7.0.tgz?cache=0&sync_timestamp=1586349310975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvg-baker%2Fdownload%2Fsvg-baker-1.7.0.tgz#8367f78d875550c52fe4756f7303d5c5d7c2e9a7"
+ integrity sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac=
+ dependencies:
+ bluebird "^3.5.0"
+ clone "^2.1.1"
+ he "^1.1.1"
+ image-size "^0.5.1"
+ loader-utils "^1.1.0"
+ merge-options "1.0.1"
+ micromatch "3.1.0"
+ postcss "^5.2.17"
+ postcss-prefix-selector "^1.6.0"
+ posthtml-rename-id "^1.0"
+ posthtml-svg-mode "^1.0.3"
+ query-string "^4.3.2"
+ traverse "^0.6.6"
+
+svg-sprite-loader@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npm.taobao.org/svg-sprite-loader/download/svg-sprite-loader-5.0.0.tgz#fd5c63c7110df3ca289282def49f34e6a62e6f65"
+ integrity sha1-/VxjxxEN88ookoLe9J805qYub2U=
+ dependencies:
+ bluebird "^3.5.0"
+ deepmerge "1.3.2"
+ domready "1.0.8"
+ escape-string-regexp "1.0.5"
+ html-webpack-plugin "^3.2.0"
+ loader-utils "^1.1.0"
+ svg-baker "^1.5.0"
+ svg-baker-runtime "^1.4.7"
+ url-slug "2.0.0"
+
+svg-tags@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
+ integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
+
+svgo@^1.0.0, svgo@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
+ integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=
+ dependencies:
+ chalk "^2.4.1"
+ coa "^2.0.2"
+ css-select "^2.0.0"
+ css-select-base-adapter "^0.1.1"
+ css-tree "1.0.0-alpha.37"
+ csso "^4.0.2"
+ js-yaml "^3.13.1"
+ mkdirp "~0.5.1"
+ object.values "^1.1.0"
+ sax "~1.2.4"
+ stable "^0.1.8"
+ unquote "~1.1.1"
+ util.promisify "~1.0.0"
+
+swiper@6.3.2:
+ version "6.3.2"
+ resolved "https://registry.npmjs.org/swiper/-/swiper-6.3.2.tgz#3eb337ff58f425841a27400a7b0215234d94f3c1"
+ integrity sha512-mseVNXAsNNSfp3fHuZlMnsToc3ulM3X3on2EC8GMi4+/DwD9SSieSSIQroUbxkIMmCCIvpDN1Ese7o0Ls9I4lw==
+ dependencies:
+ dom7 "^3.0.0-alpha.7"
+ ssr-window "^3.0.0-alpha.4"
+
+table@^5.2.3:
+ version "5.4.6"
+ resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
+ integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=
+ dependencies:
+ ajv "^6.10.2"
+ lodash "^4.17.14"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
+table@^6.0.1:
+ version "6.0.3"
+ resolved "https://registry.npmjs.org/table/-/table-6.0.3.tgz#e5b8a834e37e27ad06de2e0fda42b55cfd8a0123"
+ integrity sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw==
+ dependencies:
+ ajv "^6.12.4"
+ lodash "^4.17.20"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.0"
+
+tapable@^1.0.0, tapable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
+ integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I=
+
+terser-webpack-plugin@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
+ integrity sha1-Xsry29xfuZdF/QZ5H0b8ndscmnw=
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^2.1.2"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser-webpack-plugin@^2.3.6:
+ version "2.3.7"
+ resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.7.tgz#4910ff5d1a872168cc7fa6cd3749e2b0d60a8a0b"
+ integrity sha1-SRD/XRqHIWjMf6bNN0nisNYKigs=
+ dependencies:
+ cacache "^13.0.1"
+ find-cache-dir "^3.3.1"
+ jest-worker "^25.4.0"
+ p-limit "^2.3.0"
+ schema-utils "^2.6.6"
+ serialize-javascript "^3.1.0"
+ source-map "^0.6.1"
+ terser "^4.6.12"
+ webpack-sources "^1.4.3"
+
+terser@^4.1.2, terser@^4.6.12, terser@^4.6.3:
+ version "4.7.0"
+ resolved "https://registry.npm.taobao.org/terser/download/terser-4.7.0.tgz?cache=0&sync_timestamp=1589825699609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006"
+ integrity sha1-FYUs8aCOMlaoBCjoZaL6iT/7oAY=
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
+thenify-all@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
+ integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
+ dependencies:
+ thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+ version "3.3.0"
+ resolved "https://registry.npm.taobao.org/thenify/download/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839"
+ integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=
+ dependencies:
+ any-promise "^1.0.0"
+
+thread-loader@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda"
+ integrity sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=
+ dependencies:
+ loader-runner "^2.3.1"
+ loader-utils "^1.1.0"
+ neo-async "^2.6.0"
+
+throttle-debounce@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
+ integrity sha1-UYU9o3vmihVctugns1FKPEIuic0=
+
+through2@^2.0.0, through2@~2.0.0:
+ version "2.0.5"
+ resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through@^2.3.4, through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+thunky@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz?cache=0&sync_timestamp=1571043401546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthunky%2Fdownload%2Fthunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
+ integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=
+
+timers-browserify@^2.0.4:
+ version "2.0.11"
+ resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
+ integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=
+ dependencies:
+ setimmediate "^1.0.4"
+
+timsort@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
+ integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
+
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+tinymce@^5.5.1:
+ version "5.5.1"
+ resolved "https://registry.npmjs.org/tinymce/-/tinymce-5.5.1.tgz#4f24ca6e7b698a3c7418a39ef0f3d613f4a703a4"
+ integrity sha512-z03C8/0TBby68Kp7YUTSCZ0QJINsFCv9U+Cv3TNHg+T1spZ4V6vOIgD0zeTd/xKqkru0P7IOHoeAnOjfpTLq7g==
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178571895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ dependencies:
+ kind-of "^3.0.2"
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+toidentifier@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=
+
+toposort@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
+ integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk=
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+traverse@^0.6.6:
+ version "0.6.6"
+ resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
+ integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
+
+trim-newlines@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30"
+ integrity sha1-eXJjBKaomKqDc0JymNVMLuixyzA=
+
+trim-trailing-lines@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.3.tgz?cache=0&sync_timestamp=1579950303062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftrim-trailing-lines%2Fdownload%2Ftrim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
+ integrity sha1-fwc5iB/3Zle3d24Qh0EoAEtiWpQ=
+
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+ integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
+trough@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npm.taobao.org/trough/download/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
+ integrity sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=
+
+tryer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
+ integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg=
+
+ts-pnp@^1.1.6:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
+ integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI=
+
+tslib@^1.10.0, tslib@^1.9.0:
+ version "1.13.0"
+ resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
+ integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=
+
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=
+ dependencies:
+ prelude-ls "^1.2.1"
+
+type-fest@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+ integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=
+
+type-fest@^0.13.1:
+ version "0.13.1"
+ resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
+ integrity sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=
+
+type-fest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
+ integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s=
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=
+
+type-is@~1.6.17, type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=
+ dependencies:
+ is-typedarray "^1.0.0"
+
+typedarray@^0.0.6, typedarray@~0.0.5:
+ version "0.0.6"
+ resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+uglify-js@3.4.x:
+ version "3.4.10"
+ resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
+ integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=
+ dependencies:
+ commander "~2.19.0"
+ source-map "~0.6.1"
+
+uglify-js@^3.1.4:
+ version "3.9.3"
+ resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.9.3.tgz#4a285d1658b8a2ebaef9e51366b3a0f7acd79ec2"
+ integrity sha1-SihdFli4ouuu+eUTZrOg96zXnsI=
+ dependencies:
+ commander "~2.20.3"
+
+underscore.string@~3.3.0:
+ version "3.3.5"
+ resolved "https://registry.npm.taobao.org/underscore.string/download/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
+ integrity sha1-/CrSVbi9MJ4jnLxYFv0jqbfqQCM=
+ dependencies:
+ sprintf-js "^1.0.3"
+ util-deprecate "^1.0.2"
+
+underscore@~1.4.2:
+ version "1.4.4"
+ resolved "https://registry.npm.taobao.org/underscore/download/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
+ integrity sha1-YaajIBBiKvoHljvzJSA88SI51gQ=
+
+unherit@^1.0.4:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/unherit/download/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
+ integrity sha1-bJtQPytBsmIzDIDpHIYUq9qmnCI=
+ dependencies:
+ inherits "^2.0.0"
+ xtend "^4.0.0"
+
+unicode-canonical-property-names-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
+ integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=
+
+unicode-match-property-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
+ integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^1.0.4"
+ unicode-property-aliases-ecmascript "^1.0.4"
+
+unicode-match-property-value-ecmascript@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
+ integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=
+
+unicode-property-aliases-ecmascript@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945805856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
+ integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=
+
+unidecode@0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npm.taobao.org/unidecode/download/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e"
+ integrity sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=
+
+unified@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.npm.taobao.org/unified/download/unified-9.0.0.tgz#12b099f97ee8b36792dbad13d278ee2f696eed1d"
+ integrity sha1-ErCZ+X7os2eS260T0njuL2lu7R0=
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^2.0.0"
+ trough "^1.0.0"
+ vfile "^4.0.0"
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+uniq@^1.0.0, uniq@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+ integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
+
+uniqs@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+ integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
+
+unique-filename@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+ integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=
+ dependencies:
+ imurmurhash "^0.1.4"
+
+unist-util-find-all-after@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/unist-util-find-all-after/download/unist-util-find-all-after-3.0.1.tgz?cache=0&sync_timestamp=1581894311265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-3.0.1.tgz#95cc62f48812d879b4685a0512bf1b838da50e9a"
+ integrity sha1-lcxi9IgS2Hm0aFoFEr8bg42lDpo=
+ dependencies:
+ unist-util-is "^4.0.0"
+
+unist-util-is@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/unist-util-is/download/unist-util-is-4.0.2.tgz?cache=0&sync_timestamp=1581989111220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funist-util-is%2Fdownload%2Funist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
+ integrity sha1-x9E0EYiqnOWzz/U4lY3piV8Upd4=
+
+unist-util-remove-position@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npm.taobao.org/unist-util-remove-position/download/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc"
+ integrity sha1-XRnKef26cSMBmZsrc1U8qPOzUsw=
+ dependencies:
+ unist-util-visit "^2.0.0"
+
+unist-util-stringify-position@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npm.taobao.org/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
+ integrity sha1-zOO/oc34W6c3XR1bF73Eytqb2do=
+ dependencies:
+ "@types/unist" "^2.0.2"
+
+unist-util-visit-parents@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.npm.taobao.org/unist-util-visit-parents/download/unist-util-visit-parents-3.0.2.tgz#d4076af3011739c71d2ce99d05de37d545f4351d"
+ integrity sha1-1Adq8wEXOccdLOmdBd431UX0NR0=
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
+unist-util-visit@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/unist-util-visit/download/unist-util-visit-2.0.2.tgz?cache=0&sync_timestamp=1581869504884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funist-util-visit%2Fdownload%2Funist-util-visit-2.0.2.tgz#3843782a517de3d2357b4c193b24af2d9366afb7"
+ integrity sha1-OEN4KlF949I1e0wZOySvLZNmr7c=
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+ unist-util-visit-parents "^3.0.0"
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1583531006552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+unquote@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
+ integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+upath@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=
+
+upper-case@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+ integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+
+uri-js@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url-loader@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"
+ integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=
+ dependencies:
+ loader-utils "^1.2.3"
+ mime "^2.4.4"
+ schema-utils "^2.5.0"
+
+url-parse@^1.4.3:
+ version "1.4.7"
+ resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-parse%2Fdownload%2Furl-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
+ integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng=
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
+url-slug@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/url-slug/download/url-slug-2.0.0.tgz?cache=0&sync_timestamp=1584487588157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-slug%2Fdownload%2Furl-slug-2.0.0.tgz#a789d5aed4995c0d95af33377ad1d5c68d4d7027"
+ integrity sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=
+ dependencies:
+ unidecode "0.1.8"
+
+url@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+util.promisify@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=
+ dependencies:
+ define-properties "^1.1.2"
+ object.getownpropertydescriptors "^2.0.3"
+
+util.promisify@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
+ integrity sha1-a693dLgO6w91INi4HQeYKlmruu4=
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.2"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.0"
+
+util@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+ dependencies:
+ inherits "2.0.1"
+
+util@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1588238457176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=
+ dependencies:
+ inherits "2.0.3"
+
+utila@^0.4.0, utila@~0.4:
+ version "0.4.0"
+ resolved "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+ integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+uuid@^3.3.2, uuid@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=
+
+v8-compile-cache@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e"
+ integrity sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=
+
+v8-compile-cache@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
+ integrity sha1-VLw83UMxe8qR413K8wWxpyN950U=
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo=
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
+vendors@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857147055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
+ integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4=
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vfile-location@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npm.taobao.org/vfile-location/download/vfile-location-3.0.1.tgz#d78677c3546de0f7cd977544c367266764d31bb3"
+ integrity sha1-14Z3w1Rt4PfNl3VEw2cmZ2TTG7M=
+
+vfile-message@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.npm.taobao.org/vfile-message/download/vfile-message-2.0.4.tgz?cache=0&sync_timestamp=1585510018947&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvfile-message%2Fdownload%2Fvfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
+ integrity sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
+vfile@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/vfile/download/vfile-4.1.1.tgz?cache=0&sync_timestamp=1589621659470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvfile%2Fdownload%2Fvfile-4.1.1.tgz#282d28cebb609183ac51703001bc18b3e3f17de9"
+ integrity sha1-KC0ozrtgkYOsUXAwAbwYs+Pxfek=
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ replace-ext "1.0.0"
+ unist-util-stringify-position "^2.0.0"
+ vfile-message "^2.0.0"
+
+vinyl-file@~1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npm.taobao.org/vinyl-file/download/vinyl-file-1.3.0.tgz#aa05634d3a867ba91447bedbb34afcb26f44f6e7"
+ integrity sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc=
+ dependencies:
+ graceful-fs "^4.1.2"
+ strip-bom "^2.0.0"
+ strip-bom-stream "^1.0.0"
+ vinyl "^1.1.0"
+
+vinyl@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npm.taobao.org/vinyl/download/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
+ integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=
+ dependencies:
+ clone "^1.0.0"
+ clone-stats "^0.0.1"
+ replace-ext "0.0.1"
+
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870776965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
+
+vue-awesome-swiper@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npm.taobao.org/vue-awesome-swiper/download/vue-awesome-swiper-4.1.1.tgz#8f7ab221ad003021d756b86aa618f429924900fe"
+ integrity sha1-j3qyIa0AMCHXVrhqphj0KZJJAP4=
+
+vue-clipboard2@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.3.1.tgz#6e551fb7bd384889b28b0da3b12289ed6bca4894"
+ integrity sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg==
+ dependencies:
+ clipboard "^2.0.0"
+
+vue-cookies@^1.7.4:
+ version "1.7.4"
+ resolved "https://registry.npmjs.org/vue-cookies/-/vue-cookies-1.7.4.tgz#d241d0a0431da0795837651d10b4d73e7c8d3e8d"
+ integrity sha512-mOS5Btr8V9zvAtkmQ7/TfqJIropOx7etDAgBywPCmHjvfJl2gFbH2XgoMghleLoyyMTi5eaJss0mPN7arMoslA==
+
+vue-eslint-parser@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.1.0.tgz?cache=0&sync_timestamp=1589539313907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.1.0.tgz#9cdbcc823e656b087507a1911732b867ac101e83"
+ integrity sha1-nNvMgj5lawh1B6GRFzK4Z6wQHoM=
+ dependencies:
+ debug "^4.1.1"
+ eslint-scope "^5.0.0"
+ eslint-visitor-keys "^1.1.0"
+ espree "^6.2.1"
+ esquery "^1.0.1"
+ lodash "^4.17.15"
+
+vue-hot-reload-api@^2.3.0:
+ version "2.3.4"
+ resolved "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-hot-reload-api%2Fdownload%2Fvue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
+ integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=
+
+"vue-loader-v16@npm:vue-loader@^16.0.0-beta.3":
+ version "16.0.0-beta.5"
+ resolved "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.0.0-beta.5.tgz#04edc889492b03a445e7ac66e9226a70175ca8a0"
+ integrity sha1-BO3IiUkrA6RF56xm6SJqcBdcqKA=
+ dependencies:
+ "@types/mini-css-extract-plugin" "^0.9.1"
+ chalk "^3.0.0"
+ hash-sum "^2.0.0"
+ loader-utils "^1.2.3"
+ merge-source-map "^1.1.0"
+ source-map "^0.6.1"
+
+vue-loader@^15.9.2:
+ version "15.9.2"
+ resolved "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.2.tgz#ae01f5f4c9c6a04bff4483912e72ef91a402c1ae"
+ integrity sha1-rgH19MnGoEv/RIORLnLvkaQCwa4=
+ dependencies:
+ "@vue/component-compiler-utils" "^3.1.0"
+ hash-sum "^1.0.2"
+ loader-utils "^1.1.0"
+ vue-hot-reload-api "^2.3.0"
+ vue-style-loader "^4.1.0"
+
+vue-meta@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npm.taobao.org/vue-meta/download/vue-meta-2.4.0.tgz?cache=0&sync_timestamp=1591798765732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-meta%2Fdownload%2Fvue-meta-2.4.0.tgz#a419fb4b4135ce965dab32ec641d1989c2ee4845"
+ integrity sha1-pBn7S0E1zpZdqzLsZB0ZicLuSEU=
+ dependencies:
+ deepmerge "^4.2.2"
+
+vue-router@^3.4.6:
+ version "3.4.6"
+ resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.4.6.tgz#f7bda2c9a43d39837621c9a02ba7789f5daa24b2"
+ integrity sha512-kaXnB3pfFxhAJl/Mp+XG1HJMyFqrL/xPqV7oXlpXn4AwMmm6VNgf0nllW8ksflmZANfI4kdo0bVn/FYSsAolPQ==
+
+vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"
+ integrity sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=
+ dependencies:
+ hash-sum "^1.0.2"
+ loader-utils "^1.0.2"
+
+vue-template-compiler@^2.6.12:
+ version "2.6.12"
+ resolved "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597927370431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e"
+ integrity sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=
+ dependencies:
+ de-indent "^1.0.2"
+ he "^1.1.0"
+
+vue-template-es2015-compiler@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
+ integrity sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=
+
+vue@^2.6.12:
+ version "2.6.12"
+ resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
+ integrity sha1-9evU+mvShpQD4pqJau1JBEVskSM=
+
+vuex@^3.5.1:
+ version "3.5.1"
+ resolved "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz#f1b8dcea649bc25254cf4f4358081dbf5da18b3d"
+ integrity sha1-8bjc6mSbwlJUz09DWAgdv12hiz0=
+
+watchpack-chokidar2@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
+ integrity sha1-mUihhmy71suCTeoTp+1pH2yN3/A=
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.6.1:
+ version "1.7.2"
+ resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
+ integrity sha1-wC5NTUmRPD5+EiwzJTZa+dMx6ao=
+ dependencies:
+ graceful-fs "^4.1.2"
+ neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.0"
+ watchpack-chokidar2 "^2.0.0"
+
+wbuf@^1.1.0, wbuf@^1.7.3:
+ version "1.7.3"
+ resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
+ integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=
+ dependencies:
+ minimalistic-assert "^1.0.0"
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+ dependencies:
+ defaults "^1.0.3"
+
+webpack-bundle-analyzer@^3.8.0:
+ version "3.8.0"
+ resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
+ integrity sha1-zms/kI2vBp/R9yZvaSy7O97ZuhY=
+ dependencies:
+ acorn "^7.1.1"
+ acorn-walk "^7.1.1"
+ bfj "^6.1.1"
+ chalk "^2.4.1"
+ commander "^2.18.0"
+ ejs "^2.6.1"
+ express "^4.16.3"
+ filesize "^3.6.1"
+ gzip-size "^5.0.0"
+ lodash "^4.17.15"
+ mkdirp "^0.5.1"
+ opener "^1.5.1"
+ ws "^6.0.0"
+
+webpack-chain@^6.4.0:
+ version "6.4.0"
+ resolved "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.4.0.tgz?cache=0&sync_timestamp=1580740803516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-6.4.0.tgz#22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2"
+ integrity sha1-IvCye2qbye48uk+eZRPPZjlANOI=
+ dependencies:
+ deepmerge "^1.5.2"
+ javascript-stringify "^2.0.1"
+
+webpack-dev-middleware@^3.7.2:
+ version "3.7.2"
+ resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1582191620751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
+ integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=
+ dependencies:
+ memory-fs "^0.4.1"
+ mime "^2.4.4"
+ mkdirp "^0.5.1"
+ range-parser "^1.2.1"
+ webpack-log "^2.0.0"
+
+webpack-dev-server@^3.11.0:
+ version "3.11.0"
+ resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
+ integrity sha1-jxVKO84bz9HMYY705wMniFXn/4w=
+ dependencies:
+ ansi-html "0.0.7"
+ bonjour "^3.5.0"
+ chokidar "^2.1.8"
+ compression "^1.7.4"
+ connect-history-api-fallback "^1.6.0"
+ debug "^4.1.1"
+ del "^4.1.1"
+ express "^4.17.1"
+ html-entities "^1.3.1"
+ http-proxy-middleware "0.19.1"
+ import-local "^2.0.0"
+ internal-ip "^4.3.0"
+ ip "^1.1.5"
+ is-absolute-url "^3.0.3"
+ killable "^1.0.1"
+ loglevel "^1.6.8"
+ opn "^5.5.0"
+ p-retry "^3.0.1"
+ portfinder "^1.0.26"
+ schema-utils "^1.0.0"
+ selfsigned "^1.10.7"
+ semver "^6.3.0"
+ serve-index "^1.9.1"
+ sockjs "0.3.20"
+ sockjs-client "1.4.0"
+ spdy "^4.0.2"
+ strip-ansi "^3.0.1"
+ supports-color "^6.1.0"
+ url "^0.11.0"
+ webpack-dev-middleware "^3.7.2"
+ webpack-log "^2.0.0"
+ ws "^6.2.1"
+ yargs "^13.3.2"
+
+webpack-log@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
+ integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=
+ dependencies:
+ ansi-colors "^3.0.0"
+ uuid "^3.3.2"
+
+webpack-merge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
+ integrity sha1-onxS6ng9E5iv0gh/VH17nS9DY00=
+ dependencies:
+ lodash "^4.17.15"
+
+webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM=
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
+webpack-spritesmith@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npm.taobao.org/webpack-spritesmith/download/webpack-spritesmith-1.1.0.tgz#a012907f19d54553facb870c762b95660f22621b"
+ integrity sha1-oBKQfxnVRVP6y4cMdiuVZg8iYhs=
+ dependencies:
+ gaze "^1.1.3"
+ loader-utils "^1.2.3"
+ lodash "^4.17.15"
+ mkdirp "^0.5.1"
+ mz "^2.7.0"
+ spritesheet-templates "^10.4.2"
+ spritesmith "^3.4.0"
+
+webpack@^4.0.0:
+ version "4.43.0"
+ resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
+ integrity sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY=
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/wasm-edit" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ acorn "^6.4.1"
+ ajv "^6.10.2"
+ ajv-keywords "^3.4.1"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.3"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.4.0"
+ loader-utils "^1.2.3"
+ memory-fs "^0.4.1"
+ micromatch "^3.1.10"
+ mkdirp "^0.5.3"
+ neo-async "^2.6.1"
+ node-libs-browser "^2.2.1"
+ schema-utils "^1.0.0"
+ tapable "^1.1.3"
+ terser-webpack-plugin "^1.4.3"
+ watchpack "^1.6.1"
+ webpack-sources "^1.4.1"
+
+websocket-driver@0.6.5:
+ version "0.6.5"
+ resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
+ integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
+ dependencies:
+ websocket-extensions ">=0.1.1"
+
+websocket-driver@>=0.5.1:
+ version "0.7.3"
+ resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
+ integrity sha1-otTg1PTxFvHmKX66WLBdQwEA6fk=
+ dependencies:
+ http-parser-js ">=0.4.0 <0.4.11"
+ safe-buffer ">=5.1.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.3"
+ resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
+ integrity sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+
+which@^1.2.9, which@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=
+ dependencies:
+ isexe "^2.0.0"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116262707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=
+
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+
+worker-farm@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
+ integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=
+ dependencies:
+ errno "~0.1.7"
+
+wrap-ansi@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1587574768060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+ integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=
+ dependencies:
+ ansi-styles "^3.2.0"
+ string-width "^3.0.0"
+ strip-ansi "^5.0.0"
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1587574768060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+write-file-atomic@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=
+ dependencies:
+ imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
+ signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
+
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=
+ dependencies:
+ mkdirp "^0.5.1"
+
+ws@^6.0.0, ws@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
+ integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=
+ dependencies:
+ async-limiter "~1.0.0"
+
+xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
+ version "4.0.2"
+ resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=
+
+y18n@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
+ integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms=
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=
+
+yaml@^1.10.0:
+ version "1.10.0"
+ resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4=
+
+yargs-parser@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+ integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg=
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^18.1.1, yargs-parser@^18.1.3:
+ version "18.1.3"
+ resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs@^13.3.2:
+ version "13.3.2"
+ resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+ integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=
+ dependencies:
+ cliui "^5.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^3.0.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^13.1.2"
+
+yargs@^15.0.0:
+ version "15.3.1"
+ resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b"
+ integrity sha1-lQW0cnY5Y+VK/mAUitJ6MwgY6Ys=
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^1.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^4.2.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.1"
+
+yorkie@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9"
+ integrity sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=
+ dependencies:
+ execa "^0.8.0"
+ is-ci "^1.0.10"
+ normalize-path "^1.0.0"
+ strip-indent "^2.0.0"