├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .travis.yml ├── README.md ├── build ├── build.js ├── check-versions.js ├── logo.png ├── utils.js ├── vue-loader.conf.js ├── webpack.base.conf.js ├── webpack.dev.conf.js └── webpack.prod.conf.js ├── config ├── dev.env.js ├── index.js └── prod.env.js ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── main.ts ├── members.json ├── router │ └── index.js ├── style │ ├── core │ │ ├── base.scss │ │ ├── common.scss │ │ ├── index.scss │ │ ├── normalize.scss │ │ └── transition.scss │ ├── index.scss │ ├── mixin │ │ ├── _core.scss │ │ ├── _flex.scss │ │ ├── _media.scss │ │ ├── _placeholder.scss │ │ ├── _transition.scss │ │ └── _triangle.scss │ └── theme │ │ ├── _color.scss │ │ ├── _core.scss │ │ └── _size.scss ├── uis │ └── icons.ts ├── views │ └── Home │ │ ├── components │ │ ├── Icon.vue │ │ ├── MemberCard.vue │ │ ├── TheAboutUs.vue │ │ ├── TheFirstScreen.vue │ │ ├── TheFooter.vue │ │ ├── TheMember.vue │ │ └── TheWorks.vue │ │ └── index.vue └── vue-shim.d.ts ├── static ├── favicon.ico ├── fish.json ├── img │ ├── Montain.svg │ ├── Moon.svg │ ├── Path.svg │ ├── Seedling.svg │ └── icons │ │ └── icon.png └── manifest.json ├── tsconfig.json ├── tslint.json └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false 5 | }], 6 | "stage-2" 7 | ], 8 | "plugins": ["transform-runtime"] 9 | } 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /config/ 3 | /dist/ 4 | /*.js 5 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | // https://eslint.org/docs/user-guide/configuring 2 | 3 | module.exports = { 4 | root: true, 5 | parser: 'babel-eslint', 6 | parserOptions: { 7 | sourceType: 'module' 8 | }, 9 | env: { 10 | browser: true, 11 | }, 12 | // https://github.com/standard/standard/blob/master/docs/RULES-en.md 13 | extends: 'standard', 14 | // required to lint *.vue files 15 | plugins: [ 16 | 'html' 17 | ], 18 | // add your custom rules here 19 | 'rules': { 20 | // allow paren-less arrow functions 21 | 'arrow-parens': 0, 22 | // allow async-await 23 | 'generator-star-spacing': 0, 24 | // allow debugger during development 25 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | yarn.lock* 8 | 9 | # Editor directories and files 10 | .idea 11 | .vscode 12 | .npmrc 13 | *.suo 14 | *.ntvs* 15 | *.njsproj 16 | *.sln 17 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | // to edit target browsers: use "browserslist" field in package.json 6 | "postcss-import": {}, 7 | "autoprefixer": {} 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 10 4 | cache: 5 | yarn: true 6 | directories: 7 | - node_modules 8 | branches: 9 | only: 10 | - master 11 | install: 12 | - yarn install 13 | script: 14 | - yarn run build 15 | deploy: 16 | provider: pages 17 | skip_cleanup: true 18 | github_token: $GITHUB_TOKEN 19 | on: 20 | branch: master 21 | local_dir: dist 22 | target_branch: gh-pages 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hzfe 2 | 3 | > hzfe website 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | npm install 10 | 11 | # serve with hot reload at localhost:8080 12 | npm run dev 13 | 14 | # build for production with minification 15 | npm run build 16 | 17 | # build for production and view the bundle analyzer report 18 | npm run build --report 19 | ``` 20 | 21 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). 22 | -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | require('./check-versions')() 3 | 4 | process.env.NODE_ENV = 'production' 5 | 6 | const ora = require('ora') 7 | const rm = require('rimraf') 8 | const path = require('path') 9 | const chalk = require('chalk') 10 | const webpack = require('webpack') 11 | const config = require('../config') 12 | const webpackConfig = require('./webpack.prod.conf') 13 | 14 | const spinner = ora('building for production...') 15 | spinner.start() 16 | 17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { 18 | if (err) throw err 19 | webpack(webpackConfig, function (err, stats) { 20 | spinner.stop() 21 | if (err) throw err 22 | process.stdout.write(stats.toString({ 23 | colors: true, 24 | modules: false, 25 | children: false, 26 | chunks: false, 27 | chunkModules: false 28 | }) + '\n\n') 29 | 30 | if (stats.hasErrors()) { 31 | console.log(chalk.red(' Build failed with errors.\n')) 32 | process.exit(1) 33 | } 34 | 35 | console.log(chalk.cyan(' Build complete.\n')) 36 | console.log(chalk.yellow( 37 | ' Tip: built files are meant to be served over an HTTP server.\n' + 38 | ' Opening index.html over file:// won\'t work.\n' 39 | )) 40 | }) 41 | }) 42 | -------------------------------------------------------------------------------- /build/check-versions.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const chalk = require('chalk') 3 | const semver = require('semver') 4 | const packageConfig = require('../package.json') 5 | const shell = require('shelljs') 6 | function exec (cmd) { 7 | return require('child_process').execSync(cmd).toString().trim() 8 | } 9 | 10 | const versionRequirements = [ 11 | { 12 | name: 'node', 13 | currentVersion: semver.clean(process.version), 14 | versionRequirement: packageConfig.engines.node 15 | } 16 | ] 17 | 18 | if (shell.which('npm')) { 19 | versionRequirements.push({ 20 | name: 'npm', 21 | currentVersion: exec('npm --version'), 22 | versionRequirement: packageConfig.engines.npm 23 | }) 24 | } 25 | 26 | module.exports = function () { 27 | const warnings = [] 28 | for (let i = 0; i < versionRequirements.length; i++) { 29 | const mod = versionRequirements[i] 30 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { 31 | warnings.push(mod.name + ': ' + 32 | chalk.red(mod.currentVersion) + ' should be ' + 33 | chalk.green(mod.versionRequirement) 34 | ) 35 | } 36 | } 37 | 38 | if (warnings.length) { 39 | console.log('') 40 | console.log(chalk.yellow('To use this template, you must update following to modules:')) 41 | console.log() 42 | for (let i = 0; i < warnings.length; i++) { 43 | const warning = warnings[i] 44 | console.log(' ' + warning) 45 | } 46 | console.log() 47 | process.exit(1) 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HZFE/HZFEStudio/97d6e91c65fd693088267d36eba703989a757208/build/logo.png -------------------------------------------------------------------------------- /build/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const config = require('../config') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const pkg = require('../package.json') 6 | 7 | exports.assetsPath = function (_path) { 8 | const assetsSubDirectory = process.env.NODE_ENV === 'production' 9 | ? config.build.assetsSubDirectory 10 | : config.dev.assetsSubDirectory 11 | return path.posix.join(assetsSubDirectory, _path) 12 | } 13 | 14 | exports.cssLoaders = function (options) { 15 | options = options || {} 16 | 17 | const cssLoader = { 18 | loader: 'css-loader', 19 | options: { 20 | sourceMap: options.sourceMap 21 | } 22 | } 23 | 24 | var postcssLoader = { 25 | loader: 'postcss-loader', 26 | options: { 27 | sourceMap: options.sourceMap 28 | } 29 | } 30 | 31 | // generate loader string to be used with extract text plugin 32 | function generateLoaders (loader, loaderOptions) { 33 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader] 34 | if (loader) { 35 | loaders.push({ 36 | loader: loader + '-loader', 37 | options: Object.assign({}, loaderOptions, { 38 | sourceMap: options.sourceMap 39 | }) 40 | }) 41 | } 42 | 43 | // Extract CSS when that option is specified 44 | // (which is the case during production build) 45 | if (options.extract) { 46 | return ExtractTextPlugin.extract({ 47 | use: loaders, 48 | fallback: 'vue-style-loader' 49 | }) 50 | } else { 51 | return ['vue-style-loader'].concat(loaders) 52 | } 53 | } 54 | 55 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 56 | return { 57 | css: generateLoaders(), 58 | postcss: generateLoaders(), 59 | less: generateLoaders('less'), 60 | sass: generateLoaders('sass', { indentedSyntax: true }), 61 | scss: generateLoaders('sass'), 62 | stylus: generateLoaders('stylus'), 63 | styl: generateLoaders('stylus') 64 | } 65 | } 66 | 67 | // Generate loaders for standalone style files (outside of .vue) 68 | exports.styleLoaders = function (options) { 69 | const output = [] 70 | const loaders = exports.cssLoaders(options) 71 | for (const extension in loaders) { 72 | const loader = loaders[extension] 73 | output.push({ 74 | test: new RegExp('\\.' + extension + '$'), 75 | use: loader 76 | }) 77 | } 78 | return output 79 | } 80 | 81 | exports.createNotifierCallback = function () { 82 | const notifier = require('node-notifier') 83 | 84 | return (severity, errors) => { 85 | if (severity !== 'error') { 86 | return 87 | } 88 | const error = errors[0] 89 | 90 | const filename = error.file && error.file.split('!').pop() 91 | notifier.notify({ 92 | title: pkg.name, 93 | message: severity + ': ' + error.name, 94 | subtitle: filename || '', 95 | icon: path.join(__dirname, 'logo.png') 96 | }) 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const config = require('../config') 4 | const isProduction = process.env.NODE_ENV === 'production' 5 | const sourceMapEnabled = isProduction 6 | ? config.build.productionSourceMap 7 | : config.dev.cssSourceMap 8 | 9 | 10 | module.exports = { 11 | loaders: utils.cssLoaders({ 12 | sourceMap: sourceMapEnabled, 13 | extract: isProduction 14 | }), 15 | cssSourceMap: sourceMapEnabled, 16 | cacheBusting: config.dev.cacheBusting, 17 | transformToRequire: { 18 | video: 'src', 19 | source: 'src', 20 | img: 'src', 21 | image: 'xlink:href' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /build/webpack.base.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const config = require('../config') 5 | const vueLoaderConfig = require('./vue-loader.conf') 6 | 7 | function resolve (dir) { 8 | return path.join(__dirname, '..', dir) 9 | } 10 | 11 | module.exports = { 12 | context: path.resolve(__dirname, '../'), 13 | entry: { 14 | app: './src/main.ts' 15 | }, 16 | output: { 17 | path: config.build.assetsRoot, 18 | filename: '[name].js', 19 | publicPath: process.env.NODE_ENV === 'production' 20 | ? config.build.assetsPublicPath 21 | : config.dev.assetsPublicPath 22 | }, 23 | resolve: { 24 | extensions: ['.js', '.vue', '.json', '.ts'], 25 | alias: { 26 | 'vue$': 'vue/dist/vue.esm.js', 27 | '@': resolve('src'), 28 | 'style': resolve('src/style/index.scss'), 29 | 'static': resolve('static'), 30 | } 31 | }, 32 | module: { 33 | rules: [ 34 | ...(config.dev.useEslint? [{ 35 | test: /\.(js|vue)$/, 36 | loader: 'eslint-loader', 37 | enforce: 'pre', 38 | include: [resolve('src'), resolve('test')], 39 | options: { 40 | formatter: require('eslint-friendly-formatter'), 41 | emitWarning: !config.dev.showEslintErrorsInOverlay 42 | } 43 | }] : []), 44 | { 45 | test: /\.vue$/, 46 | loader: 'vue-loader', 47 | options: vueLoaderConfig 48 | }, 49 | { 50 | test: /\.js$/, 51 | loader: 'babel-loader', 52 | include: [resolve('src'), resolve('test')] 53 | }, 54 | { 55 | test: /\.ts$/, 56 | exclude: /node_modules/, 57 | enforce: 'pre', 58 | loader: 'tslint-loader' 59 | }, 60 | { 61 | test: /\.tsx?$/, 62 | loader: 'ts-loader', 63 | exclude: /node_modules/, 64 | options: { 65 | appendTsSuffixTo: [/\.vue$/], 66 | } 67 | }, 68 | { 69 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, 70 | loader: 'url-loader', 71 | options: { 72 | limit: 10000, 73 | name: utils.assetsPath('img/[name].[hash:7].[ext]') 74 | } 75 | }, 76 | { 77 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, 78 | loader: 'url-loader', 79 | options: { 80 | limit: 10000, 81 | name: utils.assetsPath('media/[name].[hash:7].[ext]') 82 | } 83 | }, 84 | { 85 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, 86 | loader: 'url-loader', 87 | options: { 88 | limit: 10000, 89 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]') 90 | } 91 | } 92 | ] 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /build/webpack.dev.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const webpack = require('webpack') 4 | const config = require('../config') 5 | const merge = require('webpack-merge') 6 | const baseWebpackConfig = require('./webpack.base.conf') 7 | const HtmlWebpackPlugin = require('html-webpack-plugin') 8 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 9 | const portfinder = require('portfinder') 10 | 11 | const devWebpackConfig = merge(baseWebpackConfig, { 12 | module: { 13 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) 14 | }, 15 | // cheap-module-eval-source-map is faster for development 16 | devtool: config.dev.devtool, 17 | 18 | // these devServer options should be customized in /config/index.js 19 | devServer: { 20 | clientLogLevel: 'warning', 21 | historyApiFallback: true, 22 | hot: true, 23 | compress: true, 24 | host: process.env.HOST || config.dev.host, 25 | port: process.env.PORT || config.dev.port, 26 | open: config.dev.autoOpenBrowser, 27 | overlay: config.dev.errorOverlay ? { 28 | warnings: false, 29 | errors: true, 30 | } : false, 31 | publicPath: config.dev.assetsPublicPath, 32 | proxy: config.dev.proxyTable, 33 | quiet: true, // necessary for FriendlyErrorsPlugin 34 | watchOptions: { 35 | poll: config.dev.poll, 36 | } 37 | }, 38 | plugins: [ 39 | new webpack.DefinePlugin({ 40 | 'process.env': require('../config/dev.env') 41 | }), 42 | new webpack.HotModuleReplacementPlugin(), 43 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. 44 | new webpack.NoEmitOnErrorsPlugin(), 45 | // https://github.com/ampedandwired/html-webpack-plugin 46 | new HtmlWebpackPlugin({ 47 | filename: 'index.html', 48 | template: 'index.html', 49 | inject: true 50 | }), 51 | ] 52 | }) 53 | 54 | module.exports = new Promise((resolve, reject) => { 55 | portfinder.basePort = process.env.PORT || config.dev.port 56 | portfinder.getPort((err, port) => { 57 | if (err) { 58 | reject(err) 59 | } else { 60 | // publish the new Port, necessary for e2e tests 61 | process.env.PORT = port 62 | // add port to devServer config 63 | devWebpackConfig.devServer.port = port 64 | 65 | // Add FriendlyErrorsPlugin 66 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ 67 | compilationSuccessInfo: { 68 | messages: [`Your application is running here: http://${config.dev.host}:${port}`], 69 | }, 70 | onErrors: config.dev.notifyOnErrors 71 | ? utils.createNotifierCallback() 72 | : undefined 73 | })) 74 | 75 | resolve(devWebpackConfig) 76 | } 77 | }) 78 | }) 79 | -------------------------------------------------------------------------------- /build/webpack.prod.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const webpack = require('webpack') 5 | const config = require('../config') 6 | const merge = require('webpack-merge') 7 | const baseWebpackConfig = require('./webpack.base.conf') 8 | const CopyWebpackPlugin = require('copy-webpack-plugin') 9 | const HtmlWebpackPlugin = require('html-webpack-plugin') 10 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') 12 | const SWPrecachePlugin = require('sw-precache-webpack-plugin') 13 | 14 | const env = require('../config/prod.env') 15 | 16 | const webpackConfig = merge(baseWebpackConfig, { 17 | module: { 18 | rules: utils.styleLoaders({ 19 | sourceMap: config.build.productionSourceMap, 20 | extract: true, 21 | usePostCSS: true 22 | }) 23 | }, 24 | devtool: config.build.productionSourceMap ? config.build.devtool : false, 25 | output: { 26 | path: config.build.assetsRoot, 27 | filename: utils.assetsPath('js/[name].[chunkhash].js'), 28 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') 29 | }, 30 | plugins: [ 31 | // http://vuejs.github.io/vue-loader/en/workflow/production.html 32 | new webpack.DefinePlugin({ 33 | 'process.env': env 34 | }), 35 | // UglifyJs do not support ES6+, you can also use babel-minify for better treeshaking: https://github.com/babel/minify 36 | new webpack.optimize.UglifyJsPlugin({ 37 | compress: { 38 | warnings: false 39 | }, 40 | sourceMap: config.build.productionSourceMap, 41 | parallel: true 42 | }), 43 | // extract css into its own file 44 | new ExtractTextPlugin({ 45 | filename: utils.assetsPath('css/[name].[contenthash].css'), 46 | // set the following option to `true` if you want to extract CSS from 47 | // codesplit chunks into this main css file as well. 48 | // This will result in *all* of your app's CSS being loaded upfront. 49 | allChunks: false, 50 | }), 51 | // Compress extracted CSS. We are using this plugin so that possible 52 | // duplicated CSS from different components can be deduped. 53 | new OptimizeCSSPlugin({ 54 | cssProcessorOptions: config.build.productionSourceMap 55 | ? { safe: true, map: { inline: false } } 56 | : { safe: true } 57 | }), 58 | // generate dist index.html with correct asset hash for caching. 59 | // you can customize output by editing /index.html 60 | // see https://github.com/ampedandwired/html-webpack-plugin 61 | new HtmlWebpackPlugin({ 62 | filename: config.build.index, 63 | template: 'index.html', 64 | inject: true, 65 | minify: { 66 | removeComments: true, 67 | collapseWhitespace: true, 68 | removeAttributeQuotes: true 69 | // more options: 70 | // https://github.com/kangax/html-minifier#options-quick-reference 71 | }, 72 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin 73 | chunksSortMode: 'dependency' 74 | }), 75 | // keep module.id stable when vender modules does not change 76 | new webpack.HashedModuleIdsPlugin(), 77 | // enable scope hoisting 78 | new webpack.optimize.ModuleConcatenationPlugin(), 79 | // split vendor js into its own file 80 | new webpack.optimize.CommonsChunkPlugin({ 81 | name: 'vendor', 82 | minChunks: function (module) { 83 | // any required modules inside node_modules are extracted to vendor 84 | return ( 85 | module.resource && 86 | /\.js$/.test(module.resource) && 87 | module.resource.indexOf( 88 | path.join(__dirname, '../node_modules') 89 | ) === 0 90 | ) 91 | } 92 | }), 93 | // extract webpack runtime and module manifest to its own file in order to 94 | // prevent vendor hash from being updated whenever app bundle is updated 95 | new webpack.optimize.CommonsChunkPlugin({ 96 | name: 'manifest', 97 | minChunks: Infinity 98 | }), 99 | // This instance extracts shared chunks from code splitted chunks and bundles them 100 | // in a separate chunk, similar to the vendor chunk 101 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk 102 | new webpack.optimize.CommonsChunkPlugin({ 103 | name: 'app', 104 | async: 'vendor-async', 105 | children: true, 106 | minChunks: 3 107 | }), 108 | 109 | // copy custom static assets 110 | new CopyWebpackPlugin([ 111 | { 112 | from: path.resolve(__dirname, '../static'), 113 | to: config.build.assetsSubDirectory, 114 | ignore: ['.*'] 115 | } 116 | ]), 117 | 118 | // Generate service worker file 119 | new SWPrecachePlugin({ 120 | cacheId: 'hzfe.org', 121 | filename: 'sw.js', 122 | dontCacheBustUrlsMatching: false, 123 | staticFileGlobsIgnorePatterns: [ 124 | /\.map$/, 125 | ], 126 | runtimeCaching: [{ 127 | urlPattern: /^https:\/\/avatars[0-9]\.githubusercontent\.com/, 128 | handler: 'cacheFirst' 129 | }, { 130 | urlPattern: /^https:\/\/o90cnn3g2\.qnssl\.com/, 131 | handler: 'cacheFirst' 132 | }, { 133 | urlPattern: /\.(png|jpg|webp|gif)/, 134 | handler: 'cacheFirst', 135 | options: { 136 | cache: { 137 | maxEntries: 20, 138 | name: 'pics-cache' 139 | } 140 | } 141 | }] 142 | }) 143 | ] 144 | }) 145 | 146 | if (config.build.productionGzip) { 147 | const CompressionWebpackPlugin = require('compression-webpack-plugin') 148 | 149 | webpackConfig.plugins.push( 150 | new CompressionWebpackPlugin({ 151 | asset: '[path].gz[query]', 152 | algorithm: 'gzip', 153 | test: new RegExp( 154 | '\\.(' + 155 | config.build.productionGzipExtensions.join('|') + 156 | ')$' 157 | ), 158 | threshold: 10240, 159 | minRatio: 0.8 160 | }) 161 | ) 162 | } 163 | 164 | if (config.build.bundleAnalyzerReport) { 165 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 166 | webpackConfig.plugins.push(new BundleAnalyzerPlugin()) 167 | } 168 | 169 | module.exports = webpackConfig 170 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | 5 | module.exports = merge(prodEnv, { 6 | NODE_ENV: '"development"' 7 | }) 8 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | // Template version: 1.2.4 3 | // see http://vuejs-templates.github.io/webpack for documentation. 4 | 5 | const path = require('path') 6 | 7 | module.exports = { 8 | dev: { 9 | 10 | // Paths 11 | assetsSubDirectory: 'static', 12 | assetsPublicPath: '', 13 | proxyTable: {}, 14 | 15 | // Various Dev Server settings 16 | host: '0.0.0.0', // can be overwritten by process.env.HOST 17 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined 18 | autoOpenBrowser: false, 19 | errorOverlay: true, 20 | notifyOnErrors: true, 21 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- 22 | 23 | // Use Eslint Loader? 24 | // If true, your code will be linted during bundling and 25 | // linting errors and warnings will be shown in the console. 26 | useEslint: true, 27 | // If true, eslint errors and warnings will also be shown in the error overlay 28 | // in the browser. 29 | showEslintErrorsInOverlay: false, 30 | 31 | /** 32 | * Source Maps 33 | */ 34 | 35 | // https://webpack.js.org/configuration/devtool/#development 36 | devtool: 'eval-source-map', 37 | 38 | // If you have problems debugging vue-files in devtools, 39 | // set this to false - it *may* help 40 | // https://vue-loader.vuejs.org/en/options.html#cachebusting 41 | cacheBusting: true, 42 | 43 | // CSS Sourcemaps off by default because relative paths are "buggy" 44 | // with this option, according to the CSS-Loader README 45 | // (https://github.com/webpack/css-loader#sourcemaps) 46 | // In our experience, they generally work as expected, 47 | // just be aware of this issue when enabling this option. 48 | cssSourceMap: true, 49 | }, 50 | 51 | build: { 52 | // Template for index.html 53 | index: path.resolve(__dirname, '../dist/index.html'), 54 | 55 | // Paths 56 | assetsRoot: path.resolve(__dirname, '../dist'), 57 | assetsSubDirectory: 'static', 58 | assetsPublicPath: '', 59 | 60 | /** 61 | * Source Maps 62 | */ 63 | 64 | productionSourceMap: true, 65 | // https://webpack.js.org/configuration/devtool/#production 66 | devtool: '#source-map', 67 | 68 | // Gzip off by default as many popular static hosts such as 69 | // Surge or Netlify already gzip all static assets for you. 70 | // Before setting to `true`, make sure to: 71 | // npm install --save-dev compression-webpack-plugin 72 | productionGzip: false, 73 | productionGzipExtensions: ['js', 'css'], 74 | 75 | // Run the build command with an extra argument to 76 | // View the bundle analyzer report after build finishes: 77 | // `npm run build --report` 78 | // Set to `true` or `false` to always turn it on or off 79 | bundleAnalyzerReport: process.env.npm_config_report 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"' 4 | } 5 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | HZFEStudio 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 29 | 30 | 31 | 32 | 39 | 40 | 41 | 42 |
43 | 44 | 49 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hzfe", 3 | "version": "1.0.0", 4 | "description": "hzfe website", 5 | "author": "HZFE ", 6 | "private": true, 7 | "scripts": { 8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", 9 | "start": "npm run dev", 10 | "lint": "eslint --ext .js,.vue src", 11 | "build": "node build/build.js", 12 | "precommit": "lint-staged", 13 | "commitmsg": "commitplease .git/COMMIT_EDITMSG" 14 | }, 15 | "commitplease": { 16 | "nohook": true, 17 | "components": [ 18 | "\\[Feat\\]", 19 | "\\[Fix\\]", 20 | "\\[Docs\\]", 21 | "\\[Style\\]", 22 | "\\[Refactor\\]", 23 | "\\[Test\\]", 24 | "\\[Chore\\]", 25 | "\\[Wip\\]", 26 | "\\[Conf\\]" 27 | ] 28 | }, 29 | "lint-staged": { 30 | "src/**/*.{js,vue}": [ 31 | "eslint --fix", 32 | "git add" 33 | ] 34 | }, 35 | "dependencies": { 36 | "sw-precache-webpack-plugin": "^0.11.4", 37 | "vue": "^2.5.2", 38 | "vue-class-component": "^6.1.1", 39 | "vue-property-decorator": "^6.0.0", 40 | "vue-router": "^3.0.1" 41 | }, 42 | "devDependencies": { 43 | "autoprefixer": "^7.1.2", 44 | "babel-core": "^6.22.1", 45 | "babel-eslint": "^7.1.1", 46 | "babel-loader": "^7.1.1", 47 | "babel-plugin-transform-runtime": "^6.22.0", 48 | "babel-preset-env": "^1.3.2", 49 | "babel-preset-stage-2": "^6.22.0", 50 | "babel-register": "^6.22.0", 51 | "bodymovin": "^4.13.0", 52 | "chalk": "^2.0.1", 53 | "commitplease": "^3.1.0", 54 | "copy-webpack-plugin": "^4.0.1", 55 | "css-loader": "^0.28.0", 56 | "eslint": "^3.19.0", 57 | "eslint-config-standard": "^10.2.1", 58 | "eslint-friendly-formatter": "^3.0.0", 59 | "eslint-loader": "^1.7.1", 60 | "eslint-plugin-html": "^3.0.0", 61 | "eslint-plugin-import": "^2.7.0", 62 | "eslint-plugin-node": "^5.2.0", 63 | "eslint-plugin-promise": "^3.4.0", 64 | "eslint-plugin-standard": "^3.0.1", 65 | "eventsource-polyfill": "^0.9.6", 66 | "extract-text-webpack-plugin": "^3.0.0", 67 | "file-loader": "^1.1.4", 68 | "friendly-errors-webpack-plugin": "^1.6.1", 69 | "html-webpack-plugin": "^2.30.1", 70 | "husky": "^0.14.3", 71 | "lint-staged": "^5.0.0", 72 | "node-notifier": "^5.1.2", 73 | "node-sass": "^4.7.2", 74 | "optimize-css-assets-webpack-plugin": "^3.2.0", 75 | "ora": "^1.2.0", 76 | "portfinder": "^1.0.13", 77 | "postcss-import": "^11.0.0", 78 | "postcss-loader": "^2.0.8", 79 | "prettier": "^1.8.2", 80 | "rimraf": "^2.6.0", 81 | "sass-loader": "^6.0.6", 82 | "semver": "^5.3.0", 83 | "shelljs": "^0.7.6", 84 | "ts-loader": "^3.2.0", 85 | "tslint": "^5.8.0", 86 | "tslint-config-standard": "^7.0.0", 87 | "tslint-loader": "^3.5.3", 88 | "typescript": "^2.6.2", 89 | "url-loader": "^0.5.8", 90 | "vue-loader": "^13.3.0", 91 | "vue-style-loader": "^3.0.1", 92 | "vue-template-compiler": "^2.5.2", 93 | "webpack": "^3.6.0", 94 | "webpack-bundle-analyzer": "^2.9.0", 95 | "webpack-dev-server": "^2.9.1", 96 | "webpack-merge": "^4.1.0" 97 | }, 98 | "engines": { 99 | "node": ">= 4.0.0", 100 | "npm": ">= 3.0.0" 101 | }, 102 | "browserslist": [ 103 | "> 1%", 104 | "last 2 versions", 105 | "not ie <= 8" 106 | ] 107 | } 108 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | 16 | 25 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | // The Vue build version to load with the `import` command 2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. 3 | import Vue from 'vue' 4 | import App from './App.vue' 5 | import router from './router' 6 | 7 | Vue.config.productionTip = false 8 | 9 | /* eslint-disable no-new */ 10 | const vm = new Vue({ 11 | el: '#app', 12 | router, 13 | template: '', 14 | components: { App } 15 | }) 16 | -------------------------------------------------------------------------------- /src/members.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "树", 4 | "description": "你猜我是不是树", 5 | "avatar": "https://avatars2.githubusercontent.com/u/3984824?s=460&v=4", 6 | "tags": ["前端"], 7 | "github": "https://github.com/gongpeione" 8 | }, 9 | { 10 | "name": "夜喵", 11 | "description": "Hzfe 最菜选手", 12 | "avatar": "https://avatars2.githubusercontent.com/u/13888962?s=460&v=4", 13 | "tags": ["前端"], 14 | "github": "https://github.com/NightCatSama" 15 | }, 16 | { 17 | "name": "goodboy", 18 | "description": "比铲铲腿毛少的男生", 19 | "avatar": "https://avatars2.githubusercontent.com/u/15681693?s=460&v=4", 20 | "blog": "blog.xyxiao.cn", 21 | "tags": ["前端"], 22 | "github": "https://github.com/xyxiao001" 23 | }, 24 | { 25 | "name": "Aki", 26 | "description": "我不是铲铲", 27 | "avatar": "https://avatars2.githubusercontent.com/u/17002181?v=4&s=400", 28 | "tags": ["女子"], 29 | "github": "https://github.com/Akiq2016" 30 | }, 31 | { 32 | "name": "银马座", 33 | "description": "对,没错,我就是铲铲", 34 | "avatar": "https://avatars0.githubusercontent.com/u/9531951?s=460&v=4", 35 | "tags": ["前端", "江湖传说", "HZFE 最棒群员(没有之一)"], 36 | "github": "https://github.com/yinmazuo" 37 | }, 38 | { 39 | "name": "地瓜", 40 | "description": "存在感什么的,最喜欢了", 41 | "avatar": "https://avatars0.githubusercontent.com/u/9943164?s=460&v=4", 42 | "tags": ["前端"], 43 | "github": "https://github.com/hellodigua" 44 | }, 45 | { 46 | "name": "昌", 47 | "description": "不会谈恋爱的小垃圾", 48 | "avatar": "https://avatars2.githubusercontent.com/u/19499958?s=460&v=4", 49 | "tags": ["前端"], 50 | "github": "https://github.com/Reusjs" 51 | }, 52 | { 53 | "name": "鱼", 54 | "description": "HZFE最菜前端", 55 | "avatar": "https://avatars2.githubusercontent.com/u/7876498", 56 | "tags": ["前端"], 57 | "github": "https://github.com/Yiiu" 58 | }, 59 | { 60 | "name": "兔", 61 | "description": "HZFE后端开饭", 62 | "avatar": "https://avatars1.githubusercontent.com/u/14918579?v=4&s=400", 63 | "tags": ["Nodejs", "不会前端", "兔子先生"], 64 | "github": "https://github.com/merrynode" 65 | }, 66 | { 67 | "name": "小k", 68 | "description": "每天写bug的小kk", 69 | "avatar": "https://avatars3.githubusercontent.com/u/12165373?s=460&v=4", 70 | "tags": ["前端"], 71 | "github": "https://github.com/xiaokk06" 72 | }, 73 | { 74 | "name": "好宅", 75 | "description": "hzfe唯一铲屎官er~", 76 | "avatar": "https://avatars3.githubusercontent.com/u/14882452?s=460&v=4", 77 | "tags": ["前端"], 78 | "github": "https://github.com/icemirror" 79 | }, 80 | { 81 | "name": "阿猫猫", 82 | "description": "拔起树根,我们出发吧", 83 | "avatar": "https://avatars3.githubusercontent.com/u/19522954?s=460&v=4", 84 | "tags": ["运营"], 85 | "github": "https://github.com/volvo18a" 86 | }, 87 | { 88 | "name": "陶陶陶", 89 | "description": "没麻子的陶麻子 菜鸡前端", 90 | "avatar": "https://avatars2.githubusercontent.com/u/17794232?s=460&v=4", 91 | "tags": ["前端"], 92 | "github": "https://github.com/Taomiaoer" 93 | }, 94 | { 95 | "name": "小果", 96 | "description": "研er", 97 | "avatar": "https://avatars0.githubusercontent.com/u/17242380?s=460&v=4", 98 | "tags": ["前端"], 99 | "github": "https://github.com/uztg" 100 | }, 101 | { 102 | "name": "daryl", 103 | "description": "我可能是群里最菜的", 104 | "avatar": "https://o90cnn3g2.qnssl.com/8393e7f0c94e11e79b2a57d944c1527b1.jpg", 105 | "tags": ["后台", "我真的不会前端啊"], 106 | "github": "https://github.com/Daryl-L" 107 | }, 108 | { 109 | "name": "清真", 110 | "description": "HZFE唯二非管理员", 111 | "avatar": "https://avatars1.githubusercontent.com/u/17525377?s=460&v=4", 112 | "tags": ["鼓励师"], 113 | "home": "//zhaoyuxiang.cn", 114 | "github": "https://github.com/LLawlight" 115 | }, 116 | { 117 | "name": "铛", 118 | "description": "明天就开始找工作了的", 119 | "avatar": "https://avatars1.githubusercontent.com/u/17510330?s=460&v=4", 120 | "tags": ["穷的一"], 121 | "github": "https://github.com/DragonCat1" 122 | } 123 | ] 124 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | import Home from '@/views/Home' 4 | 5 | Vue.use(Router) 6 | 7 | export default new Router({ 8 | mode: 'history', 9 | routes: [ 10 | { 11 | path: '/', 12 | name: 'Home', 13 | component: Home 14 | } 15 | ] 16 | }) 17 | -------------------------------------------------------------------------------- /src/style/core/base.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 通用标签样式 3 | */ 4 | 5 | *, 6 | *:before, 7 | *:after { 8 | box-sizing: border-box; 9 | } 10 | 11 | body, 12 | div, 13 | dl, 14 | dt, 15 | dd, 16 | ul, 17 | ol, 18 | li, 19 | h1, 20 | h2, 21 | h3, 22 | h4, 23 | h5, 24 | h6, 25 | pre, 26 | code, 27 | form, 28 | fieldset, 29 | legend, 30 | input, 31 | textarea, 32 | p, 33 | blockquote, 34 | th, 35 | td, 36 | hr, 37 | button, 38 | article, 39 | aside, 40 | details, 41 | figcaption, 42 | figure, 43 | footer, 44 | header, 45 | hgroup, 46 | menu, 47 | nav, 48 | section { 49 | margin: 0; 50 | padding: 0; 51 | } 52 | 53 | body { 54 | color: $body-color; 55 | font-weight: 200; 56 | } 57 | 58 | a { 59 | color: $link; 60 | outline: none; 61 | cursor: pointer; 62 | text-decoration: none; 63 | } 64 | 65 | button, 66 | input, 67 | select, 68 | textarea { 69 | font-family: inherit; 70 | font-size: inherit; 71 | color: inherit; 72 | } 73 | 74 | h1, 75 | h2, 76 | h3, 77 | h4, 78 | h5, 79 | h6 { 80 | font-weight: 300; 81 | } -------------------------------------------------------------------------------- /src/style/core/common.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 通用样式 3 | */ 4 | @import '../theme/core'; 5 | 6 | /* 色块 */ 7 | [class^=rect] { 8 | color: #fff; 9 | } 10 | [class*=skew] { 11 | transform: skew(-20deg); 12 | padding: $gap-small $gap-normal; 13 | & > * { 14 | transform: skew(20deg); 15 | } 16 | } 17 | [class$=brown] { 18 | background-color: $brown; 19 | color: $yellow; 20 | } 21 | [class$=green] { 22 | background-color: $green; 23 | color: $green-lighten; 24 | } 25 | [class$=blue] { 26 | background-color: $blue-lighten; 27 | color: $blue; 28 | } 29 | div[class^=rect] { 30 | display: inline-block; 31 | font-size: 30px; 32 | padding: $gap-small $gap-big; 33 | h2 { 34 | display: inline-block; 35 | font-weight: bolder; 36 | } 37 | } 38 | @media screen and (max-width: $media-ip6p-rotate) { 39 | div[class^=rect] { 40 | font-size: 18px; 41 | padding: $gap-small $gap-normal; 42 | } 43 | } 44 | 45 | .home-section { 46 | .main { 47 | flex: 1; 48 | width: 100%; 49 | position: relative; 50 | } 51 | footer { 52 | width: 100%; 53 | img { 54 | width: 100%; 55 | height: auto; 56 | display: block; 57 | transform: translateY(1px); 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /src/style/core/index.scss: -------------------------------------------------------------------------------- 1 | @import '../theme/core'; 2 | @import '../mixin/core'; 3 | @import 'normalize'; 4 | @import 'base'; 5 | @import 'transition'; 6 | @import 'common'; 7 | -------------------------------------------------------------------------------- /src/style/core/normalize.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css 3 | */ 4 | 5 | /* Document 6 | ========================================================================== */ 7 | 8 | /** 9 | * 1. Correct the line height in all browsers. 10 | * 2. Prevent adjustments of font size after orientation changes in 11 | * IE on Windows Phone and in iOS. 12 | */ 13 | 14 | html { 15 | line-height: 1.6; /* 1 */ /* 1.15 */ 16 | -ms-text-size-adjust: 100%; /* 2 */ 17 | -webkit-text-size-adjust: 100%; /* 2 */ 18 | } 19 | 20 | /* Sections 21 | ========================================================================== */ 22 | 23 | /** 24 | * Add the correct display in IE 9-. 25 | */ 26 | 27 | article, 28 | aside, 29 | footer, 30 | header, 31 | nav, 32 | section { 33 | display: block; 34 | } 35 | 36 | /** 37 | * Correct the font size and margin on `h1` elements within `section` and 38 | * `article` contexts in Chrome, Firefox, and Safari. 39 | */ 40 | 41 | h1 { 42 | font-size: 2em; 43 | margin: 0.67em 0; 44 | } 45 | 46 | /* Grouping content 47 | ========================================================================== */ 48 | 49 | /** 50 | * Add the correct display in IE 9-. 51 | * 1. Add the correct display in IE. 52 | */ 53 | 54 | figcaption, 55 | figure, 56 | main { /* 1 */ 57 | display: block; 58 | } 59 | 60 | /** 61 | * Add the correct margin in IE 8. 62 | */ 63 | 64 | figure { 65 | margin: 1em 40px; 66 | } 67 | 68 | /** 69 | * 1. Add the correct box sizing in Firefox. 70 | * 2. Show the overflow in Edge and IE. 71 | */ 72 | 73 | hr { 74 | box-sizing: content-box; /* 1 */ 75 | height: 0; /* 1 */ 76 | overflow: visible; /* 2 */ 77 | } 78 | 79 | /** 80 | * 1. Correct the inheritance and scaling of font size in all browsers. 81 | * 2. Correct the odd `em` font sizing in all browsers. 82 | */ 83 | 84 | pre { 85 | font-family: monospace, monospace; /* 1 */ 86 | font-size: 1em; /* 2 */ 87 | } 88 | 89 | /* Text-level semantics 90 | ========================================================================== */ 91 | 92 | /** 93 | * 1. Remove the gray background on active links in IE 10. 94 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. 95 | */ 96 | 97 | a { 98 | background-color: transparent; /* 1 */ 99 | -webkit-text-decoration-skip: objects; /* 2 */ 100 | } 101 | 102 | /** 103 | * 1. Remove the bottom border in Chrome 57- and Firefox 39-. 104 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 105 | */ 106 | 107 | abbr[title] { 108 | border-bottom: none; /* 1 */ 109 | text-decoration: underline; /* 2 */ 110 | text-decoration: underline dotted; /* 2 */ 111 | } 112 | 113 | /** 114 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6. 115 | */ 116 | 117 | b, 118 | strong { 119 | font-weight: inherit; 120 | } 121 | 122 | /** 123 | * Add the correct font weight in Chrome, Edge, and Safari. 124 | */ 125 | 126 | b, 127 | strong { 128 | font-weight: bolder; 129 | } 130 | 131 | /** 132 | * 1. Correct the inheritance and scaling of font size in all browsers. 133 | * 2. Correct the odd `em` font sizing in all browsers. 134 | */ 135 | 136 | code, 137 | kbd, 138 | samp { 139 | font-family: monospace, monospace; /* 1 */ 140 | font-size: 1em; /* 2 */ 141 | } 142 | 143 | /** 144 | * Add the correct font style in Android 4.3-. 145 | */ 146 | 147 | dfn { 148 | font-style: italic; 149 | } 150 | 151 | /** 152 | * Add the correct background and color in IE 9-. 153 | */ 154 | 155 | mark { 156 | background-color: #ff0; 157 | color: #000; 158 | } 159 | 160 | /** 161 | * Add the correct font size in all browsers. 162 | */ 163 | 164 | small { 165 | font-size: 80%; 166 | } 167 | 168 | /** 169 | * Prevent `sub` and `sup` elements from affecting the line height in 170 | * all browsers. 171 | */ 172 | 173 | sub, 174 | sup { 175 | font-size: 75%; 176 | line-height: 0; 177 | position: relative; 178 | vertical-align: baseline; 179 | } 180 | 181 | sub { 182 | bottom: -0.25em; 183 | } 184 | 185 | sup { 186 | top: -0.5em; 187 | } 188 | 189 | /* Embedded content 190 | ========================================================================== */ 191 | 192 | /** 193 | * Add the correct display in IE 9-. 194 | */ 195 | 196 | audio, 197 | video { 198 | display: inline-block; 199 | } 200 | 201 | /** 202 | * Add the correct display in iOS 4-7. 203 | */ 204 | 205 | audio:not([controls]) { 206 | display: none; 207 | height: 0; 208 | } 209 | 210 | /** 211 | * Remove the border on images inside links in IE 10-. 212 | */ 213 | 214 | img { 215 | border-style: none; 216 | } 217 | 218 | /** 219 | * Hide the overflow in IE. 220 | */ 221 | 222 | svg:not(:root) { 223 | overflow: hidden; 224 | } 225 | 226 | /* Forms 227 | ========================================================================== */ 228 | 229 | /** 230 | * Remove the margin in Firefox and Safari. 231 | */ 232 | 233 | button, 234 | input, 235 | optgroup, 236 | select, 237 | textarea { 238 | margin: 0; 239 | } 240 | 241 | /** 242 | * Show the overflow in IE. 243 | * 1. Show the overflow in Edge. 244 | */ 245 | 246 | button, 247 | input { /* 1 */ 248 | overflow: visible; 249 | } 250 | 251 | /** 252 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 253 | * 1. Remove the inheritance of text transform in Firefox. 254 | */ 255 | 256 | button, 257 | select { /* 1 */ 258 | text-transform: none; 259 | } 260 | 261 | /** 262 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` 263 | * controls in Android 4. 264 | * 2. Correct the inability to style clickable types in iOS and Safari. 265 | */ 266 | 267 | button, 268 | html [type="button"], /* 1 */ 269 | [type="reset"], 270 | [type="submit"] { 271 | -webkit-appearance: button; /* 2 */ 272 | } 273 | 274 | /** 275 | * Remove the inner border and padding in Firefox. 276 | */ 277 | 278 | button::-moz-focus-inner, 279 | [type="button"]::-moz-focus-inner, 280 | [type="reset"]::-moz-focus-inner, 281 | [type="submit"]::-moz-focus-inner { 282 | border-style: none; 283 | padding: 0; 284 | } 285 | 286 | /** 287 | * Restore the focus styles unset by the previous rule. 288 | */ 289 | 290 | button:-moz-focusring, 291 | [type="button"]:-moz-focusring, 292 | [type="reset"]:-moz-focusring, 293 | [type="submit"]:-moz-focusring { 294 | outline: 1px dotted ButtonText; 295 | } 296 | 297 | /** 298 | * 1. Correct the text wrapping in Edge and IE. 299 | * 2. Correct the color inheritance from `fieldset` elements in IE. 300 | * 3. Remove the padding so developers are not caught out when they zero out 301 | * `fieldset` elements in all browsers. 302 | */ 303 | 304 | legend { 305 | box-sizing: border-box; /* 1 */ 306 | color: inherit; /* 2 */ 307 | display: table; /* 1 */ 308 | max-width: 100%; /* 1 */ 309 | padding: 0; /* 3 */ 310 | white-space: normal; /* 1 */ 311 | } 312 | 313 | /** 314 | * 1. Add the correct display in IE 9-. 315 | * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. 316 | */ 317 | 318 | progress { 319 | display: inline-block; /* 1 */ 320 | vertical-align: baseline; /* 2 */ 321 | } 322 | 323 | /** 324 | * Remove the default vertical scrollbar in IE. 325 | */ 326 | 327 | textarea { 328 | overflow: auto; 329 | } 330 | 331 | /** 332 | * 1. Add the correct box sizing in IE 10-. 333 | * 2. Remove the padding in IE 10-. 334 | */ 335 | 336 | [type="checkbox"], 337 | [type="radio"] { 338 | box-sizing: border-box; /* 1 */ 339 | padding: 0; /* 2 */ 340 | } 341 | 342 | /** 343 | * Correct the cursor style of increment and decrement buttons in Chrome. 344 | */ 345 | 346 | [type="number"]::-webkit-inner-spin-button, 347 | [type="number"]::-webkit-outer-spin-button { 348 | height: auto; 349 | } 350 | 351 | /** 352 | * 1. Correct the odd appearance in Chrome and Safari. 353 | * 2. Correct the outline style in Safari. 354 | */ 355 | 356 | [type="search"] { 357 | -webkit-appearance: textfield; /* 1 */ 358 | outline-offset: -2px; /* 2 */ 359 | } 360 | 361 | /** 362 | * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. 363 | */ 364 | 365 | [type="search"]::-webkit-search-cancel-button, 366 | [type="search"]::-webkit-search-decoration { 367 | -webkit-appearance: none; 368 | } 369 | 370 | /** 371 | * 1. Correct the inability to style clickable types in iOS and Safari. 372 | * 2. Change font properties to `inherit` in Safari. 373 | */ 374 | 375 | ::-webkit-file-upload-button { 376 | -webkit-appearance: button; /* 1 */ 377 | font: inherit; /* 2 */ 378 | } 379 | 380 | /* Interactive 381 | ========================================================================== */ 382 | 383 | /* 384 | * Add the correct display in IE 9-. 385 | * 1. Add the correct display in Edge, IE, and Firefox. 386 | */ 387 | 388 | details, /* 1 */ 389 | menu { 390 | display: block; 391 | } 392 | 393 | /* 394 | * Add the correct display in all browsers. 395 | */ 396 | 397 | summary { 398 | display: list-item; 399 | } 400 | 401 | /* Scripting 402 | ========================================================================== */ 403 | 404 | /** 405 | * Add the correct display in IE 9-. 406 | */ 407 | 408 | canvas { 409 | display: inline-block; 410 | } 411 | 412 | /** 413 | * Add the correct display in IE. 414 | */ 415 | 416 | template { 417 | display: none; 418 | } 419 | 420 | /* Hidden 421 | ========================================================================== */ 422 | 423 | /** 424 | * Add the correct display in IE 10-. 425 | */ 426 | 427 | [hidden] { 428 | display: none; 429 | } -------------------------------------------------------------------------------- /src/style/core/transition.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * transition 3 | */ 4 | 5 | @include fade; 6 | @include bounce; 7 | @include bounce-center; 8 | @include slide-up; 9 | @include slide-down; 10 | @include slide-left; 11 | @include slide-right; -------------------------------------------------------------------------------- /src/style/index.scss: -------------------------------------------------------------------------------- 1 | @import 'theme/core'; 2 | @import 'mixin/core'; -------------------------------------------------------------------------------- /src/style/mixin/_core.scss: -------------------------------------------------------------------------------- 1 | @import 'flex'; 2 | @import 'triangle'; 3 | @import 'media'; 4 | @import 'placeholder'; 5 | @import 'transition'; -------------------------------------------------------------------------------- /src/style/mixin/_flex.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * flex 3 | */ 4 | 5 | // 水平垂直居中 6 | @mixin flex-center($display: flex, $direction: row) { 7 | @if ($display != '') { 8 | display: $display; 9 | } 10 | @else { 11 | display: flex; 12 | } 13 | 14 | @if ($direction != row) { 15 | flex-direction: $direction; 16 | } 17 | 18 | justify-content: center; 19 | align-items: center; 20 | } 21 | 22 | // 主轴居中 23 | @mixin flex-main-center($display: flex, $direction: row) { 24 | @if ($display) { 25 | display: $display; 26 | } 27 | @else { 28 | display: flex; 29 | } 30 | 31 | @if ($direction != row) { 32 | flex-direction: $direction; 33 | } 34 | 35 | justify-content: center; 36 | } 37 | 38 | // 交叉轴居中 39 | @mixin flex-cross-center($display: flex, $direction: row) { 40 | display: $display; 41 | 42 | @if ($direction != row) { 43 | flex-direction: $direction; 44 | } 45 | 46 | align-items: center; 47 | } -------------------------------------------------------------------------------- /src/style/mixin/_media.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 媒体查询 3 | */ 4 | 5 | // max-width 6 | @mixin max-screen($res) { 7 | @media (max-width: $res) { 8 | @content; 9 | } 10 | } 11 | 12 | // min-width 13 | @mixin min-screen($res) { 14 | @media (min-width: $res) { 15 | @content; 16 | } 17 | } 18 | 19 | // max-width and min-width 20 | @mixin minmax-screen($resMin, $resMax) { 21 | @media (min-width: $resMin) and (max-width: $resMax) { 22 | @content; 23 | } 24 | } 25 | 26 | @mixin aspect-ratio($ratio) { 27 | @media (aspect-ratio: $ratio) { 28 | @content; 29 | } 30 | } 31 | @mixin min-aspect-ratio($ratio) { 32 | @media (min-aspect-ratio: $ratio) { 33 | @content; 34 | } 35 | } 36 | @mixin max-aspect-ratio($ratio) { 37 | @media (max-aspect-ratio: $ratio) { 38 | @content; 39 | } 40 | } -------------------------------------------------------------------------------- /src/style/mixin/_placeholder.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * placeholder 3 | */ 4 | 5 | // 占位符 6 | @mixin placeholder($color: #CCC, $font-size: inherit) { 7 | &::-moz-placeholder { 8 | color: $color; 9 | font-size: $font-size; 10 | opacity: 1; 11 | } 12 | &:-ms-input-placeholder { 13 | color: $color; 14 | font-size: $font-size; 15 | } 16 | &::-webkit-input-placeholder { 17 | color: $color; 18 | font-size: $font-size; 19 | } 20 | } -------------------------------------------------------------------------------- /src/style/mixin/_transition.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * transition 3 | */ 4 | 5 | // bounce 6 | @mixin bounce($prefix: '', $enter_time: .5s, $leave_time: .2s) { 7 | .#{$prefix}bounce-enter-active { 8 | animation: bounce-in $enter_time; 9 | } 10 | .#{$prefix}bounce-leave-active { 11 | animation: bounce-out $leave_time; 12 | } 13 | @keyframes bounce-in { 14 | 0% { 15 | transform: scale(0.5); 16 | opacity: 0; 17 | } 18 | 50% { 19 | transform: scale(1.05); 20 | } 21 | 100% { 22 | transform: scale(1); 23 | opacity: 1; 24 | } 25 | } 26 | @keyframes bounce-out { 27 | 0% { 28 | transform: scale(1); 29 | opacity: 1; 30 | } 31 | 100% { 32 | transform: scale(0.5); 33 | opacity: 0; 34 | } 35 | } 36 | } 37 | 38 | // bounce-center 39 | @mixin bounce-center($prefix: '', $enter_time: .5s, $leave_time: .2s) { 40 | .#{$prefix}bounce-center-enter-active { 41 | animation: bounce-center-in $enter_time; 42 | } 43 | .#{$prefix}bounce-center-leave-active { 44 | animation: bounce-center-out $leave_time; 45 | } 46 | @keyframes bounce-center-in { 47 | 0% { 48 | transform: translate(-50%, -50%) scale(0.5); 49 | opacity: 0; 50 | } 51 | 50% { 52 | transform: translate(-50%, -50%) scale(1.05); 53 | } 54 | 100% { 55 | transform: translate(-50%, -50%) scale(1); 56 | opacity: 1; 57 | } 58 | } 59 | @keyframes bounce-center-out { 60 | 0% { 61 | transform: translate(-50%, -50%) scale(1); 62 | opacity: 1; 63 | } 64 | 100% { 65 | transform: translate(-50%, -50%) scale(0.5); 66 | opacity: 0; 67 | } 68 | } 69 | } 70 | 71 | // fade 72 | @mixin fade($prefix: '', $time: .5s) { 73 | .#{$prefix}fade-enter-active { 74 | animation: fade-in $time; 75 | } 76 | .#{$prefix}fade-leave-active { 77 | animation: fade-out $time; 78 | } 79 | @keyframes fade-in { 80 | 0% { 81 | opacity: 0; 82 | } 83 | 100% { 84 | opacity: 1; 85 | } 86 | } 87 | @keyframes fade-out { 88 | 0% { 89 | opacity: 1; 90 | } 91 | 100% { 92 | opacity: 0; 93 | } 94 | } 95 | } 96 | 97 | // slide-up 98 | @mixin slide-up($prefix: '', $time: .5s) { 99 | .#{$prefix}slide-up-enter, .#{$prefix}slide-up-leave-to { 100 | transform: translateY(50%); 101 | opacity: 0; 102 | } 103 | .#{$prefix}slide-up-enter-active, .#{$prefix}slide-up-leave-active { 104 | transition: transform $time ease, opacity $time ease; 105 | } 106 | } 107 | 108 | // slide-down 109 | @mixin slide-down($prefix: '', $time: .5s) { 110 | .#{$prefix}slide-down-enter, .#{$prefix}slide-down-leave-to { 111 | transform: translateY(-50%); 112 | opacity: 0; 113 | } 114 | .#{$prefix}slide-down-enter-active, .#{$prefix}slide-down-leave-active { 115 | transition: transform $time ease, opacity $time ease; 116 | } 117 | } 118 | 119 | // slide-left 120 | @mixin slide-left($prefix: '', $time: .5s) { 121 | .#{$prefix}slide-left-enter, .#{$prefix}slide-left-leave-to { 122 | transform: translateX(50%); 123 | opacity: 0; 124 | } 125 | .#{$prefix}slide-left-enter-active, .#{$prefix}slide-left-leave-active { 126 | transition: transform $time ease, opacity $time ease; 127 | } 128 | } 129 | 130 | // slide-right 131 | @mixin slide-right($prefix: '', $time: .5s) { 132 | .#{$prefix}slide-right-enter, .#{$prefix}slide-right-leave-to { 133 | transform: translateX(-50%); 134 | opacity: 0; 135 | } 136 | .#{$prefix}slide-right-enter-active, .#{$prefix}slide-right-leave-active { 137 | transition: transform $time ease, opacity $time ease; 138 | } 139 | } -------------------------------------------------------------------------------- /src/style/mixin/_triangle.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 三角形 3 | */ 4 | 5 | // 三角形 Params[大小,颜色,方向] 6 | @mixin triangle ($size, $color, $direction) { 7 | height: 0; 8 | width: 0; 9 | //三角向上、向下、向右和向左时,设置边框样式 10 | @if ($direction==top) or ($direction==bottom) or ($direction==right) or ($direction==left) { 11 | border-color: transparent; 12 | border-style: solid; 13 | border-width: $size / 2; 14 | //三角向上时,底部边框颜色为$color 15 | @if $direction==top { 16 | border-bottom-color: $color; 17 | //三角向右时,左边边框颜色为$color 18 | } 19 | @else if $direction==right { 20 | border-left-color: $color; 21 | //三你向下时,顶部边框颜色为$color 22 | } 23 | @else if $direction==bottom { 24 | border-top-color: $color; 25 | //三角向左时,右边框颜色为$color 26 | } 27 | @else if $direction==left { 28 | border-right-color: $color; 29 | } 30 | } 31 | //当三角为左上、右上直角三角形时 32 | @else if ($direction==top-right) or ($direction==top-left) { 33 | border-top: $size solid $color; //顶边边框样式 34 | //当三角为右上直角三角形时,设置左边边框为透明 35 | @if $direction==top-right { 36 | border-left: $size solid transparent; 37 | //当三角为左上直角三角形时,设置右边边框为透明 38 | } 39 | @else if $direction==top-left { 40 | border-right: $size solid transparent; 41 | } 42 | } 43 | //当三角为右下、左下直角三角形时 44 | @else if ($direction==bottom-right) or ($direction==bottom-left) { 45 | border-bottom: $size solid $color; //底边边框样式 46 | //当三角为右下直角三角形时,设置左边边框为透明 47 | @if $direction==bottom-right { 48 | border-left: $size solid transparent; 49 | //当三你为左下直角三角形时,设置右边边框为透明 50 | } 51 | @else if $direction==bottom-left { 52 | border-right: $size solid transparent; 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /src/style/theme/_color.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * 基础色 3 | */ 4 | 5 | $blue-lighten: #4DBCF8; 6 | $blue: #2066C2; 7 | $blue-darken: #1151A5; 8 | $blue-ink: #0B4370; 9 | $blue-gradient: linear-gradient(0deg, $blue-lighten 0%, $blue-darken 100%); 10 | 11 | $yellow: #FFD574; 12 | $brown: #8F480E; 13 | 14 | $green: #1FBD6B; 15 | $green-lighten: #C9FFC6; 16 | 17 | $black: #000; 18 | $white: #fff; 19 | -------------------------------------------------------------------------------- /src/style/theme/_core.scss: -------------------------------------------------------------------------------- 1 | @import 'color'; 2 | @import 'size'; 3 | 4 | // 字体颜色 5 | $title-color: lighten($black, 0.75); 6 | $body-color: lighten($black, 0.65); 7 | $caption-color: lighten($black, 0.43); 8 | $disabled-color: lighten($black, 0.25); 9 | $link: #108EE9; 10 | -------------------------------------------------------------------------------- /src/style/theme/_size.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * 尺寸 3 | */ 4 | 5 | /* 间隔 */ 6 | $gap-tiny: 5px; 7 | $gap-small: 10px; 8 | $gap-normal: 20px; 9 | $gap-big: 40px; 10 | $gap-gaint: 80px; 11 | 12 | $media-ip5: 320px; 13 | $media-ip5-rotate: 568px; 14 | $media-ip6: 375px; 15 | $media-ip6-rotate: 667px; 16 | $media-ip6p: 414px; 17 | $media-ip6p-rotate: 736px; 18 | $media-ipad: 768px; 19 | $media-ipad-rotate: 1024px; -------------------------------------------------------------------------------- /src/uis/icons.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | weibo: { 3 | data: '' 4 | }, 5 | github: { 6 | data: '' 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/views/Home/components/Icon.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | 22 | 31 | 32 | 39 | 40 | -------------------------------------------------------------------------------- /src/views/Home/components/MemberCard.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 25 | 26 | 130 | -------------------------------------------------------------------------------- /src/views/Home/components/TheAboutUs.vue: -------------------------------------------------------------------------------- 1 | 51 | 52 | 81 | 82 | 177 | -------------------------------------------------------------------------------- /src/views/Home/components/TheFirstScreen.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 20 | 21 | 71 | -------------------------------------------------------------------------------- /src/views/Home/components/TheFooter.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 32 | 33 | 58 | -------------------------------------------------------------------------------- /src/views/Home/components/TheMember.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 51 | 52 | 118 | -------------------------------------------------------------------------------- /src/views/Home/components/TheWorks.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 35 | 36 | 121 | -------------------------------------------------------------------------------- /src/views/Home/index.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 31 | 32 | 34 | -------------------------------------------------------------------------------- /src/vue-shim.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.vue" { 2 | import Vue from 'vue'; 3 | export default Vue; 4 | } 5 | 6 | declare module "*.json" { 7 | const value: any; 8 | export default value; 9 | } -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HZFE/HZFEStudio/97d6e91c65fd693088267d36eba703989a757208/static/favicon.ico -------------------------------------------------------------------------------- /static/fish.json: -------------------------------------------------------------------------------- 1 | {"v":"5.0.3","fr":99,"ip":0,"op":133,"w":724,"h":597,"nm":"final","ddd":1,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"fish_comp","refId":"comp_1","sr":1.4,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[362,352.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.646],"y":[0.18]},"o":{"x":[0.181],"y":[0]},"n":["0p646_0p18_0p181_0"],"t":0,"s":[0],"e":[0.03]},{"i":{"x":[0.615],"y":[0.623]},"o":{"x":[0.167],"y":[0.167]},"n":["0p615_0p623_0p167_0p167"],"t":26,"s":[0.03],"e":[0.189]},{"i":{"x":[0.784],"y":[0.399]},"o":{"x":[0.167],"y":[0.167]},"n":["0p784_0p399_0p167_0p167"],"t":99.865,"s":[0.189],"e":[0.21]},{"t":111.064378117866}],"ix":2},"w":724,"h":597,"ip":0,"op":112,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":0,"s":[12],"e":[9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":1.98,"s":[9],"e":[35]},{"t":3.96}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[338.5,469,0],"e":[329,426.5,0],"to":[-1.58333337306976,-7.08333349227905,0],"ti":[1.16666662693024,25.8333339691162,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":1.98,"s":[329,426.5,0],"e":[331.5,314,0],"to":[-1.16666662693024,-25.8333339691162,0],"ti":[-0.41666665673256,18.75,0]},{"t":3.96}],"ix":2},"a":{"a":0,"k":[-52.18,-21.584,0],"ix":1},"s":{"a":0,"k":[39,39,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":0,"s":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-7.727,13.876],[-9.932,13.974],[-20.207,13.892],[22.069,-2.857],[-13.299,19.425],[0,0],[9.374,-24.701],[16.132,-3.511],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[10.978,-19.715],[17.61,-24.775],[4.586,-3.153],[-19.039,2.465],[19.191,-28.031],[0,0],[-9.374,24.701],[-12.684,2.761],[-11.5,-5],[10.5,-14]],"v":[[-57.352,-138.495],[-106.5,-111.5],[-155,-105],[-219.852,-59.305],[-245.852,-44.305],[-240.391,-14.818],[-140.96,38.92],[-108.349,60.904],[-59.48,75.406],[-31.526,60.713],[-74.631,45.772],[-9.278,44.874],[81.968,-19.219],[118.053,-63.97],[217.001,-114.215],[165.288,-123.05],[139.163,-130.29],[138.284,-191.631],[107.761,-139.205],[78.381,-104.209],[-53,-101.5],[-47.852,-127.495]],"c":true}],"e":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-10.348,11.212],[-14.885,-2.027],[-12.85,6.216],[22.562,5.522],[-19.809,16.485],[0,0],[13,-23],[14.614,-0.581],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[12.241,-14.61],[20.253,-3.513],[2.916,-1.411],[-20.784,-5.481],[23.957,-20.918],[0,0],[-13,23],[-12.607,0.144],[-11.5,-5],[10.5,-14]],"v":[[-57.623,-141.213],[-106.5,-111.5],[-155,-105],[-220.541,-48.73],[-246.541,-33.73],[-240.645,-4.655],[-139.5,44],[-101.28,74.381],[-48.461,86.683],[-34.47,76.881],[-73.531,48.792],[-6.028,45.971],[88.61,-11.128],[124.082,-35.741],[204.618,-33.69],[167.908,-64.011],[150.796,-84.475],[164.046,-141.37],[119.512,-100.099],[86.162,-79.466],[-53,-101.5],[-48.123,-130.213]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p833_1_0p167_0p167","t":0.99,"s":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-10.348,11.212],[-14.885,-2.027],[-12.85,6.216],[22.562,5.522],[-19.809,16.485],[0,0],[13,-23],[14.614,-0.581],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[12.241,-14.61],[20.253,-3.513],[2.916,-1.411],[-20.784,-5.481],[23.957,-20.918],[0,0],[-13,23],[-12.607,0.144],[-11.5,-5],[10.5,-14]],"v":[[-57.623,-141.213],[-106.5,-111.5],[-155,-105],[-220.541,-48.73],[-246.541,-33.73],[-240.645,-4.655],[-139.5,44],[-101.28,74.381],[-48.461,86.683],[-34.47,76.881],[-73.531,48.792],[-6.028,45.971],[88.61,-11.128],[124.082,-35.741],[204.618,-33.69],[167.908,-64.011],[150.796,-84.475],[164.046,-141.37],[119.512,-100.099],[86.162,-79.466],[-53,-101.5],[-48.123,-130.213]],"c":true}],"e":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-14,7.5],[-19,-22],[0,0],[23,12.5],[-25,15.5],[0,0],[13,-23],[12.5,3.5],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[14,-7.5],[19,22],[0,0],[-23,-12.5],[25,-15.5],[0,0],[-13,23],[-12.5,-3.5],[-11.5,-5],[10.5,-14]],"v":[[-58,-145],[-106.5,-111.5],[-155,-105],[-221.5,-34],[-247.5,-19],[-241,9.5],[-139.5,44],[-95.5,79],[-40.5,95.5],[-35.5,85],[-72,53],[-1.5,47.5],[113.5,0.5],[150,29],[189.5,46],[171,-3.5],[164.5,-37],[184.5,-88.5],[131,-55.5],[97,-45],[-53,-101.5],[-48.5,-134]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":1.98,"s":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-14,7.5],[-19,-22],[0,0],[23,12.5],[-25,15.5],[0,0],[13,-23],[12.5,3.5],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[14,-7.5],[19,22],[0,0],[-23,-12.5],[25,-15.5],[0,0],[-13,23],[-12.5,-3.5],[-11.5,-5],[10.5,-14]],"v":[[-58,-145],[-106.5,-111.5],[-155,-105],[-221.5,-34],[-247.5,-19],[-241,9.5],[-139.5,44],[-95.5,79],[-40.5,95.5],[-35.5,85],[-72,53],[-1.5,47.5],[113.5,0.5],[150,29],[189.5,46],[171,-3.5],[164.5,-37],[184.5,-88.5],[131,-55.5],[97,-45],[-53,-101.5],[-48.5,-134]],"c":true}],"e":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-17.536,1.626],[-14.927,-32.269],[-4.113,1.828],[5.567,20.424],[-30.335,9.345],[1.163,-0.457],[32.159,-9.899],[12.5,3.5],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[11.754,-2.792],[11.28,23.074],[4.113,-1.828],[-5.275,-19.353],[29.879,-9.205],[-3.466,1.362],[-28.898,8.895],[-12.5,-3.5],[-11.5,-5],[10.5,-14]],"v":[[-58,-145],[-106.5,-111.5],[-155,-105],[-221.5,-34],[-247.5,-19],[-241,9.5],[-139.5,44],[-95.5,79],[-40.5,95.5],[-35.5,85],[-72,53],[-1.5,47.5],[89.931,18.486],[122.611,54.265],[143.659,81.4],[153.357,31.122],[172.95,1.316],[214.593,-27.522],[143.67,-26.549],[89.433,-25.591],[-53,-101.5],[-48.5,-134]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":2.97,"s":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-17.536,1.626],[-14.927,-32.269],[-4.113,1.828],[5.567,20.424],[-30.335,9.345],[1.163,-0.457],[32.159,-9.899],[12.5,3.5],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[11.754,-2.792],[11.28,23.074],[4.113,-1.828],[-5.275,-19.353],[29.879,-9.205],[-3.466,1.362],[-28.898,8.895],[-12.5,-3.5],[-11.5,-5],[10.5,-14]],"v":[[-58,-145],[-106.5,-111.5],[-155,-105],[-221.5,-34],[-247.5,-19],[-241,9.5],[-139.5,44],[-95.5,79],[-40.5,95.5],[-35.5,85],[-72,53],[-1.5,47.5],[89.931,18.486],[122.611,54.265],[143.659,81.4],[153.357,31.122],[172.95,1.316],[214.593,-27.522],[143.67,-26.549],[89.433,-25.591],[-53,-101.5],[-48.5,-134]],"c":true}],"e":[{"i":[[15.381,-2.161],[0,0],[27.905,-15.445],[0.113,-15.508],[10.821,-10.448],[-20.051,-0.752],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-18.078,-6.641],[-15.241,-28.896],[-5.699,7.631],[4.542,28.753],[-34.157,-0.348],[2.715,3.504],[35.709,-10.096],[15.857,6.25],[12.246,2.699],[-13.216,11.471]],"o":[[-22.233,3.124],[0,0],[-36.571,20.241],[-0.113,15.508],[-10.821,10.448],[20.051,0.752],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[16.158,5.936],[8.546,16.202],[8.298,-11.112],[-3.179,-20.127],[33.429,0.34],[-2.715,-3.504],[-29.395,8.311],[-25.896,-10.207],[-12.246,-2.699],[13.216,-11.471]],"v":[[-84.039,-131.268],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-251.377,19.172],[-232.038,41.092],[-131.685,56.954],[-81.784,82.854],[-32.064,94.977],[-26.681,84.668],[-63.713,52.826],[-2.865,50.021],[89.493,5.356],[126.421,45.836],[149.831,60.263],[153.568,22.096],[163.525,-7.498],[208.752,-40.198],[144.535,-34.988],[77.743,-29.746],[-75.783,-99.42],[-68.013,-119.984]],"c":true}]},{"t":3.96}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":4.95,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 26","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[347.75,296.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,95.52,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4.95,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[40.75,-69.5],[47.5,-62.5],[44.25,-68.75]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[58.625,-74.211],[61,-67.996],[60,-73.854]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5.94,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[58.625,-74.211],[61,-67.996],[60,-73.854]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[55.625,-98.29],[59.5,-93.907],[60.5,-96.362]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":6.93,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[55.625,-98.29],[59.5,-93.907],[60.5,-96.362]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[57.875,-105.356],[62,-103.591],[63.75,-104.476]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":7.92,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[57.875,-105.356],[62,-103.591],[63.75,-104.476]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[70.125,-104.833],[74.25,-103.067],[76,-103.952]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":9.9,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[70.125,-104.833],[74.25,-103.067],[76,-103.952]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[79.125,-98.552],[83.5,-100.45],[82.75,-101.597]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10.89,"s":[{"i":[[0,0],[-1.25,-1.25],[1.75,1.5]],"o":[[0,0],[1.25,1.25],[-1.75,-1.5]],"v":[[79.125,-98.552],[83.5,-100.45],[82.75,-101.597]],"c":true}],"e":[{"i":[[0,0],[-1.25,-1.25],[2.015,-1.118]],"o":[[0,0],[1.25,1.25],[-1.5,0.832]],"v":[[81.125,-70.023],[84,-74.539],[84.5,-72.545]],"c":true}]},{"t":11.88}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":12.87,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 25","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[347.75,296.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,95.52,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4.95,"s":[{"i":[[7.75,-0.75],[0,0]],"o":[[-7.75,0.75],[0,0]],"v":[[28.5,-89.25],[34.75,-78.25]],"c":true}],"e":[{"i":[[5.914,0.392],[0,0]],"o":[[-7.875,-0.522],[0,0]],"v":[[44.625,-90.035],[48.75,-78.773]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5.94,"s":[{"i":[[5.914,0.392],[0,0]],"o":[[-7.875,-0.522],[0,0]],"v":[[44.625,-90.035],[48.75,-78.773]],"c":true}],"e":[{"i":[[4.625,-3.663],[0,0]],"o":[[-5.264,4.168],[0,0]],"v":[[39.875,-110.188],[48.25,-103.899]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":6.93,"s":[{"i":[[4.625,-3.663],[0,0]],"o":[[-5.264,4.168],[0,0]],"v":[[39.875,-110.188],[48.25,-103.899]],"c":true}],"e":[{"i":[[4.625,-3.663],[0,0]],"o":[[-5.264,4.168],[0,0]],"v":[[42.625,-114.899],[51.25,-112.536]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":7.92,"s":[{"i":[[4.625,-3.663],[0,0]],"o":[[-5.264,4.168],[0,0]],"v":[[42.625,-114.899],[51.25,-112.536]],"c":true}],"e":[{"i":[[4.494,-5.946],[0,0]],"o":[[-2.375,3.142],[0,0]],"v":[[54.375,-112.02],[64.75,-114.63]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":9.9,"s":[{"i":[[4.494,-5.946],[0,0]],"o":[[-2.375,3.142],[0,0]],"v":[[54.375,-112.02],[64.75,-114.63]],"c":true}],"e":[{"i":[[4.494,-5.946],[0,0]],"o":[[-2.375,3.142],[0,0]],"v":[[59.375,-106.786],[67.25,-109.657]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10.89,"s":[{"i":[[4.494,-5.946],[0,0]],"o":[[-2.375,3.142],[0,0]],"v":[[59.375,-106.786],[67.25,-109.657]],"c":true}],"e":[{"i":[[3.625,-7.588],[0,0]],"o":[[-1.381,2.891],[0,0]],"v":[[47.625,-47.374],[49.25,-57.05]],"c":true}]},{"t":11.88}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":12.87,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 24","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[347.75,296.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,95.52,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4.95,"s":[{"i":[[0,0],[-2,0]],"o":[[0,0],[2,0]],"v":[[71.5,-44.75],[72.25,-41]],"c":true}],"e":[{"i":[[0,0],[-1.942,0.477]],"o":[[0,0],[2.5,-0.614]],"v":[[86.125,-43.834],[86.625,-41]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5.94,"s":[{"i":[[0,0],[-1.942,0.477]],"o":[[0,0],[2.5,-0.614]],"v":[[86.125,-43.834],[86.625,-41]],"c":true}],"e":[{"i":[[0,0],[-1.942,0.477]],"o":[[0,0],[2.5,-0.614]],"v":[[53.875,-97.488],[54.375,-94.654]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":7.92,"s":[{"i":[[0,0],[-1.942,0.477]],"o":[[0,0],[2.5,-0.614]],"v":[[53.875,-97.488],[54.375,-94.654]],"c":true}],"e":[{"i":[[0,0],[-1.575,1.233]],"o":[[0,0],[3.125,-2.446]],"v":[[29.625,-92.515],[35.125,-91.251]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":9.9,"s":[{"i":[[0,0],[-1.575,1.233]],"o":[[0,0],[3.125,-2.446]],"v":[[29.625,-92.515],[35.125,-91.251]],"c":true}],"e":[{"i":[[0,0],[-0.615,1.903]],"o":[[0,0],[0.875,-2.708]],"v":[[47.125,-91.468],[39.375,-90.466]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10.89,"s":[{"i":[[0,0],[-0.615,1.903]],"o":[[0,0],[0.875,-2.708]],"v":[[47.125,-91.468],[39.375,-90.466]],"c":true}],"e":[{"i":[[0,0],[-0.307,1.976]],"o":[[0,0],[0.625,-4.017]],"v":[[59.375,-89.636],[53.125,-84.97]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":11.88,"s":[{"i":[[0,0],[-0.307,1.976]],"o":[[0,0],[0.625,-4.017]],"v":[[59.375,-89.636],[53.125,-84.97]],"c":true}],"e":[{"i":[[0,0],[-0.307,1.976]],"o":[[0,0],[0.625,-4.017]],"v":[[56.375,-85.187],[50.875,-78.427]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":12.87,"s":[{"i":[[0,0],[-0.307,1.976]],"o":[[0,0],[0.625,-4.017]],"v":[[56.375,-85.187],[50.875,-78.427]],"c":true}],"e":[{"i":[[0,0],[-0.307,1.976]],"o":[[0,0],[0.625,-4.017]],"v":[[34.875,-71.839],[29.375,-65.079]],"c":true}]},{"t":13.86}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":13.86,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 22","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[347.75,296.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,95.52,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4.95,"s":[{"i":[[1.75,-4.25],[0,0],[4.25,7.5]],"o":[[-1.75,4.25],[0,0],[-4.25,-7.5]],"v":[[10,-54.5],[14.5,-48.5],[18.5,-49.5]],"c":true}],"e":[{"i":[[1.75,-4.25],[0,0],[4.25,7.5]],"o":[[-1.75,4.25],[0,0],[-4.25,-7.5]],"v":[[16.75,-58.033],[25,-48.631],[30,-52.772]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5.94,"s":[{"i":[[1.75,-4.25],[0,0],[4.25,7.5]],"o":[[-1.75,4.25],[0,0],[-4.25,-7.5]],"v":[[16.75,-58.033],[25,-48.631],[30,-52.772]],"c":true}],"e":[{"i":[[-0.5,-4.519],[0,0],[7.063,4.943]],"o":[[0.505,4.568],[0,0],[-5,-3.499]],"v":[[24.25,-61.174],[29.75,-57.922],[35.75,-61.409]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"n":"0p833_0p833_0p333_0","t":7.92,"s":[{"i":[[-0.5,-4.519],[0,0],[7.063,4.943]],"o":[[0.505,4.568],[0,0],[-5,-3.499]],"v":[[24.25,-61.174],[29.75,-57.922],[35.75,-61.409]],"c":true}],"e":[{"i":[[-0.434,-4.525],[-2.75,1.032],[0.625,0.296]],"o":[[0.378,3.82],[2.75,-1.032],[-3.75,-2.583]],"v":[[27.625,-56.856],[33.625,-57.857],[39.125,-60.623]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":8.91,"s":[{"i":[[-0.434,-4.525],[-2.75,1.032],[0.625,0.296]],"o":[[0.378,3.82],[2.75,-1.032],[-3.75,-2.583]],"v":[[27.625,-56.856],[33.625,-57.857],[39.125,-60.623]],"c":true}],"e":[{"i":[[-0.369,-4.532],[0,0],[-0.5,0.165]],"o":[[0.25,3.071],[0,0],[-2.5,-1.667]],"v":[[31,-52.537],[37.25,-58.315],[42.5,-61.932]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":9.9,"s":[{"i":[[-0.369,-4.532],[0,0],[-0.5,0.165]],"o":[[0.25,3.071],[0,0],[-2.5,-1.667]],"v":[[31,-52.537],[37.25,-58.315],[42.5,-61.932]],"c":true}],"e":[{"i":[[1,-6.089],[0,0],[-0.5,0.165]],"o":[[-0.499,3.04],[0,0],[-1.75,-0.097]],"v":[[23.75,-32.384],[28.25,-43.396],[28.75,-42.826]],"c":true}]},{"t":11.88}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":11.88,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 21","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[370.25,172.25,0],"ix":2},"a":{"a":0,"k":[8.25,-126.25,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":4.95,"s":[{"i":[[0,0],[-1,-3.25],[1.5,4]],"o":[[0,0],[1,3.25],[-1.5,-4]],"v":[[2.25,-132.25],[6.75,-125.5],[11.25,-124.5]],"c":true}],"e":[{"i":[[0,0],[-1,-3.25],[1.5,4]],"o":[[0,0],[1,3.25],[-1.5,-4]],"v":[[19.375,-92.25],[19.25,-86.5],[21.375,-86.375]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":7.92,"s":[{"i":[[0,0],[-1,-3.25],[1.5,4]],"o":[[0,0],[1,3.25],[-1.5,-4]],"v":[[19.375,-92.25],[19.25,-86.5],[21.375,-86.375]],"c":true}],"e":[{"i":[[0,0],[-1,-3.25],[-0.625,4.25]],"o":[[0,0],[1,3.25],[0.622,-4.227]],"v":[[17.25,-66.25],[17,-64],[17.5,-63.375]],"c":true}]},{"t":9.9}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":9.9,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 20","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[356.75,165.375,0],"ix":2},"a":{"a":0,"k":[-5.25,-133.125,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":4.95,"s":[{"i":[[0,0],[-2.25,-1.75]],"o":[[0,0],[2.25,1.75]],"v":[[-6.75,-136.25],[-4.25,-131]],"c":true}],"e":[{"i":[[0,0],[-2.25,-1.75]],"o":[[0,0],[2.25,1.75]],"v":[[1.188,-102.063],[1.813,-99.313]],"c":true}]},{"t":7.92}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":8.91,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"water","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[362,295,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[771,95],[-30,95],[-30,262.5],[771,262.5]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"蒙版 1"}],"w":724,"h":597,"ip":0,"op":20.79,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Shape Layer 14","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":4.95,"s":[40],"e":[29]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":5.94,"s":[29],"e":[15]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":6.93,"s":[15],"e":[1]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":7.92,"s":[1],"e":[-17]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":9.9,"s":[-17],"e":[-26]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":10.89,"s":[-26],"e":[-38]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":11.88,"s":[-38],"e":[-41]},{"t":12.87}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":4.95,"s":[336.5,148,0],"e":[339.75,105.75,0],"to":[0.54166668653488,-7.04166650772095,0],"ti":[-0.625,10.2916669845581,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":5.94,"s":[339.75,105.75,0],"e":[340.25,86.25,0],"to":[0.625,-10.2916669845581,0],"ti":[-0.08333333581686,4.25,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":6.93,"s":[340.25,86.25,0],"e":[340.25,80.25,0],"to":[0.08333333581686,-4.25,0],"ti":[0.08333333581686,-0.91666668653488,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":7.92,"s":[340.25,80.25,0],"e":[339.75,91.75,0],"to":[-0.08333333581686,0.91666668653488,0],"ti":[0.33333334326744,-6.08333349227905,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":10.89,"s":[339.75,91.75,0],"e":[338.25,116.75,0],"to":[-0.33333334326744,6.08333349227905,0],"ti":[0.25,-12,0]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":11.88,"s":[338.25,116.75,0],"e":[338.25,163.75,0],"to":[-0.25,12,0],"ti":[0,-7.83333349227905,0]},{"t":12.87}],"ix":2},"a":{"a":0,"k":[-52.18,-21.584,0],"ix":1},"s":{"a":0,"k":[39,39,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":4.95,"s":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[8.574,-12.359],[-19.812,3.177],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-18.078,-6.641],[-15.241,-28.896],[-5.699,7.631],[4.542,28.753],[-34.157,-0.348],[2.715,3.504],[35.709,-10.096],[15.857,6.25],[30.65,14.425],[6.681,1.472],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-8.574,12.359],[19.812,-3.177],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[16.158,5.936],[8.546,16.202],[8.298,-11.112],[-3.179,-20.127],[33.429,0.34],[-2.715,-3.504],[-29.395,8.311],[-11.768,-4.638],[-36.8,-17.319],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.356,27.961],[-225.11,45.685],[-131.685,56.954],[-81.784,82.854],[-32.064,94.977],[-26.681,84.668],[-63.713,52.826],[-2.865,50.021],[89.493,5.356],[126.421,45.836],[149.831,60.263],[153.568,22.096],[163.525,-7.498],[208.752,-40.198],[144.535,-34.988],[77.743,-29.746],[5.081,-63.061],[-75.783,-99.42],[-70.983,-126.607]],"c":true}],"e":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[8.574,-12.359],[-19.812,3.177],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-15.762,-11.068],[-7.295,-31.844],[-7.47,5.908],[-3.007,28.954],[-32.918,-9.123],[1.722,4.085],[37.105,-0.57],[15.857,6.25],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-8.574,12.359],[19.812,-3.177],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[14.087,9.892],[4.09,17.855],[10.877,-8.603],[2.105,-20.267],[32.216,8.928],[-1.722,-4.085],[-30.544,0.469],[-11.384,-4.487],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.356,27.961],[-225.11,45.685],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[75.161,9.302],[100.433,57.919],[119.344,77.882],[132.773,41.961],[150.008,15.924],[202.125,-4.041],[138.729,-15.526],[77.743,-29.746],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":5.94,"s":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[8.574,-12.359],[-19.812,3.177],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-15.762,-11.068],[-7.295,-31.844],[-7.47,5.908],[-3.007,28.954],[-32.918,-9.123],[1.722,4.085],[37.105,-0.57],[15.857,6.25],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-8.574,12.359],[19.812,-3.177],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[14.087,9.892],[4.09,17.855],[10.877,-8.603],[2.105,-20.267],[32.216,8.928],[-1.722,-4.085],[-30.544,0.469],[-11.384,-4.487],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.356,27.961],[-225.11,45.685],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[75.161,9.302],[100.433,57.919],[119.344,77.882],[132.773,41.961],[150.008,15.924],[202.125,-4.041],[138.729,-15.526],[77.743,-29.746],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}],"e":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[6.358,-13.632],[-18.989,6.484],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-13.855,-13.377],[-2.271,-32.59],[-8.295,4.679],[-7.459,28.138],[-31.106,-14.115],[1.068,4.302],[36.744,5.188],[15.857,6.25],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-6.358,13.632],[18.989,-6.484],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[12.384,11.956],[1.273,18.273],[12.079,-6.813],[5.221,-19.696],[30.443,13.814],[-1.068,-4.302],[-30.247,-4.271],[-11.384,-4.487],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.83,30.94],[-222.92,44.475],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[79.45,7.536],[96.88,59.482],[112.468,82.136],[131.303,48.731],[152.365,25.681],[206.947,14.035],[146.098,-7.138],[77.743,-29.746],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":6.93,"s":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[6.358,-13.632],[-18.989,6.484],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-13.855,-13.377],[-2.271,-32.59],[-8.295,4.679],[-7.459,28.138],[-31.106,-14.115],[1.068,4.302],[36.744,5.188],[15.857,6.25],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-6.358,13.632],[18.989,-6.484],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[12.384,11.956],[1.273,18.273],[12.079,-6.813],[5.221,-19.696],[30.443,13.814],[-1.068,-4.302],[-30.247,-4.271],[-11.384,-4.487],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.83,30.94],[-222.92,44.475],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[79.45,7.536],[96.88,59.482],[112.468,82.136],[131.303,48.731],[152.365,25.681],[206.947,14.035],[146.098,-7.138],[77.743,-29.746],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}],"e":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[6.358,-13.632],[-18.989,6.484],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-11.17,-15.689],[3.738,-32.454],[-9.012,3.08],[-12.487,26.295],[-27.994,-19.575],[0.262,4.425],[35.172,11.832],[14.444,9.049],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-6.358,13.632],[18.989,-6.484],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[9.984,14.023],[-2.096,18.197],[13.123,-4.485],[8.741,-18.406],[27.397,19.157],[-0.262,-4.425],[-28.953,-9.74],[-10.369,-6.497],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.83,30.94],[-222.92,44.475],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[73.982,19.317],[81.601,73.577],[92.775,98.703],[117.411,69.314],[142.339,50.512],[198.131,49.063],[142.19,17.101],[79.134,-17.646],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"n":"0p833_1_0p167_0","t":7.92,"s":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[6.358,-13.632],[-18.989,6.484],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-11.17,-15.689],[3.738,-32.454],[-9.012,3.08],[-12.487,26.295],[-27.994,-19.575],[0.262,4.425],[35.172,11.832],[14.444,9.049],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-6.358,13.632],[18.989,-6.484],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[9.984,14.023],[-2.096,18.197],[13.123,-4.485],[8.741,-18.406],[27.397,19.157],[-0.262,-4.425],[-28.953,-9.74],[-10.369,-6.497],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.83,30.94],[-222.92,44.475],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[73.982,19.317],[81.601,73.577],[92.775,98.703],[117.411,69.314],[142.339,50.512],[198.131,49.063],[142.19,17.101],[79.134,-17.646],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}],"e":[{"i":[[14.365,-5.908],[0,0],[27.905,-15.445],[0.113,-15.508],[6.358,-13.632],[-18.989,6.484],[-6.907,-1.451],[-20.951,-8.129],[-14.99,-0.553],[7.903,2.793],[0,0],[-41.5,9.5],[-17.21,-8.646],[-11.87,-30.436],[-6.526,6.936],[1.256,29.082],[-33.898,-4.215],[2.301,3.789],[36.623,-5.985],[14.444,9.049],[29.606,13.934],[6.863,1.512],[-9.959,14.39]],"o":[[-20.764,8.54],[0,0],[-36.571,20.241],[-0.113,15.508],[-6.358,13.632],[18.989,-6.484],[6.907,1.451],[20.951,8.129],[14.99,0.553],[-7.903,-2.793],[0,0],[41.5,-9.5],[15.382,7.728],[6.655,17.066],[9.503,-10.1],[-0.879,-20.357],[33.175,4.125],[-2.301,-3.789],[-30.148,4.927],[-10.369,-6.497],[-37.743,-17.763],[-12.246,-2.699],[9.959,-14.39]],"v":[[-89.307,-133.565],[-127.723,-99.864],[-175.506,-86.298],[-230.962,-5.717],[-248.83,30.94],[-222.92,44.475],[-137.218,48.294],[-87.317,74.194],[-37.597,86.317],[-32.214,76.008],[-69.246,44.166],[-9.331,39.679],[78.934,33.961],[111.038,78.363],[132.663,95.35],[140.699,57.852],[153.945,29.576],[202.585,2.21],[138.192,0.112],[79.134,-17.646],[13.5,-69.055],[-75.783,-99.42],[-70.983,-126.607]],"c":true}]},{"t":11.88}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":12.87,"st":4.95,"bm":0},{"ddd":0,"ind":10,"ty":0,"nm":"Pre-comp 3","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.556]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p556_0p333_0"],"t":0.99,"s":[0],"e":[-2]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.444]},"n":["0p667_1_0p333_0p444"],"t":3.96,"s":[-2],"e":[-6]},{"t":9.9}],"ix":10},"p":{"a":0,"k":[360,372.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":0.99,"op":9.9,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"Pre-comp 3","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[521,322.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":11.88,"op":20.79,"st":10.89,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.203],"y":[0.518]},"n":["0p667_1_0p203_0p518"],"t":12.87,"s":[-30],"e":[12]},{"t":19.8}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.857],"y":[0.896]},"o":{"x":[0.143],"y":[0.243]},"n":["0p857_0p896_0p143_0p243"],"t":12.87,"s":[354.5],"e":[338.5]},{"t":19.8}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.779],"y":[0.992]},"o":{"x":[0.143],"y":[0.652]},"n":["0p779_0p992_0p143_0p652"],"t":12.87,"s":[322.108],"e":[469]},{"t":19.8}],"ix":4}},"a":{"a":0,"k":[-52.18,-21.584,0],"ix":1},"s":{"a":0,"k":[39,39,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.85,"y":0.996},"o":{"x":0.404,"y":0.383},"n":"0p85_0p996_0p404_0p383","t":12.87,"s":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-10.348,11.212],[-14.885,-2.027],[-12.85,6.216],[22.562,5.522],[-19.809,16.485],[0,0],[13,-23],[14.614,-0.581],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[12.241,-14.61],[20.253,-3.513],[2.916,-1.411],[-20.784,-5.481],[23.957,-20.918],[0,0],[-13,23],[-12.607,0.144],[-11.5,-5],[10.5,-14]],"v":[[-57.623,-141.213],[-106.5,-111.5],[-155,-105],[-220.541,-48.73],[-246.541,-33.73],[-240.645,-4.655],[-139.5,44],[-101.28,74.381],[-48.461,86.683],[-34.47,76.881],[-73.531,48.792],[-6.028,45.971],[88.61,-11.128],[124.082,-35.741],[204.618,-33.69],[167.908,-64.011],[150.796,-84.475],[164.046,-141.37],[119.512,-100.099],[86.162,-79.466],[-53,-101.5],[-48.123,-130.213]],"c":true}],"e":[{"i":[[15.5,-1],[0,0],[31,-7.5],[5.5,-14.5],[14.5,-4],[-17.25,-10.25],[-6.5,-2.75],[-19,-12],[-15,0],[8,2.5],[0,0],[-41.5,9.5],[-7.727,13.876],[-9.932,13.974],[-20.207,13.892],[22.069,-2.857],[-13.299,19.425],[0,0],[9.374,-24.701],[16.132,-3.511],[11.5,5],[-10.5,14]],"o":[[-15.5,1],[0,0],[-31,7.5],[-5.5,14.5],[-14.5,4],[17.25,10.25],[6.5,2.75],[19,12],[15,0],[-8,-2.5],[0,0],[41.5,-9.5],[10.978,-19.715],[17.61,-24.775],[4.586,-3.153],[-19.039,2.465],[19.191,-28.031],[0,0],[-9.374,24.701],[-12.684,2.761],[-11.5,-5],[10.5,-14]],"v":[[-57.352,-138.495],[-106.5,-111.5],[-155,-105],[-219.852,-59.305],[-245.852,-44.305],[-240.391,-14.818],[-140.96,38.92],[-108.349,60.904],[-59.48,75.406],[-31.526,60.713],[-74.631,45.772],[-9.278,44.874],[81.968,-19.219],[118.053,-63.97],[217.001,-114.215],[165.288,-123.05],[139.163,-130.29],[138.284,-191.631],[107.761,-139.205],[78.381,-104.209],[-53,-101.5],[-47.852,-127.495]],"c":true}]},{"t":19.8}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12.87,"op":20.79,"st":12.87,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"Pre-comp 1","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[374,294.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":11.88,"op":20.79,"st":0,"bm":0}]},{"id":"comp_2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[367,293.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4.95,"s":[{"i":[[0,0],[1.313,-4.746],[10,-6],[8,-9],[0,0],[0,0],[0,-5],[16,-2],[15.965,6.879]],"o":[[0,0],[-1.625,5.875],[-10,6],[-8,9],[0,0],[0,0],[0,5],[-6.498,0.812],[-15.873,-6.839]],"v":[[8.125,-78.5],[2.875,-54.375],[-11.25,-35.25],[-32,-43.5],[-60,-31.5],[121,-28],[85,-45.5],[75.5,-33.5],[38.41,-59.629]],"c":true}],"e":[{"i":[[0,0],[0.875,-7.875],[6.75,-7.75],[4.791,-8.384],[0,0],[0,0],[29,21],[7,-0.75],[16.84,13.629]],"o":[[0,0],[-0.544,4.894],[-11.012,12.644],[-7,12.25],[0,0],[0,0],[-4.05,-2.932],[-6.511,0.698],[-10.038,-8.124]],"v":[[6.125,-93.25],[15.625,-55.625],[7.25,-41.75],[-17.75,-50.75],[-60,-31.5],[130.75,-33],[92.5,-52.75],[82.5,-43.25],[43.41,-68.129]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":5.94,"s":[{"i":[[0,0],[0.875,-7.875],[6.75,-7.75],[4.791,-8.384],[0,0],[0,0],[29,21],[7,-0.75],[16.84,13.629]],"o":[[0,0],[-0.544,4.894],[-11.012,12.644],[-7,12.25],[0,0],[0,0],[-4.05,-2.932],[-6.511,0.698],[-10.038,-8.124]],"v":[[6.125,-93.25],[15.625,-55.625],[7.25,-41.75],[-17.75,-50.75],[-60,-31.5],[130.75,-33],[92.5,-52.75],[82.5,-43.25],[43.41,-68.129]],"c":true}],"e":[{"i":[[0,0],[7.125,-10.625],[9,0.25],[7.853,-1.548],[0,0],[0,0],[15.761,14.548],[7,-0.75],[16.841,13.629]],"o":[[0,0],[-5.839,8.707],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-6.5,-6],[-6.511,0.698],[-13.055,-10.565]],"v":[[35.625,-71.5],[29.125,-46.875],[12,-37.5],[-8.25,-43.75],[-60,-31.5],[150.75,-31.75],[124.25,-43],[92.5,-37.75],[63.91,-55.629]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":6.93,"s":[{"i":[[0,0],[7.125,-10.625],[9,0.25],[7.853,-1.548],[0,0],[0,0],[15.761,14.548],[7,-0.75],[16.841,13.629]],"o":[[0,0],[-5.839,8.707],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-6.5,-6],[-6.511,0.698],[-13.055,-10.565]],"v":[[35.625,-71.5],[29.125,-46.875],[12,-37.5],[-8.25,-43.75],[-60,-31.5],[150.75,-31.75],[124.25,-43],[92.5,-37.75],[63.91,-55.629]],"c":true}],"e":[{"i":[[0,0],[-2.125,-0.125],[9,0.25],[7.853,-1.548],[0,0],[0,0],[18.75,1.5],[7,-0.75],[14.687,15.926]],"o":[[0,0],[10.466,0.616],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-8.818,-0.705],[-6.511,0.698],[-9.036,-9.798]],"v":[[48.125,-38],[27.125,-25.875],[30.5,-35],[8.75,-39.75],[-60,-31.5],[162.25,-19.25],[141.25,-39],[108.5,-33.75],[77.409,-47.129]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":7.92,"s":[{"i":[[0,0],[-2.125,-0.125],[9,0.25],[7.853,-1.548],[0,0],[0,0],[18.75,1.5],[7,-0.75],[14.687,15.926]],"o":[[0,0],[10.466,0.616],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-8.818,-0.705],[-6.511,0.698],[-9.036,-9.798]],"v":[[48.125,-38],[27.125,-25.875],[30.5,-35],[8.75,-39.75],[-60,-31.5],[162.25,-19.25],[141.25,-39],[108.5,-33.75],[77.409,-47.129]],"c":true}],"e":[{"i":[[0,0],[-2.125,-0.125],[9,0.25],[7.853,-1.548],[0,0],[0,0],[18.75,1.5],[9.5,0.75],[20.09,12.129]],"o":[[0,0],[10.466,0.616],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-8.818,-0.705],[-6.528,-0.515],[-4.186,-2.527]],"v":[[49.625,-28.5],[27.125,-25.875],[57.5,-31],[23.25,-39.25],[-25,-31],[162.25,-19.25],[158.25,-37.5],[120,-31.75],[83.91,-46.629]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":8.91,"s":[{"i":[[0,0],[-2.125,-0.125],[9,0.25],[7.853,-1.548],[0,0],[0,0],[18.75,1.5],[9.5,0.75],[20.09,12.129]],"o":[[0,0],[10.466,0.616],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-8.818,-0.705],[-6.528,-0.515],[-4.186,-2.527]],"v":[[49.625,-28.5],[27.125,-25.875],[57.5,-31],[23.25,-39.25],[-25,-31],[162.25,-19.25],[158.25,-37.5],[120,-31.75],[83.91,-46.629]],"c":true}],"e":[{"i":[[0,0],[-2.125,-0.125],[9,0.25],[7.853,-1.548],[0,0],[0,0],[18.75,1.5],[9.5,0.75],[20.09,12.129]],"o":[[0,0],[10.465,0.616],[-16.76,-0.466],[-17.75,3.5],[0,0],[0,0],[-8.818,-0.705],[-6.528,-0.515],[-4.186,-2.527]],"v":[[49.625,-28.5],[27.125,-25.875],[57.5,-31],[37.75,-36.25],[-25,-31],[162.25,-19.25],[181.25,-32],[120,-31.75],[112.91,-38.129]],"c":true}]},{"t":10.89}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-2.5,0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":4.95,"op":11.88,"st":0,"bm":0}]},{"id":"comp_3","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Pre-comp 2","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[377,281.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":0.99,"op":8.91,"st":-0.99,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Pre-comp 2","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[408,319.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[52,91,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":1.98,"op":9.9,"st":0,"bm":0}]},{"id":"comp_4","layers":[{"ddd":1,"ind":1,"ty":4,"nm":"Shape Layer 20","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.75]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p75_0p333_0"],"t":1.98,"s":[40],"e":[95.556]},{"t":6.93}],"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.79]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p79_0p333_0"],"t":1.98,"s":[0],"e":[44.037]},{"t":6.93}],"ix":8},"ry":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.75]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p75_0p333_0"],"t":1.98,"s":[0],"e":[26.852]},{"t":6.93}],"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.902]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p902_0p333_0"],"t":1.98,"s":[0],"e":[64]},{"t":6.93}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.367],"y":[1.64]},"o":{"x":[0.273],"y":[3.387]},"n":["0p367_1p64_0p273_3p387"],"t":1.98,"s":[380.5],"e":[394.518]},{"t":6.93}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.682],"y":[0.857]},"o":{"x":[0.243],"y":[0.487]},"n":["0p682_0p857_0p243_0p487"],"t":1.98,"s":[491.5],"e":[292.386]},{"t":6.93}],"ix":4},"z":{"a":1,"k":[{"i":{"x":[0.682],"y":[1]},"o":{"x":[0.243],"y":[0]},"n":["0p682_1_0p243_0"],"t":1.98,"s":[0],"e":[0]},{"t":6.93}],"ix":5}},"a":{"a":0,"k":[81,65,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[0.79,0.244,0.79]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_0p79_0p333_0","0p667_0p244_0p333_0","0p667_0p79_0p333_0"],"t":1.98,"s":[23,23,23],"e":[72.667,36.776,72.667]},{"t":6.93}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.5,-6],[0.5,6]],"o":[[0,0],[3.5,6],[-0.5,-6]],"v":[[80,58.5],[78,70.5],[88.5,70.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1.98,"op":6.93,"st":1.98,"bm":0},{"ddd":1,"ind":2,"ty":4,"nm":"Shape Layer 21","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":3.96,"s":[40],"e":[100]},{"t":9.9}],"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":3.96,"s":[0],"e":[40]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":6.93,"s":[40],"e":[0]},{"t":9.9}],"ix":8},"ry":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":3.96,"s":[0],"e":[29]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":6.93,"s":[29],"e":[4]},{"t":9.9}],"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":3.96,"s":[0],"e":[27]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":6.93,"s":[27],"e":[18]},{"t":9.9}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.319],"y":[1.473]},"o":{"x":[0.25],"y":[4.366]},"n":["0p319_1p473_0p25_4p366"],"t":3.96,"s":[393],"e":[404.927]},{"t":9.9}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.75],"y":[0.966]},"o":{"x":[0.25],"y":[0.561]},"n":["0p75_0p966_0p25_0p561"],"t":3.96,"s":[480],"e":[266.656]},{"t":9.9}],"ix":4},"z":{"a":1,"k":[{"i":{"x":[0.75],"y":[1]},"o":{"x":[0.25],"y":[0]},"n":["0p75_1_0p25_0"],"t":3.96,"s":[0],"e":[0]},{"t":9.9}],"ix":5}},"a":{"a":0,"k":[81,65,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":3.96,"s":[13,13,13],"e":[54,54,54]},{"t":9.9}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.5,-6],[0.5,6]],"o":[[0,0],[3.5,6],[-0.5,-6]],"v":[[80,58.5],[78,70.5],[88.5,70.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":3.96,"op":9.9,"st":3.96,"bm":0},{"ddd":1,"ind":3,"ty":4,"nm":"Shape Layer 19","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2.97,"s":[40],"e":[100]},{"t":7.92}],"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2.97,"s":[0],"e":[40]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":5.94,"s":[40],"e":[0]},{"t":7.92}],"ix":8},"ry":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2.97,"s":[0],"e":[29]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":5.94,"s":[29],"e":[4]},{"t":7.92}],"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":2.97,"s":[0],"e":[27]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p833_1_0p167_0"],"t":5.94,"s":[27],"e":[18]},{"t":7.92}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.319],"y":[1.394]},"o":{"x":[0.25],"y":[3.639]},"n":["0p319_1p394_0p25_3p639"],"t":2.97,"s":[410],"e":[421.927]},{"t":7.92}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.75],"y":[0.972]},"o":{"x":[0.25],"y":[0.468]},"n":["0p75_0p972_0p25_0p468"],"t":2.97,"s":[473],"e":[259.656]},{"t":7.92}],"ix":4},"z":{"a":1,"k":[{"i":{"x":[0.75],"y":[1]},"o":{"x":[0.25],"y":[0]},"n":["0p75_1_0p25_0"],"t":2.97,"s":[0],"e":[0]},{"t":7.92}],"ix":5}},"a":{"a":0,"k":[81,65,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":2.97,"s":[13,13,13],"e":[63,63,63]},{"t":7.92}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-3.5,-6],[0.5,6]],"o":[[0,0],[3.5,6],[-0.5,-6]],"v":[[80,58.5],[78,70.5],[88.5,70.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2.97,"op":8.91,"st":2.97,"bm":0}]},{"id":"comp_5","layers":[{"ddd":1,"ind":1,"ty":4,"nm":"Shape Layer 12","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":17.82,"s":[100],"e":[0]},{"t":18.81}],"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":13.86,"s":[0],"e":[59]},{"t":17.82}],"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":13.86,"s":[-79],"e":[-33]},{"t":17.82}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":13.86,"s":[476.5,201.25,0],"e":[551.499,152.887,0],"to":[22.625,-22.3125,0],"ti":[-32.625,13.1875,0]},{"t":17.82}],"ix":2},"a":{"a":0,"k":[236,-110.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.938,0.313],[0,0],[-2.438,-0.25],[-0.688,0.438]],"o":[[-4.938,-0.313],[0,0],[2.438,0.25],[0.688,-0.438]],"v":[[234.5,-112.375],[229.938,-111.938],[236.563,-107.563],[242.438,-107.688]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13.86,"op":18.81,"st":13.86,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":12.87,"s":[-66],"e":[-33]},{"t":14.85}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":12.87,"s":[351.313,244.625,0],"e":[383.813,216.75,0],"to":[6.54166650772095,-10.3125,0],"ti":[-1.04166662693024,-1.0625,0]},{"t":14.85}],"ix":2},"a":{"a":0,"k":[221.313,-101.375,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.688,0],[0,0],[-3.125,0.688]],"o":[[-1.688,0],[0,0],[3.125,-0.688]],"v":[[219.563,-102.625],[218.125,-102.063],[223.75,-100.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12.87,"op":14.85,"st":12.87,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 10","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[-0.001]},"n":["0p667_1_1_-0p001"],"t":15.84,"s":[100],"e":[0]},{"t":16.83}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":12.87,"s":[-86],"e":[-10]},{"t":16.83}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":12.87,"s":[511.25,189.25,0],"e":[585.5,198.375,0],"to":[29.5,-10.9375,0],"ti":[-1.625,-3.8125,0]},{"t":16.83}],"ix":2},"a":{"a":0,"k":[256.5,-58.75,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":12.87,"s":[100,100,100],"e":[44,53,100]},{"t":16.83}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.5,-1.5],[2.5,2]],"o":[[0,0],[0.5,1.5],[-2.5,-2]],"v":[[252,-61.5],[258.75,-54.25],[257.25,-60.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12.87,"op":16.83,"st":12.87,"bm":0},{"ddd":1,"ind":4,"ty":4,"nm":"Shape Layer 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"rx":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.75]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p75_0p333_0"],"t":13.86,"s":[0],"e":[29.63]},{"t":18.81}],"ix":8},"ry":{"a":0,"k":0,"ix":9},"rz":{"a":1,"k":[{"i":{"x":[0.667],"y":[0.865]},"o":{"x":[0.333],"y":[0]},"n":["0p667_0p865_0p333_0"],"t":13.86,"s":[0],"e":[-21.794]},{"t":18.81}],"ix":10},"or":{"a":0,"k":[0,0,0],"ix":7},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.835},"o":{"x":0.333,"y":0},"n":"0p667_0p835_0p333_0","t":13.86,"s":[400.75,219.75,0],"e":[481.369,88.117,0],"to":[0.78711980581284,-40.0380554199219,0],"ti":[-46.6062316894531,-10.3385143280029,0]},{"i":{"x":0.667,"y":0.518},"o":{"x":0.333,"y":0.452},"n":"0p667_0p518_0p333_0p452","t":15.84,"s":[481.369,88.117,0],"e":[513.895,230.017,0],"to":[27.8499507904053,6.17786741256714,0],"ti":[0.36300322413445,-85.8146820068359,0]},{"t":20.79}],"ix":2},"a":{"a":0,"k":[99.279,-165,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[0.75,0.75,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_0p75_0p333_0","0p667_0p75_0p333_0","0p667_1_0p333_0"],"t":13.86,"s":[98.208,100,100],"e":[80.021,81.481,100]},{"t":18.81}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,15.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.5,-164.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[126.134,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13.86,"op":20.79,"st":13.86,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.788],"y":[0.653]},"o":{"x":[0.681],"y":[0.38]},"n":["0p788_0p653_0p681_0p38"],"t":13.86,"s":[40.503],"e":[133]},{"t":19.8}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.504],"y":[0.533]},"o":{"x":[0.268],"y":[0.214]},"n":["0p504_0p533_0p268_0p214"],"t":13.86,"s":[510.801],"e":[637]},{"t":19.8}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.516],"y":[1.986]},"o":{"x":[0.278],"y":[1.145]},"n":["0p516_1p986_0p278_1p145"],"t":13.86,"s":[220.559],"e":[198.25]},{"t":19.8}],"ix":4}},"a":{"a":0,"k":[208.5,-123.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.764,0.762,0.667],"y":[0.12,-0.136,1]},"o":{"x":[0.532,0.512,0.333],"y":[-0.035,0.002,0.663]},"n":["0p764_0p12_0p532_-0p035","0p762_-0p136_0p512_0p002","0p667_1_0p333_0p663"],"t":13.86,"s":[62.73,49.194,100],"e":[7,17,100]},{"t":19.8}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,16],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209,-123.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13.86,"op":19.8,"st":-0.99,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.788],"y":[0.776]},"o":{"x":[0.681],"y":[0.245]},"n":["0p788_0p776_0p681_0p245"],"t":14.85,"s":[20.503],"e":[116]},{"t":18.81}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.51],"y":[0.459]},"o":{"x":[0.221],"y":[0.162]},"n":["0p51_0p459_0p221_0p162"],"t":14.85,"s":[484.301],"e":[611]},{"t":18.81}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.546],"y":[3.674]},"o":{"x":[0.278],"y":[1.652]},"n":["0p546_3p674_0p278_1p652"],"t":14.85,"s":[230.059],"e":[219.75]},{"t":18.81}],"ix":4}},"a":{"a":0,"k":[208.5,-123.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.764,0.762,0.667],"y":[-0.03,0.103,1]},"o":{"x":[0.532,0.512,0.333],"y":[-0.041,0.001,0.442]},"n":["0p764_-0p03_0p532_-0p041","0p762_0p103_0p512_0p001","0p667_1_0p333_0p442"],"t":14.85,"s":[76.73,66.194,100],"e":[45,39,100]},{"t":18.81}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,16],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209,-123.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":14.85,"op":18.81,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.687]},"o":{"x":[0.78],"y":[0.186]},"n":["0p8_0p687_0p78_0p186"],"t":11.88,"s":[56],"e":[116]},{"t":16.83}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.412],"y":[0.076]},"o":{"x":[0.355],"y":[0.452]},"n":["0p412_0p076_0p355_0p452"],"t":11.88,"s":[472.5],"e":[618.5]},{"t":16.83}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.57],"y":[1.836]},"o":{"x":[0.265],"y":[-0.26]},"n":["0p57_1p836_0p265_-0p26"],"t":11.88,"s":[271],"e":[239.5]},{"t":16.83}],"ix":4}},"a":{"a":0,"k":[208.5,-123.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.8,0.797,0.667],"y":[0.499,0.442,1]},"o":{"x":[0.605,0.58,0.333],"y":[0,0,0]},"n":["0p8_0p499_0p605_0","0p797_0p442_0p58_0","0p667_1_0p333_0"],"t":11.88,"s":[102,88.696,100],"e":[33,42,100]},{"t":16.83}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,16],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209,-123.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":11.88,"op":17.82,"st":-0.99,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"water2","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[362,298.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[796,112],[-36,112],[-36,263.5],[796,263.5]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"蒙版 1"}],"w":724,"h":597,"ip":12.87,"op":19.8,"st":0,"bm":0}]},{"id":"comp_6","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[362,299.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100.567,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":12.87,"s":[{"i":[[0,-0.006],[5.972,-0.747],[3.727,-0.481],[0,0],[0.5,4.5],[1.515,1.468],[2.008,1.386]],"o":[[-0.034,1.288],[-6,0.75],[-7.75,1],[0,0],[-0.122,-1.1],[-1.531,-1.484],[-4.131,-2.852]],"v":[[0,-43.482],[-9.75,-35.5],[-24.25,-43.5],[-40.5,-31.25],[16.5,-30.75],[13.813,-34.718],[8.266,-39.141]],"c":true}],"e":[{"i":[[10.035,-1.467],[5.779,-0.722],[3.727,-0.481],[0,0],[2.838,3.528],[3.425,-11.137],[8.089,7.498]],"o":[[-10.035,1.467],[-6,0.75],[-7.75,1],[0,0],[-9.25,-11.5],[-2.184,7.102],[-20.648,-19.139]],"v":[[33.285,-112.717],[5.5,-39.5],[-15,-52],[-40.5,-31.25],[125.25,-32.25],[94.575,-74.363],[66.67,-48.414]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":13.86,"s":[{"i":[[10.035,-1.467],[5.779,-0.722],[3.727,-0.481],[0,0],[2.838,3.528],[3.425,-11.137],[8.089,7.498]],"o":[[-10.035,1.467],[-6,0.75],[-7.75,1],[0,0],[-9.25,-11.5],[-2.184,7.102],[-20.648,-19.139]],"v":[[33.285,-112.717],[5.5,-39.5],[-15,-52],[-40.5,-31.25],[125.25,-32.25],[94.575,-74.363],[66.67,-48.414]],"c":true}],"e":[{"i":[[14.715,-0.779],[5.779,-0.722],[3.727,-0.481],[0,0],[4.077,1.97],[7.925,11.113],[13.079,4.664]],"o":[[-10.127,0.536],[-6,0.75],[-7.75,1],[0,0],[-15,-7.25],[-4.896,-6.865],[-26.519,-9.457]],"v":[[42.785,-88.714],[18.25,-37.25],[-5.25,-47.5],[-39.5,-31.25],[144,-30.25],[122.575,-62.363],[82.671,-43.164]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":14.85,"s":[{"i":[[14.715,-0.779],[5.779,-0.722],[3.727,-0.481],[0,0],[4.077,1.97],[7.925,11.113],[13.079,4.664]],"o":[[-10.127,0.536],[-6,0.75],[-7.75,1],[0,0],[-15,-7.25],[-4.896,-6.865],[-26.519,-9.457]],"v":[[42.785,-88.714],[18.25,-37.25],[-5.25,-47.5],[-39.5,-31.25],[144,-30.25],[122.575,-62.363],[82.671,-43.164]],"c":true}],"e":[{"i":[[11.965,-0.033],[5.779,-0.722],[8.88,-6.064],[0,0],[2.838,3.528],[8.675,-0.387],[16.522,3.201]],"o":[[-15.044,0.042],[-6,0.75],[-10.25,7],[0,0],[-9.25,-11.5],[-7.423,0.331],[-23.671,-4.586]],"v":[[68.285,-53.967],[32.25,-34.75],[-3.75,-38],[-40.5,-31.25],[162.25,-30.5],[134.075,-42.613],[100.171,-36.414]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":15.84,"s":[{"i":[[11.965,-0.033],[5.779,-0.722],[8.88,-6.064],[0,0],[2.838,3.528],[8.675,-0.387],[16.522,3.201]],"o":[[-15.044,0.042],[-6,0.75],[-10.25,7],[0,0],[-9.25,-11.5],[-7.423,0.331],[-23.671,-4.586]],"v":[[68.285,-53.967],[32.25,-34.75],[-3.75,-38],[-40.5,-31.25],[162.25,-30.5],[134.075,-42.613],[100.171,-36.414]],"c":true}],"e":[{"i":[[9.715,0.217],[5.779,-0.722],[14.224,-5.08],[0,0],[4.528,0],[8.675,-0.387],[16.786,1.214]],"o":[[-15.04,-0.335],[-6,0.75],[-10.5,3.75],[0,0],[-2.75,0],[-7.423,0.331],[-21.921,-1.586]],"v":[[88.785,-39.217],[47.25,-32.75],[6,-33.5],[-40.5,-31.25],[175.25,-30.75],[152.575,-34.363],[123.921,-31.664]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":16.83,"s":[{"i":[[9.715,0.217],[5.779,-0.722],[14.224,-5.08],[0,0],[4.528,0],[8.675,-0.387],[16.786,1.214]],"o":[[-15.04,-0.335],[-6,0.75],[-10.5,3.75],[0,0],[-2.75,0],[-7.423,0.331],[-21.921,-1.586]],"v":[[88.785,-39.217],[47.25,-32.75],[6,-33.5],[-40.5,-31.25],[175.25,-30.75],[152.575,-34.363],[123.921,-31.664]],"c":true}],"e":[{"i":[[11.215,-1.533],[5.779,-0.722],[14.224,-5.08],[0,0],[4.528,0],[8.675,-0.387],[16.786,1.214]],"o":[[-14.905,2.038],[-6,0.75],[-10.5,3.75],[0,0],[-2.75,0],[-7.423,0.331],[-21.921,-1.586]],"v":[[99.035,-35.217],[48.5,-28.25],[5.75,-22.75],[-40.5,-31.25],[175.25,-30.75],[157.575,-26.863],[123.921,-31.664]],"c":true}]},{"t":17.82}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":12.87,"op":18.81,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"project","refId":"comp_0","sr":1.2,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[362,298.5,0],"ix":2},"a":{"a":0,"k":[362,298.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":724,"h":597,"ip":0,"op":134,"st":0,"bm":0}]} -------------------------------------------------------------------------------- /static/img/Montain.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Montain 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /static/img/Moon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Moon 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/img/Path.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Path 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/img/Seedling.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Seedling 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/img/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HZFE/HZFEStudio/97d6e91c65fd693088267d36eba703989a757208/static/img/icons/icon.png -------------------------------------------------------------------------------- /static/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HZFEStudio", 3 | "short_name": "HZFE", 4 | "lang": "cn", 5 | "description": "HZFEStudio", 6 | "theme_color": "#2196f3", 7 | "background_color": "#fff", 8 | "display": "standalone", 9 | "Scope": "/", 10 | "start_url": "/", 11 | "orientation": "portrait", 12 | "icons": [ 13 | { 14 | "src": "img/icons/icon.png", 15 | "sizes": "72x72", 16 | "type": "image/png" 17 | }, 18 | { 19 | "src": "img/icons/icon.png", 20 | "sizes": "96x96", 21 | "type": "image/png" 22 | }, 23 | { 24 | "src": "img/icons/icon.png", 25 | "sizes": "128x128", 26 | "type": "image/png" 27 | }, 28 | { 29 | "src": "img/icons/icon.png", 30 | "sizes": "144x144", 31 | "type": "image/png" 32 | }, 33 | { 34 | "src": "img/icons/icon.png", 35 | "sizes": "152x152", 36 | "type": "image/png" 37 | }, 38 | { 39 | "src": "img/icons/icon.png", 40 | "sizes": "192x192", 41 | "type": "image/png" 42 | }, 43 | { 44 | "src": "img/icons/icon.png", 45 | "sizes": "384x384", 46 | "type": "image/png" 47 | }, 48 | { 49 | "src": "img/icons/icon.png", 50 | "sizes": "512x512", 51 | "type": "image/png" 52 | } 53 | ], 54 | "splash_pages": null 55 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "src/**/*" 4 | ], 5 | "exclude": [ 6 | "node_modules" 7 | ], 8 | "compilerOptions": { 9 | "allowSyntheticDefaultImports": true, 10 | "experimentalDecorators": true, 11 | "allowJs": true, 12 | "module": "esnext", 13 | "target": "es5", 14 | "moduleResolution": "node", 15 | "isolatedModules": true, 16 | "lib": [ 17 | "dom", 18 | "es5", 19 | "es6", 20 | "es7", 21 | "webworker" 22 | ], 23 | "sourceMap": true, 24 | "pretty": true 25 | } 26 | } -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint-config-standard", 3 | "globals": { 4 | "require": true 5 | } 6 | } --------------------------------------------------------------------------------