├── .npmignore ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .stylelintrc.json ├── 2018-06-01.png ├── 2018050615272.png ├── README.md ├── babel.config.js ├── build ├── build.js ├── config │ ├── index.js │ ├── utils.js │ ├── webpack.analyzer.js │ ├── webpack.base.js │ ├── webpack.dev.js │ └── webpack.prod.js └── server.js ├── commitlint.config.js ├── dev.env.js ├── dist ├── vue-code-diff.js └── vue-code-diff.js.map ├── example ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .stylelintrc.json ├── README.md ├── babel.config.js ├── build │ ├── build.js │ ├── config │ │ ├── index.js │ │ ├── utils.js │ │ ├── webpack.analyzer.js │ │ ├── webpack.base.js │ │ ├── webpack.dev.js │ │ └── webpack.prod.js │ └── server.js ├── commitlint.config.js ├── dev.env.js ├── index.html ├── jsconfig.json ├── package.json ├── pnpm-lock.yaml ├── prod.env.js └── src │ ├── App.vue │ ├── corners.vue │ ├── element-variables.scss │ ├── main.js │ └── plugins.js ├── index.html ├── jsconfig.json ├── package.json ├── pnpm-lock.yaml ├── prod.env.js ├── src ├── App.vue ├── assets │ └── logo.png ├── lib │ ├── code-diff │ │ └── index.vue │ └── index.js └── main.js ├── static └── .gitkeep ├── test ├── e2e │ ├── custom-assertions │ │ └── elementCount.js │ ├── nightwatch.conf.js │ ├── runner.js │ └── specs │ │ └── test.js └── unit │ ├── .eslintrc │ ├── index.js │ ├── karma.conf.js │ └── specs │ └── HelloWorld.spec.js └── types └── index.d.ts / .npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /demo 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | /test/unit/coverage/ 8 | /test/e2e/reports/ 9 | selenium-debug.log 10 | .example/ 11 | example/ 12 | test/ 13 | 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | -------------------------------------------------------------------------------- /.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 | /test/unit/coverage/ 6 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | 'standard', 4 | 'plugin:vue/recommended' 5 | ], 6 | rules: { 7 | 8 | }, 9 | globals: { 10 | __webpack_public_path__: true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /demo 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | /test/unit/coverage/ 8 | /test/e2e/reports/ 9 | selenium-debug.log 10 | .example/ 11 | 12 | # Editor directories and files 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "stylelint-config-standard", 3 | "ignoreFiles": ["./node_modules/**/*.css","./dist/**/*.css"] 4 | } -------------------------------------------------------------------------------- /2018-06-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddchef/vue-code-diff/354c58adcb990a330d1943f6964de44b14ab06cf/2018-06-01.png -------------------------------------------------------------------------------- /2018050615272.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddchef/vue-code-diff/354c58adcb990a330d1943f6964de44b14ab06cf/2018050615272.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [vue-code-diff](https://www.npmjs.com/package/vue-code-diff) 2 | 3 | > 代码比对展示 [demo](http://diff.xjie.me/) 4 | 5 | ## 安装 6 | ```shell 7 | yarn add vue-code-diff 8 | ``` 9 | 10 | ## 使用 11 | ```vue 12 | 17 | 18 | import CodeDiff from 'vue-code-diff' 19 | export default { 20 | components: {CodeDiff}, 21 | data(){ 22 | return { 23 | oldStr: 'old code', 24 | newStr: 'new code' 25 | } 26 | } 27 | } 28 | ``` 29 | 30 | ## 参数说明 31 | 32 | | 参数 | 说明 | 类型 | 可选值 | 默认值 | 33 | |---------- |-------- |---------- |------------- |-------- | 34 | | old-string| 陈旧的字符串| string | — | — | 35 | | new-string| 新的字符串| string | — | — | 36 | | context| 不同地方上下间隔多少行不隐藏 | number | — | — | 37 | | outputFormat| 展示的方式 | string | line-by-line,side-by-side | line-by-line | 38 | | drawFileList | 展示对比文件列表 | boolean | - | false | 39 | | renderNothingWhenEmpty | 当无对比时不渲染 | boolean | - | false | 40 | | diffStyle | 每行中对比差异级别 | string | word, char | word | 41 | | fileName | 文件名 | string | - | | 42 | | isShowNoChange | 当无对比时展示源代码 | boolean | - | false | 43 | 44 | 45 | ## 效果展示 46 | 47 | ### line-by-line 48 | ![image](https://github.com/ddchef/vue-code-diff/blob/master/2018-06-01.png?raw=true) 49 | 50 | ### side-by-side 51 | ![image](https://github.com/ddchef/vue-code-diff/blob/master/2018050615272.png?raw=true) 52 | 53 | ## LICENSE 54 | [MIT](LICENSE) 55 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@vue/app' 5 | ] 6 | ], 7 | plugins: [ 8 | [ 9 | '@babel/plugin-transform-runtime',{ 10 | corejs: 3, 11 | } 12 | ] 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack') 2 | const ora = require('ora') 3 | const chalk = require('chalk') 4 | const webpackConfig = require('./config') 5 | 6 | webpackConfig().then(({ prodConfig }) => { 7 | const isAnalyzer = process.argv[2] === 'analyzer' 8 | if (isAnalyzer) { 9 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 10 | prodConfig.plugins.push( 11 | new BundleAnalyzerPlugin() 12 | ) 13 | } 14 | const spinner = ora('Builing for production...').start() 15 | webpack(prodConfig, (err, stats) => { 16 | spinner.stop() 17 | if (err) throw err 18 | process.stdout.write(stats.toString({ 19 | modules: false, 20 | colors: true, 21 | // 添加 children 信息 22 | children: false, 23 | // 添加 chunk 信息(设置为 `false` 能允许较少的冗长输出) 24 | chunks: false, 25 | // 将构建模块信息添加到 chunk 信息 26 | chunkModules: false 27 | }) + '\n\n') 28 | if (stats.hasErrors()) { 29 | console.log(chalk.red('Build failed with errors.\n')) 30 | process.exit(1) 31 | } 32 | console.log(chalk.cyan('Build complete.\n')) 33 | if (!isAnalyzer) process.exit(0) 34 | }) 35 | }) 36 | -------------------------------------------------------------------------------- /build/config/index.js: -------------------------------------------------------------------------------- 1 | const portfinder = require('portfinder') 2 | const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin') 3 | const ProgressBarWebpackPlugin = require('progress-bar-webpack-plugin') 4 | const chalk = require('chalk') 5 | const webpackProdConfig = require('./webpack.prod') 6 | const webpackDevConfig = require('./webpack.dev') 7 | 8 | module.exports = async () => { 9 | portfinder.basePort = 3010 10 | const port = await portfinder.getPortPromise() 11 | webpackDevConfig.devServer.port = port 12 | 13 | webpackDevConfig.plugins.push( 14 | new FriendlyErrorsWebpackPlugin( 15 | { 16 | compilationSuccessInfo: { 17 | messages: [`You application is running here http://localhost:${port}`] 18 | } 19 | } 20 | ) 21 | ) 22 | webpackDevConfig.plugins.push(new ProgressBarWebpackPlugin({ 23 | format: `:msg [${chalk.green(':bar')}]${chalk.yellow.bold(':percent')} (:elapseds)`, 24 | complete: ':', 25 | incomplete: ' ' 26 | })) 27 | return { 28 | devConfig: webpackDevConfig, 29 | prodConfig: webpackProdConfig 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /build/config/utils.js: -------------------------------------------------------------------------------- 1 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') 2 | const cssLoader = { 3 | less: { 4 | loader: 'less-loader', 5 | options: { 6 | javascriptEnabled: true, 7 | strictMath: false 8 | } 9 | }, 10 | scss: { 11 | loader: 'sass-loader' 12 | }, 13 | postcss: { 14 | loader: 'postcss-loader' 15 | } 16 | } 17 | function baseCssLoader (type, prod) { 18 | return { 19 | test: new RegExp(`\.(${type})$`), 20 | use: [ 21 | prod 22 | ? { 23 | loader: MiniCssExtractPlugin.loader, 24 | options: { 25 | publicPath: '../../' 26 | } 27 | } 28 | : 'style-loader', 29 | 'css-loader', 30 | 'postcss-loader', 31 | cssLoader[type] 32 | ] 33 | } 34 | } 35 | 36 | function setBaseCssLoaders (types = [], prod = false) { 37 | return [ 38 | { 39 | test: /\.(css)$/, 40 | use: [ 41 | prod 42 | ? { 43 | loader: MiniCssExtractPlugin.loader, 44 | options: { 45 | publicPath: '../../' 46 | } 47 | } 48 | : 'style-loader', 49 | 'css-loader' 50 | ] 51 | }, 52 | ...types.map(type => baseCssLoader(type, prod)) 53 | ] 54 | } 55 | 56 | module.exports = { 57 | setBaseCssLoaders 58 | } 59 | -------------------------------------------------------------------------------- /build/config/webpack.analyzer.js: -------------------------------------------------------------------------------- 1 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 2 | const prodConfig = require('./webpack.prod') 3 | 4 | prodConfig.plugins.push( 5 | new BundleAnalyzerPlugin() 6 | ) 7 | 8 | module.exports = prodConfig 9 | -------------------------------------------------------------------------------- /build/config/webpack.base.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const { VueLoaderPlugin } = require('vue-loader') 3 | const { ProvidePlugin } = require('webpack') 4 | const EslintPlugin = require('eslint-webpack-plugin') 5 | const StyleLintPlugin = require('stylelint-webpack-plugin') 6 | 7 | const basePath = process.cwd() 8 | const { name: pageName } = require(path.join(basePath, 'package.json')) 9 | 10 | module.exports = () => ({ 11 | entry: { 12 | main: '/src/main.js' 13 | }, 14 | output: { 15 | path: path.join(basePath, 'dist'), 16 | filename: `static/js/[name].js` 17 | }, 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.(vue)$/, 22 | use: [ 23 | 'vue-loader' 24 | ] 25 | }, 26 | { 27 | test: /\.(js|jsx)$/, 28 | use: [ 29 | { 30 | loader: 'babel-loader?cacheDirectory' 31 | } 32 | ], 33 | exclude (filePath) { 34 | return ( 35 | /node_modules/.test(filePath) 36 | ) 37 | } 38 | }, 39 | { 40 | test: /\.(png|jpg|gif|jpeg)$/i, 41 | use: [ 42 | { 43 | loader: 'url-loader', 44 | options: { 45 | limit: 8 * 1024, 46 | outputPath: 'static/images', 47 | esModule: false 48 | } 49 | } 50 | ] 51 | }, 52 | { 53 | test: /\.(svg|woff|woff2|ttf|otf|eot)$/, 54 | use: [ 55 | { 56 | loader: 'file-loader', 57 | options: { 58 | outputPath: 'static/fonts' 59 | } 60 | } 61 | ] 62 | } 63 | ] 64 | }, 65 | resolve: { 66 | alias: { 67 | '@': path.join(process.cwd(), 'src'), 68 | vue$: process.env.NODE_ENV === 'production' ? 'vue/dist/vue.runtime.js' : 'vue/dist/vue.esm.js' 69 | }, 70 | fallback: { 71 | timers: false, 72 | http: false, 73 | url: false, 74 | util: false, 75 | os: false, 76 | stream: require.resolve('stream-browserify'), 77 | crypto: require.resolve('crypto-browserify') 78 | }, 79 | extensions: ['.js', '.vue', '.json', '.jsx', '.css'] 80 | }, 81 | plugins: [ 82 | new StyleLintPlugin({ 83 | files: ['**/*.{vue,htm,html,css,sss,less,scss,sass}'] 84 | }), 85 | new EslintPlugin(), 86 | new ProvidePlugin({ 87 | process: 'process', 88 | Buffer: ['buffer', 'Buffer'] 89 | }), 90 | new VueLoaderPlugin() 91 | ], 92 | optimization: { 93 | } 94 | }) 95 | -------------------------------------------------------------------------------- /build/config/webpack.dev.js: -------------------------------------------------------------------------------- 1 | const HtmlWebpackPlugin = require('html-webpack-plugin') 2 | const baseConfig = require('./webpack.base')() 3 | const { setBaseCssLoaders } = require('./utils') 4 | const devEnv = require('../../dev.env') 5 | const RUN_MODE = process.env.RUN_MODE 6 | 7 | baseConfig.mode = 'development' 8 | 9 | if(RUN_MODE === 'example'){ 10 | baseConfig.entry.main = '/example/main.js' 11 | } 12 | 13 | baseConfig.devServer = { 14 | contentBase: '/dist', 15 | compress: false, 16 | hot: true, 17 | host: '0.0.0.0', 18 | port: 3010, 19 | proxy: devEnv.proxy, 20 | quiet: true, 21 | historyApiFallback: true, 22 | // 配置跨域请求头,解决开发环境的跨域问题 23 | headers: { 24 | 'Access-Control-Allow-Origin': '*' 25 | } 26 | } 27 | baseConfig.devtool = 'eval-source-map' 28 | baseConfig.module.rules.push(...setBaseCssLoaders(['scss', 'less', 'postcss'])) 29 | baseConfig.plugins.push(new HtmlWebpackPlugin({template: 'index.html'})) 30 | module.exports = baseConfig 31 | -------------------------------------------------------------------------------- /build/config/webpack.prod.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') 3 | const { CleanWebpackPlugin } = require('clean-webpack-plugin') 4 | const HtmlWebpackPlugin = require('html-webpack-plugin') 5 | const baseConfig = require('./webpack.base')() 6 | const { setBaseCssLoaders } = require('./utils') 7 | 8 | baseConfig.mode = 'production' 9 | if(!process.env.RUN_MODE){ 10 | baseConfig.entry.main = '/src/lib/index.js' 11 | baseConfig.module.rules.push(...setBaseCssLoaders(['scss', 'less', 'postcss'], false)) 12 | baseConfig.output.library = 'vue-code-diff' 13 | baseConfig.output.libraryTarget = 'umd' 14 | baseConfig.output.libraryExport = 'default' 15 | baseConfig.output.filename = 'vue-code-diff.js' 16 | baseConfig.devtool="source-map" 17 | baseConfig.externals = { 18 | 'diff': 'diff', 19 | 'diff2html': 'diff2html', 20 | 'highlight.js':'highlight.js', 21 | 'vue':'vue' 22 | } 23 | baseConfig.optimization.minimize = false 24 | } else { 25 | baseConfig.plugins.push( 26 | new CleanWebpackPlugin() 27 | ) 28 | baseConfig.output.path = path.join(process.cwd(), '.example') 29 | baseConfig.module.rules.push(...setBaseCssLoaders(['scss', 'less', 'postcss'], true)) 30 | baseConfig.plugins.push(new MiniCssExtractPlugin({ 31 | filename: 'static/css/[name].[fullhash:10].css' 32 | })) 33 | baseConfig.plugins.push(new HtmlWebpackPlugin({template: 'index.html'})) 34 | baseConfig.optimization.splitChunks = { 35 | minSize: 1024 * 30, 36 | cacheGroups: { 37 | default: { 38 | name: 'common', 39 | chunks: 'initial', 40 | minChunks: 2, 41 | priority: -20 42 | }, 43 | vendors: { 44 | test: /\/node_modules\//, 45 | name: 'vendor', 46 | chunks: 'initial', 47 | priority: -10 48 | } 49 | } 50 | } 51 | } 52 | 53 | module.exports = baseConfig 54 | -------------------------------------------------------------------------------- /build/server.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack') 2 | const WebpackDevServer = require('webpack-dev-server') 3 | const webpackConfig = require('./config') 4 | 5 | webpackConfig().then(({ devConfig }) => { 6 | const compiler = webpack(devConfig) 7 | const server = new WebpackDevServer(compiler, devConfig.devServer) 8 | const { host, port } = devConfig.devServer 9 | server.listen(port, host, (error) => { 10 | if (error) console.log(error) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'] 3 | } 4 | -------------------------------------------------------------------------------- /dev.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | baseUrl: '', 3 | proxy: { 4 | '/api': { 5 | target: 'http://localhost:8903', 6 | changeOrigin: true 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dist/vue-code-diff.js: -------------------------------------------------------------------------------- 1 | (function webpackUniversalModuleDefinition(root, factory) { 2 | if(typeof exports === 'object' && typeof module === 'object') 3 | module.exports = factory(require("diff"), require("diff2html"), require("highlight.js")); 4 | else if(typeof define === 'function' && define.amd) 5 | define(["diff", "diff2html", "highlight.js"], factory); 6 | else if(typeof exports === 'object') 7 | exports["vue-code-diff"] = factory(require("diff"), require("diff2html"), require("highlight.js")); 8 | else 9 | root["vue-code-diff"] = factory(root["diff"], root["diff2html"], root["highlight.js"]); 10 | })(self, function(__WEBPACK_EXTERNAL_MODULE__6801__, __WEBPACK_EXTERNAL_MODULE__6918__, __WEBPACK_EXTERNAL_MODULE__6872__) { 11 | return /******/ (function() { // webpackBootstrap 12 | /******/ var __webpack_modules__ = ({ 13 | 14 | /***/ 2714: 15 | /***/ (function(module) { 16 | 17 | module.exports = function (it) { 18 | if (typeof it != 'function') { 19 | throw TypeError(String(it) + ' is not a function'); 20 | } return it; 21 | }; 22 | 23 | 24 | /***/ }), 25 | 26 | /***/ 9293: 27 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 28 | 29 | var isObject = __webpack_require__(47); 30 | 31 | module.exports = function (it) { 32 | if (!isObject(it) && it !== null) { 33 | throw TypeError("Can't set " + String(it) + ' as a prototype'); 34 | } return it; 35 | }; 36 | 37 | 38 | /***/ }), 39 | 40 | /***/ 5570: 41 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 42 | 43 | "use strict"; 44 | 45 | var charAt = __webpack_require__(5389).charAt; 46 | 47 | // `AdvanceStringIndex` abstract operation 48 | // https://tc39.es/ecma262/#sec-advancestringindex 49 | module.exports = function (S, index, unicode) { 50 | return index + (unicode ? charAt(S, index).length : 1); 51 | }; 52 | 53 | 54 | /***/ }), 55 | 56 | /***/ 6506: 57 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 58 | 59 | var isObject = __webpack_require__(47); 60 | 61 | module.exports = function (it) { 62 | if (!isObject(it)) { 63 | throw TypeError(String(it) + ' is not an object'); 64 | } return it; 65 | }; 66 | 67 | 68 | /***/ }), 69 | 70 | /***/ 1167: 71 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 72 | 73 | "use strict"; 74 | 75 | var $forEach = __webpack_require__(9718).forEach; 76 | var arrayMethodIsStrict = __webpack_require__(428); 77 | 78 | var STRICT_METHOD = arrayMethodIsStrict('forEach'); 79 | 80 | // `Array.prototype.forEach` method implementation 81 | // https://tc39.es/ecma262/#sec-array.prototype.foreach 82 | module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { 83 | return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 84 | } : [].forEach; 85 | 86 | 87 | /***/ }), 88 | 89 | /***/ 1669: 90 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 91 | 92 | var toIndexedObject = __webpack_require__(1301); 93 | var toLength = __webpack_require__(3208); 94 | var toAbsoluteIndex = __webpack_require__(8018); 95 | 96 | // `Array.prototype.{ indexOf, includes }` methods implementation 97 | var createMethod = function (IS_INCLUDES) { 98 | return function ($this, el, fromIndex) { 99 | var O = toIndexedObject($this); 100 | var length = toLength(O.length); 101 | var index = toAbsoluteIndex(fromIndex, length); 102 | var value; 103 | // Array#includes uses SameValueZero equality algorithm 104 | // eslint-disable-next-line no-self-compare -- NaN check 105 | if (IS_INCLUDES && el != el) while (length > index) { 106 | value = O[index++]; 107 | // eslint-disable-next-line no-self-compare -- NaN check 108 | if (value != value) return true; 109 | // Array#indexOf ignores holes, Array#includes - not 110 | } else for (;length > index; index++) { 111 | if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 112 | } return !IS_INCLUDES && -1; 113 | }; 114 | }; 115 | 116 | module.exports = { 117 | // `Array.prototype.includes` method 118 | // https://tc39.es/ecma262/#sec-array.prototype.includes 119 | includes: createMethod(true), 120 | // `Array.prototype.indexOf` method 121 | // https://tc39.es/ecma262/#sec-array.prototype.indexof 122 | indexOf: createMethod(false) 123 | }; 124 | 125 | 126 | /***/ }), 127 | 128 | /***/ 9718: 129 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 130 | 131 | var bind = __webpack_require__(6385); 132 | var IndexedObject = __webpack_require__(5542); 133 | var toObject = __webpack_require__(2196); 134 | var toLength = __webpack_require__(3208); 135 | var arraySpeciesCreate = __webpack_require__(1461); 136 | 137 | var push = [].push; 138 | 139 | // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation 140 | var createMethod = function (TYPE) { 141 | var IS_MAP = TYPE == 1; 142 | var IS_FILTER = TYPE == 2; 143 | var IS_SOME = TYPE == 3; 144 | var IS_EVERY = TYPE == 4; 145 | var IS_FIND_INDEX = TYPE == 6; 146 | var IS_FILTER_OUT = TYPE == 7; 147 | var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 148 | return function ($this, callbackfn, that, specificCreate) { 149 | var O = toObject($this); 150 | var self = IndexedObject(O); 151 | var boundFunction = bind(callbackfn, that, 3); 152 | var length = toLength(self.length); 153 | var index = 0; 154 | var create = specificCreate || arraySpeciesCreate; 155 | var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; 156 | var value, result; 157 | for (;length > index; index++) if (NO_HOLES || index in self) { 158 | value = self[index]; 159 | result = boundFunction(value, index, O); 160 | if (TYPE) { 161 | if (IS_MAP) target[index] = result; // map 162 | else if (result) switch (TYPE) { 163 | case 3: return true; // some 164 | case 5: return value; // find 165 | case 6: return index; // findIndex 166 | case 2: push.call(target, value); // filter 167 | } else switch (TYPE) { 168 | case 4: return false; // every 169 | case 7: push.call(target, value); // filterOut 170 | } 171 | } 172 | } 173 | return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 174 | }; 175 | }; 176 | 177 | module.exports = { 178 | // `Array.prototype.forEach` method 179 | // https://tc39.es/ecma262/#sec-array.prototype.foreach 180 | forEach: createMethod(0), 181 | // `Array.prototype.map` method 182 | // https://tc39.es/ecma262/#sec-array.prototype.map 183 | map: createMethod(1), 184 | // `Array.prototype.filter` method 185 | // https://tc39.es/ecma262/#sec-array.prototype.filter 186 | filter: createMethod(2), 187 | // `Array.prototype.some` method 188 | // https://tc39.es/ecma262/#sec-array.prototype.some 189 | some: createMethod(3), 190 | // `Array.prototype.every` method 191 | // https://tc39.es/ecma262/#sec-array.prototype.every 192 | every: createMethod(4), 193 | // `Array.prototype.find` method 194 | // https://tc39.es/ecma262/#sec-array.prototype.find 195 | find: createMethod(5), 196 | // `Array.prototype.findIndex` method 197 | // https://tc39.es/ecma262/#sec-array.prototype.findIndex 198 | findIndex: createMethod(6), 199 | // `Array.prototype.filterOut` method 200 | // https://github.com/tc39/proposal-array-filtering 201 | filterOut: createMethod(7) 202 | }; 203 | 204 | 205 | /***/ }), 206 | 207 | /***/ 428: 208 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 209 | 210 | "use strict"; 211 | 212 | var fails = __webpack_require__(629); 213 | 214 | module.exports = function (METHOD_NAME, argument) { 215 | var method = [][METHOD_NAME]; 216 | return !!method && fails(function () { 217 | // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing 218 | method.call(null, argument || function () { throw 1; }, 1); 219 | }); 220 | }; 221 | 222 | 223 | /***/ }), 224 | 225 | /***/ 1461: 226 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 227 | 228 | var isObject = __webpack_require__(47); 229 | var isArray = __webpack_require__(8397); 230 | var wellKnownSymbol = __webpack_require__(6807); 231 | 232 | var SPECIES = wellKnownSymbol('species'); 233 | 234 | // `ArraySpeciesCreate` abstract operation 235 | // https://tc39.es/ecma262/#sec-arrayspeciescreate 236 | module.exports = function (originalArray, length) { 237 | var C; 238 | if (isArray(originalArray)) { 239 | C = originalArray.constructor; 240 | // cross-realm fallback 241 | if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 242 | else if (isObject(C)) { 243 | C = C[SPECIES]; 244 | if (C === null) C = undefined; 245 | } 246 | } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); 247 | }; 248 | 249 | 250 | /***/ }), 251 | 252 | /***/ 3236: 253 | /***/ (function(module) { 254 | 255 | var toString = {}.toString; 256 | 257 | module.exports = function (it) { 258 | return toString.call(it).slice(8, -1); 259 | }; 260 | 261 | 262 | /***/ }), 263 | 264 | /***/ 4888: 265 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 266 | 267 | var has = __webpack_require__(2253); 268 | var ownKeys = __webpack_require__(4327); 269 | var getOwnPropertyDescriptorModule = __webpack_require__(6623); 270 | var definePropertyModule = __webpack_require__(1765); 271 | 272 | module.exports = function (target, source) { 273 | var keys = ownKeys(source); 274 | var defineProperty = definePropertyModule.f; 275 | var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 276 | for (var i = 0; i < keys.length; i++) { 277 | var key = keys[i]; 278 | if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 279 | } 280 | }; 281 | 282 | 283 | /***/ }), 284 | 285 | /***/ 6273: 286 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 287 | 288 | var DESCRIPTORS = __webpack_require__(1629); 289 | var definePropertyModule = __webpack_require__(1765); 290 | var createPropertyDescriptor = __webpack_require__(5250); 291 | 292 | module.exports = DESCRIPTORS ? function (object, key, value) { 293 | return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 294 | } : function (object, key, value) { 295 | object[key] = value; 296 | return object; 297 | }; 298 | 299 | 300 | /***/ }), 301 | 302 | /***/ 5250: 303 | /***/ (function(module) { 304 | 305 | module.exports = function (bitmap, value) { 306 | return { 307 | enumerable: !(bitmap & 1), 308 | configurable: !(bitmap & 2), 309 | writable: !(bitmap & 4), 310 | value: value 311 | }; 312 | }; 313 | 314 | 315 | /***/ }), 316 | 317 | /***/ 1629: 318 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 319 | 320 | var fails = __webpack_require__(629); 321 | 322 | // Detect IE8's incomplete defineProperty implementation 323 | module.exports = !fails(function () { 324 | return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 325 | }); 326 | 327 | 328 | /***/ }), 329 | 330 | /***/ 4971: 331 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 332 | 333 | var global = __webpack_require__(4677); 334 | var isObject = __webpack_require__(47); 335 | 336 | var document = global.document; 337 | // typeof document.createElement is 'object' in old IE 338 | var EXISTS = isObject(document) && isObject(document.createElement); 339 | 340 | module.exports = function (it) { 341 | return EXISTS ? document.createElement(it) : {}; 342 | }; 343 | 344 | 345 | /***/ }), 346 | 347 | /***/ 3924: 348 | /***/ (function(module) { 349 | 350 | // iterable DOM collections 351 | // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods 352 | module.exports = { 353 | CSSRuleList: 0, 354 | CSSStyleDeclaration: 0, 355 | CSSValueList: 0, 356 | ClientRectList: 0, 357 | DOMRectList: 0, 358 | DOMStringList: 0, 359 | DOMTokenList: 1, 360 | DataTransferItemList: 0, 361 | FileList: 0, 362 | HTMLAllCollection: 0, 363 | HTMLCollection: 0, 364 | HTMLFormElement: 0, 365 | HTMLSelectElement: 0, 366 | MediaList: 0, 367 | MimeTypeArray: 0, 368 | NamedNodeMap: 0, 369 | NodeList: 1, 370 | PaintRequestList: 0, 371 | Plugin: 0, 372 | PluginArray: 0, 373 | SVGLengthList: 0, 374 | SVGNumberList: 0, 375 | SVGPathSegList: 0, 376 | SVGPointList: 0, 377 | SVGStringList: 0, 378 | SVGTransformList: 0, 379 | SourceBufferList: 0, 380 | StyleSheetList: 0, 381 | TextTrackCueList: 0, 382 | TextTrackList: 0, 383 | TouchList: 0 384 | }; 385 | 386 | 387 | /***/ }), 388 | 389 | /***/ 5209: 390 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 391 | 392 | var classof = __webpack_require__(3236); 393 | var global = __webpack_require__(4677); 394 | 395 | module.exports = classof(global.process) == 'process'; 396 | 397 | 398 | /***/ }), 399 | 400 | /***/ 3696: 401 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 402 | 403 | var getBuiltIn = __webpack_require__(5784); 404 | 405 | module.exports = getBuiltIn('navigator', 'userAgent') || ''; 406 | 407 | 408 | /***/ }), 409 | 410 | /***/ 9450: 411 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 412 | 413 | var global = __webpack_require__(4677); 414 | var userAgent = __webpack_require__(3696); 415 | 416 | var process = global.process; 417 | var versions = process && process.versions; 418 | var v8 = versions && versions.v8; 419 | var match, version; 420 | 421 | if (v8) { 422 | match = v8.split('.'); 423 | version = match[0] + match[1]; 424 | } else if (userAgent) { 425 | match = userAgent.match(/Edge\/(\d+)/); 426 | if (!match || match[1] >= 74) { 427 | match = userAgent.match(/Chrome\/(\d+)/); 428 | if (match) version = match[1]; 429 | } 430 | } 431 | 432 | module.exports = version && +version; 433 | 434 | 435 | /***/ }), 436 | 437 | /***/ 3711: 438 | /***/ (function(module) { 439 | 440 | // IE8- don't enum bug keys 441 | module.exports = [ 442 | 'constructor', 443 | 'hasOwnProperty', 444 | 'isPrototypeOf', 445 | 'propertyIsEnumerable', 446 | 'toLocaleString', 447 | 'toString', 448 | 'valueOf' 449 | ]; 450 | 451 | 452 | /***/ }), 453 | 454 | /***/ 7574: 455 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 456 | 457 | var global = __webpack_require__(4677); 458 | var getOwnPropertyDescriptor = __webpack_require__(6623).f; 459 | var createNonEnumerableProperty = __webpack_require__(6273); 460 | var redefine = __webpack_require__(3369); 461 | var setGlobal = __webpack_require__(488); 462 | var copyConstructorProperties = __webpack_require__(4888); 463 | var isForced = __webpack_require__(2432); 464 | 465 | /* 466 | options.target - name of the target object 467 | options.global - target is the global object 468 | options.stat - export as static methods of target 469 | options.proto - export as prototype methods of target 470 | options.real - real prototype method for the `pure` version 471 | options.forced - export even if the native feature is available 472 | options.bind - bind methods to the target, required for the `pure` version 473 | options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 474 | options.unsafe - use the simple assignment of property instead of delete + defineProperty 475 | options.sham - add a flag to not completely full polyfills 476 | options.enumerable - export as enumerable property 477 | options.noTargetGet - prevent calling a getter on target 478 | */ 479 | module.exports = function (options, source) { 480 | var TARGET = options.target; 481 | var GLOBAL = options.global; 482 | var STATIC = options.stat; 483 | var FORCED, target, key, targetProperty, sourceProperty, descriptor; 484 | if (GLOBAL) { 485 | target = global; 486 | } else if (STATIC) { 487 | target = global[TARGET] || setGlobal(TARGET, {}); 488 | } else { 489 | target = (global[TARGET] || {}).prototype; 490 | } 491 | if (target) for (key in source) { 492 | sourceProperty = source[key]; 493 | if (options.noTargetGet) { 494 | descriptor = getOwnPropertyDescriptor(target, key); 495 | targetProperty = descriptor && descriptor.value; 496 | } else targetProperty = target[key]; 497 | FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 498 | // contained in target 499 | if (!FORCED && targetProperty !== undefined) { 500 | if (typeof sourceProperty === typeof targetProperty) continue; 501 | copyConstructorProperties(sourceProperty, targetProperty); 502 | } 503 | // add a flag to not completely full polyfills 504 | if (options.sham || (targetProperty && targetProperty.sham)) { 505 | createNonEnumerableProperty(sourceProperty, 'sham', true); 506 | } 507 | // extend global 508 | redefine(target, key, sourceProperty, options); 509 | } 510 | }; 511 | 512 | 513 | /***/ }), 514 | 515 | /***/ 629: 516 | /***/ (function(module) { 517 | 518 | module.exports = function (exec) { 519 | try { 520 | return !!exec(); 521 | } catch (error) { 522 | return true; 523 | } 524 | }; 525 | 526 | 527 | /***/ }), 528 | 529 | /***/ 6475: 530 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 531 | 532 | "use strict"; 533 | 534 | // TODO: Remove from `core-js@4` since it's moved to entry points 535 | __webpack_require__(6366); 536 | var redefine = __webpack_require__(3369); 537 | var fails = __webpack_require__(629); 538 | var wellKnownSymbol = __webpack_require__(6807); 539 | var regexpExec = __webpack_require__(1517); 540 | var createNonEnumerableProperty = __webpack_require__(6273); 541 | 542 | var SPECIES = wellKnownSymbol('species'); 543 | 544 | var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 545 | // #replace needs built-in support for named groups. 546 | // #match works fine because it just return the exec results, even if it has 547 | // a "grops" property. 548 | var re = /./; 549 | re.exec = function () { 550 | var result = []; 551 | result.groups = { a: '7' }; 552 | return result; 553 | }; 554 | return ''.replace(re, '$') !== '7'; 555 | }); 556 | 557 | // IE <= 11 replaces $0 with the whole match, as if it was $& 558 | // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 559 | var REPLACE_KEEPS_$0 = (function () { 560 | return 'a'.replace(/./, '$0') === '$0'; 561 | })(); 562 | 563 | var REPLACE = wellKnownSymbol('replace'); 564 | // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string 565 | var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { 566 | if (/./[REPLACE]) { 567 | return /./[REPLACE]('a', '$0') === ''; 568 | } 569 | return false; 570 | })(); 571 | 572 | // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 573 | // Weex JS has frozen built-in prototypes, so use try / catch wrapper 574 | var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { 575 | // eslint-disable-next-line regexp/no-empty-group -- required for testing 576 | var re = /(?:)/; 577 | var originalExec = re.exec; 578 | re.exec = function () { return originalExec.apply(this, arguments); }; 579 | var result = 'ab'.split(re); 580 | return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; 581 | }); 582 | 583 | module.exports = function (KEY, length, exec, sham) { 584 | var SYMBOL = wellKnownSymbol(KEY); 585 | 586 | var DELEGATES_TO_SYMBOL = !fails(function () { 587 | // String methods call symbol-named RegEp methods 588 | var O = {}; 589 | O[SYMBOL] = function () { return 7; }; 590 | return ''[KEY](O) != 7; 591 | }); 592 | 593 | var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { 594 | // Symbol-named RegExp methods call .exec 595 | var execCalled = false; 596 | var re = /a/; 597 | 598 | if (KEY === 'split') { 599 | // We can't use real regex here since it causes deoptimization 600 | // and serious performance degradation in V8 601 | // https://github.com/zloirock/core-js/issues/306 602 | re = {}; 603 | // RegExp[@@split] doesn't call the regex's exec method, but first creates 604 | // a new one. We need to return the patched regex when creating the new one. 605 | re.constructor = {}; 606 | re.constructor[SPECIES] = function () { return re; }; 607 | re.flags = ''; 608 | re[SYMBOL] = /./[SYMBOL]; 609 | } 610 | 611 | re.exec = function () { execCalled = true; return null; }; 612 | 613 | re[SYMBOL](''); 614 | return !execCalled; 615 | }); 616 | 617 | if ( 618 | !DELEGATES_TO_SYMBOL || 619 | !DELEGATES_TO_EXEC || 620 | (KEY === 'replace' && !( 621 | REPLACE_SUPPORTS_NAMED_GROUPS && 622 | REPLACE_KEEPS_$0 && 623 | !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 624 | )) || 625 | (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 626 | ) { 627 | var nativeRegExpMethod = /./[SYMBOL]; 628 | var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { 629 | if (regexp.exec === regexpExec) { 630 | if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 631 | // The native String method already delegates to @@method (this 632 | // polyfilled function), leasing to infinite recursion. 633 | // We avoid it by directly calling the native @@method method. 634 | return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 635 | } 636 | return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 637 | } 638 | return { done: false }; 639 | }, { 640 | REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, 641 | REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 642 | }); 643 | var stringMethod = methods[0]; 644 | var regexMethod = methods[1]; 645 | 646 | redefine(String.prototype, KEY, stringMethod); 647 | redefine(RegExp.prototype, SYMBOL, length == 2 648 | // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 649 | // 21.2.5.11 RegExp.prototype[@@split](string, limit) 650 | ? function (string, arg) { return regexMethod.call(string, this, arg); } 651 | // 21.2.5.6 RegExp.prototype[@@match](string) 652 | // 21.2.5.9 RegExp.prototype[@@search](string) 653 | : function (string) { return regexMethod.call(string, this); } 654 | ); 655 | } 656 | 657 | if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); 658 | }; 659 | 660 | 661 | /***/ }), 662 | 663 | /***/ 6385: 664 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 665 | 666 | var aFunction = __webpack_require__(2714); 667 | 668 | // optional / simple context binding 669 | module.exports = function (fn, that, length) { 670 | aFunction(fn); 671 | if (that === undefined) return fn; 672 | switch (length) { 673 | case 0: return function () { 674 | return fn.call(that); 675 | }; 676 | case 1: return function (a) { 677 | return fn.call(that, a); 678 | }; 679 | case 2: return function (a, b) { 680 | return fn.call(that, a, b); 681 | }; 682 | case 3: return function (a, b, c) { 683 | return fn.call(that, a, b, c); 684 | }; 685 | } 686 | return function (/* ...args */) { 687 | return fn.apply(that, arguments); 688 | }; 689 | }; 690 | 691 | 692 | /***/ }), 693 | 694 | /***/ 5784: 695 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 696 | 697 | var path = __webpack_require__(504); 698 | var global = __webpack_require__(4677); 699 | 700 | var aFunction = function (variable) { 701 | return typeof variable == 'function' ? variable : undefined; 702 | }; 703 | 704 | module.exports = function (namespace, method) { 705 | return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) 706 | : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; 707 | }; 708 | 709 | 710 | /***/ }), 711 | 712 | /***/ 8563: 713 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 714 | 715 | var toObject = __webpack_require__(2196); 716 | 717 | var floor = Math.floor; 718 | var replace = ''.replace; 719 | var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; 720 | var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; 721 | 722 | // https://tc39.es/ecma262/#sec-getsubstitution 723 | module.exports = function (matched, str, position, captures, namedCaptures, replacement) { 724 | var tailPos = position + matched.length; 725 | var m = captures.length; 726 | var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 727 | if (namedCaptures !== undefined) { 728 | namedCaptures = toObject(namedCaptures); 729 | symbols = SUBSTITUTION_SYMBOLS; 730 | } 731 | return replace.call(replacement, symbols, function (match, ch) { 732 | var capture; 733 | switch (ch.charAt(0)) { 734 | case '$': return '$'; 735 | case '&': return matched; 736 | case '`': return str.slice(0, position); 737 | case "'": return str.slice(tailPos); 738 | case '<': 739 | capture = namedCaptures[ch.slice(1, -1)]; 740 | break; 741 | default: // \d\d? 742 | var n = +ch; 743 | if (n === 0) return match; 744 | if (n > m) { 745 | var f = floor(n / 10); 746 | if (f === 0) return match; 747 | if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 748 | return match; 749 | } 750 | capture = captures[n - 1]; 751 | } 752 | return capture === undefined ? '' : capture; 753 | }); 754 | }; 755 | 756 | 757 | /***/ }), 758 | 759 | /***/ 4677: 760 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 761 | 762 | var check = function (it) { 763 | return it && it.Math == Math && it; 764 | }; 765 | 766 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 767 | module.exports = 768 | /* global globalThis -- safe */ 769 | check(typeof globalThis == 'object' && globalThis) || 770 | check(typeof window == 'object' && window) || 771 | check(typeof self == 'object' && self) || 772 | check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) || 773 | // eslint-disable-next-line no-new-func -- fallback 774 | (function () { return this; })() || Function('return this')(); 775 | 776 | 777 | /***/ }), 778 | 779 | /***/ 2253: 780 | /***/ (function(module) { 781 | 782 | var hasOwnProperty = {}.hasOwnProperty; 783 | 784 | module.exports = function (it, key) { 785 | return hasOwnProperty.call(it, key); 786 | }; 787 | 788 | 789 | /***/ }), 790 | 791 | /***/ 9154: 792 | /***/ (function(module) { 793 | 794 | module.exports = {}; 795 | 796 | 797 | /***/ }), 798 | 799 | /***/ 8160: 800 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 801 | 802 | var getBuiltIn = __webpack_require__(5784); 803 | 804 | module.exports = getBuiltIn('document', 'documentElement'); 805 | 806 | 807 | /***/ }), 808 | 809 | /***/ 9520: 810 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 811 | 812 | var DESCRIPTORS = __webpack_require__(1629); 813 | var fails = __webpack_require__(629); 814 | var createElement = __webpack_require__(4971); 815 | 816 | // Thank's IE8 for his funny defineProperty 817 | module.exports = !DESCRIPTORS && !fails(function () { 818 | return Object.defineProperty(createElement('div'), 'a', { 819 | get: function () { return 7; } 820 | }).a != 7; 821 | }); 822 | 823 | 824 | /***/ }), 825 | 826 | /***/ 5542: 827 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 828 | 829 | var fails = __webpack_require__(629); 830 | var classof = __webpack_require__(3236); 831 | 832 | var split = ''.split; 833 | 834 | // fallback for non-array-like ES3 and non-enumerable old V8 strings 835 | module.exports = fails(function () { 836 | // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 837 | // eslint-disable-next-line no-prototype-builtins -- safe 838 | return !Object('z').propertyIsEnumerable(0); 839 | }) ? function (it) { 840 | return classof(it) == 'String' ? split.call(it, '') : Object(it); 841 | } : Object; 842 | 843 | 844 | /***/ }), 845 | 846 | /***/ 5670: 847 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 848 | 849 | var isObject = __webpack_require__(47); 850 | var setPrototypeOf = __webpack_require__(9040); 851 | 852 | // makes subclassing work correct for wrapped built-ins 853 | module.exports = function ($this, dummy, Wrapper) { 854 | var NewTarget, NewTargetPrototype; 855 | if ( 856 | // it can work only with native `setPrototypeOf` 857 | setPrototypeOf && 858 | // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 859 | typeof (NewTarget = dummy.constructor) == 'function' && 860 | NewTarget !== Wrapper && 861 | isObject(NewTargetPrototype = NewTarget.prototype) && 862 | NewTargetPrototype !== Wrapper.prototype 863 | ) setPrototypeOf($this, NewTargetPrototype); 864 | return $this; 865 | }; 866 | 867 | 868 | /***/ }), 869 | 870 | /***/ 8914: 871 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 872 | 873 | var store = __webpack_require__(1247); 874 | 875 | var functionToString = Function.toString; 876 | 877 | // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper 878 | if (typeof store.inspectSource != 'function') { 879 | store.inspectSource = function (it) { 880 | return functionToString.call(it); 881 | }; 882 | } 883 | 884 | module.exports = store.inspectSource; 885 | 886 | 887 | /***/ }), 888 | 889 | /***/ 6761: 890 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 891 | 892 | var NATIVE_WEAK_MAP = __webpack_require__(1544); 893 | var global = __webpack_require__(4677); 894 | var isObject = __webpack_require__(47); 895 | var createNonEnumerableProperty = __webpack_require__(6273); 896 | var objectHas = __webpack_require__(2253); 897 | var shared = __webpack_require__(1247); 898 | var sharedKey = __webpack_require__(1325); 899 | var hiddenKeys = __webpack_require__(9154); 900 | 901 | var WeakMap = global.WeakMap; 902 | var set, get, has; 903 | 904 | var enforce = function (it) { 905 | return has(it) ? get(it) : set(it, {}); 906 | }; 907 | 908 | var getterFor = function (TYPE) { 909 | return function (it) { 910 | var state; 911 | if (!isObject(it) || (state = get(it)).type !== TYPE) { 912 | throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 913 | } return state; 914 | }; 915 | }; 916 | 917 | if (NATIVE_WEAK_MAP) { 918 | var store = shared.state || (shared.state = new WeakMap()); 919 | var wmget = store.get; 920 | var wmhas = store.has; 921 | var wmset = store.set; 922 | set = function (it, metadata) { 923 | metadata.facade = it; 924 | wmset.call(store, it, metadata); 925 | return metadata; 926 | }; 927 | get = function (it) { 928 | return wmget.call(store, it) || {}; 929 | }; 930 | has = function (it) { 931 | return wmhas.call(store, it); 932 | }; 933 | } else { 934 | var STATE = sharedKey('state'); 935 | hiddenKeys[STATE] = true; 936 | set = function (it, metadata) { 937 | metadata.facade = it; 938 | createNonEnumerableProperty(it, STATE, metadata); 939 | return metadata; 940 | }; 941 | get = function (it) { 942 | return objectHas(it, STATE) ? it[STATE] : {}; 943 | }; 944 | has = function (it) { 945 | return objectHas(it, STATE); 946 | }; 947 | } 948 | 949 | module.exports = { 950 | set: set, 951 | get: get, 952 | has: has, 953 | enforce: enforce, 954 | getterFor: getterFor 955 | }; 956 | 957 | 958 | /***/ }), 959 | 960 | /***/ 8397: 961 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 962 | 963 | var classof = __webpack_require__(3236); 964 | 965 | // `IsArray` abstract operation 966 | // https://tc39.es/ecma262/#sec-isarray 967 | module.exports = Array.isArray || function isArray(arg) { 968 | return classof(arg) == 'Array'; 969 | }; 970 | 971 | 972 | /***/ }), 973 | 974 | /***/ 2432: 975 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 976 | 977 | var fails = __webpack_require__(629); 978 | 979 | var replacement = /#|\.prototype\./; 980 | 981 | var isForced = function (feature, detection) { 982 | var value = data[normalize(feature)]; 983 | return value == POLYFILL ? true 984 | : value == NATIVE ? false 985 | : typeof detection == 'function' ? fails(detection) 986 | : !!detection; 987 | }; 988 | 989 | var normalize = isForced.normalize = function (string) { 990 | return String(string).replace(replacement, '.').toLowerCase(); 991 | }; 992 | 993 | var data = isForced.data = {}; 994 | var NATIVE = isForced.NATIVE = 'N'; 995 | var POLYFILL = isForced.POLYFILL = 'P'; 996 | 997 | module.exports = isForced; 998 | 999 | 1000 | /***/ }), 1001 | 1002 | /***/ 47: 1003 | /***/ (function(module) { 1004 | 1005 | module.exports = function (it) { 1006 | return typeof it === 'object' ? it !== null : typeof it === 'function'; 1007 | }; 1008 | 1009 | 1010 | /***/ }), 1011 | 1012 | /***/ 2093: 1013 | /***/ (function(module) { 1014 | 1015 | module.exports = false; 1016 | 1017 | 1018 | /***/ }), 1019 | 1020 | /***/ 4893: 1021 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1022 | 1023 | var IS_NODE = __webpack_require__(5209); 1024 | var V8_VERSION = __webpack_require__(9450); 1025 | var fails = __webpack_require__(629); 1026 | 1027 | module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 1028 | /* global Symbol -- required for testing */ 1029 | return !Symbol.sham && 1030 | // Chrome 38 Symbol has incorrect toString conversion 1031 | // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances 1032 | (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41); 1033 | }); 1034 | 1035 | 1036 | /***/ }), 1037 | 1038 | /***/ 1544: 1039 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1040 | 1041 | var global = __webpack_require__(4677); 1042 | var inspectSource = __webpack_require__(8914); 1043 | 1044 | var WeakMap = global.WeakMap; 1045 | 1046 | module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); 1047 | 1048 | 1049 | /***/ }), 1050 | 1051 | /***/ 8052: 1052 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1053 | 1054 | var anObject = __webpack_require__(6506); 1055 | var defineProperties = __webpack_require__(5139); 1056 | var enumBugKeys = __webpack_require__(3711); 1057 | var hiddenKeys = __webpack_require__(9154); 1058 | var html = __webpack_require__(8160); 1059 | var documentCreateElement = __webpack_require__(4971); 1060 | var sharedKey = __webpack_require__(1325); 1061 | 1062 | var GT = '>'; 1063 | var LT = '<'; 1064 | var PROTOTYPE = 'prototype'; 1065 | var SCRIPT = 'script'; 1066 | var IE_PROTO = sharedKey('IE_PROTO'); 1067 | 1068 | var EmptyConstructor = function () { /* empty */ }; 1069 | 1070 | var scriptTag = function (content) { 1071 | return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 1072 | }; 1073 | 1074 | // Create object with fake `null` prototype: use ActiveX Object with cleared prototype 1075 | var NullProtoObjectViaActiveX = function (activeXDocument) { 1076 | activeXDocument.write(scriptTag('')); 1077 | activeXDocument.close(); 1078 | var temp = activeXDocument.parentWindow.Object; 1079 | activeXDocument = null; // avoid memory leak 1080 | return temp; 1081 | }; 1082 | 1083 | // Create object with fake `null` prototype: use iframe Object with cleared prototype 1084 | var NullProtoObjectViaIFrame = function () { 1085 | // Thrash, waste and sodomy: IE GC bug 1086 | var iframe = documentCreateElement('iframe'); 1087 | var JS = 'java' + SCRIPT + ':'; 1088 | var iframeDocument; 1089 | iframe.style.display = 'none'; 1090 | html.appendChild(iframe); 1091 | // https://github.com/zloirock/core-js/issues/475 1092 | iframe.src = String(JS); 1093 | iframeDocument = iframe.contentWindow.document; 1094 | iframeDocument.open(); 1095 | iframeDocument.write(scriptTag('document.F=Object')); 1096 | iframeDocument.close(); 1097 | return iframeDocument.F; 1098 | }; 1099 | 1100 | // Check for document.domain and active x support 1101 | // No need to use active x approach when document.domain is not set 1102 | // see https://github.com/es-shims/es5-shim/issues/150 1103 | // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 1104 | // avoid IE GC bug 1105 | var activeXDocument; 1106 | var NullProtoObject = function () { 1107 | try { 1108 | /* global ActiveXObject -- old IE */ 1109 | activeXDocument = document.domain && new ActiveXObject('htmlfile'); 1110 | } catch (error) { /* ignore */ } 1111 | NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); 1112 | var length = enumBugKeys.length; 1113 | while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 1114 | return NullProtoObject(); 1115 | }; 1116 | 1117 | hiddenKeys[IE_PROTO] = true; 1118 | 1119 | // `Object.create` method 1120 | // https://tc39.es/ecma262/#sec-object.create 1121 | module.exports = Object.create || function create(O, Properties) { 1122 | var result; 1123 | if (O !== null) { 1124 | EmptyConstructor[PROTOTYPE] = anObject(O); 1125 | result = new EmptyConstructor(); 1126 | EmptyConstructor[PROTOTYPE] = null; 1127 | // add "__proto__" for Object.getPrototypeOf polyfill 1128 | result[IE_PROTO] = O; 1129 | } else result = NullProtoObject(); 1130 | return Properties === undefined ? result : defineProperties(result, Properties); 1131 | }; 1132 | 1133 | 1134 | /***/ }), 1135 | 1136 | /***/ 5139: 1137 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1138 | 1139 | var DESCRIPTORS = __webpack_require__(1629); 1140 | var definePropertyModule = __webpack_require__(1765); 1141 | var anObject = __webpack_require__(6506); 1142 | var objectKeys = __webpack_require__(5474); 1143 | 1144 | // `Object.defineProperties` method 1145 | // https://tc39.es/ecma262/#sec-object.defineproperties 1146 | module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { 1147 | anObject(O); 1148 | var keys = objectKeys(Properties); 1149 | var length = keys.length; 1150 | var index = 0; 1151 | var key; 1152 | while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); 1153 | return O; 1154 | }; 1155 | 1156 | 1157 | /***/ }), 1158 | 1159 | /***/ 1765: 1160 | /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 1161 | 1162 | var DESCRIPTORS = __webpack_require__(1629); 1163 | var IE8_DOM_DEFINE = __webpack_require__(9520); 1164 | var anObject = __webpack_require__(6506); 1165 | var toPrimitive = __webpack_require__(6204); 1166 | 1167 | var nativeDefineProperty = Object.defineProperty; 1168 | 1169 | // `Object.defineProperty` method 1170 | // https://tc39.es/ecma262/#sec-object.defineproperty 1171 | exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { 1172 | anObject(O); 1173 | P = toPrimitive(P, true); 1174 | anObject(Attributes); 1175 | if (IE8_DOM_DEFINE) try { 1176 | return nativeDefineProperty(O, P, Attributes); 1177 | } catch (error) { /* empty */ } 1178 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); 1179 | if ('value' in Attributes) O[P] = Attributes.value; 1180 | return O; 1181 | }; 1182 | 1183 | 1184 | /***/ }), 1185 | 1186 | /***/ 6623: 1187 | /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 1188 | 1189 | var DESCRIPTORS = __webpack_require__(1629); 1190 | var propertyIsEnumerableModule = __webpack_require__(630); 1191 | var createPropertyDescriptor = __webpack_require__(5250); 1192 | var toIndexedObject = __webpack_require__(1301); 1193 | var toPrimitive = __webpack_require__(6204); 1194 | var has = __webpack_require__(2253); 1195 | var IE8_DOM_DEFINE = __webpack_require__(9520); 1196 | 1197 | var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 1198 | 1199 | // `Object.getOwnPropertyDescriptor` method 1200 | // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor 1201 | exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 1202 | O = toIndexedObject(O); 1203 | P = toPrimitive(P, true); 1204 | if (IE8_DOM_DEFINE) try { 1205 | return nativeGetOwnPropertyDescriptor(O, P); 1206 | } catch (error) { /* empty */ } 1207 | if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); 1208 | }; 1209 | 1210 | 1211 | /***/ }), 1212 | 1213 | /***/ 2884: 1214 | /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 1215 | 1216 | var internalObjectKeys = __webpack_require__(2034); 1217 | var enumBugKeys = __webpack_require__(3711); 1218 | 1219 | var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 1220 | 1221 | // `Object.getOwnPropertyNames` method 1222 | // https://tc39.es/ecma262/#sec-object.getownpropertynames 1223 | exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 1224 | return internalObjectKeys(O, hiddenKeys); 1225 | }; 1226 | 1227 | 1228 | /***/ }), 1229 | 1230 | /***/ 1453: 1231 | /***/ (function(__unused_webpack_module, exports) { 1232 | 1233 | exports.f = Object.getOwnPropertySymbols; 1234 | 1235 | 1236 | /***/ }), 1237 | 1238 | /***/ 2034: 1239 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1240 | 1241 | var has = __webpack_require__(2253); 1242 | var toIndexedObject = __webpack_require__(1301); 1243 | var indexOf = __webpack_require__(1669).indexOf; 1244 | var hiddenKeys = __webpack_require__(9154); 1245 | 1246 | module.exports = function (object, names) { 1247 | var O = toIndexedObject(object); 1248 | var i = 0; 1249 | var result = []; 1250 | var key; 1251 | for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); 1252 | // Don't enum bug & hidden keys 1253 | while (names.length > i) if (has(O, key = names[i++])) { 1254 | ~indexOf(result, key) || result.push(key); 1255 | } 1256 | return result; 1257 | }; 1258 | 1259 | 1260 | /***/ }), 1261 | 1262 | /***/ 5474: 1263 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1264 | 1265 | var internalObjectKeys = __webpack_require__(2034); 1266 | var enumBugKeys = __webpack_require__(3711); 1267 | 1268 | // `Object.keys` method 1269 | // https://tc39.es/ecma262/#sec-object.keys 1270 | module.exports = Object.keys || function keys(O) { 1271 | return internalObjectKeys(O, enumBugKeys); 1272 | }; 1273 | 1274 | 1275 | /***/ }), 1276 | 1277 | /***/ 630: 1278 | /***/ (function(__unused_webpack_module, exports) { 1279 | 1280 | "use strict"; 1281 | 1282 | var nativePropertyIsEnumerable = {}.propertyIsEnumerable; 1283 | var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 1284 | 1285 | // Nashorn ~ JDK8 bug 1286 | var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); 1287 | 1288 | // `Object.prototype.propertyIsEnumerable` method implementation 1289 | // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable 1290 | exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 1291 | var descriptor = getOwnPropertyDescriptor(this, V); 1292 | return !!descriptor && descriptor.enumerable; 1293 | } : nativePropertyIsEnumerable; 1294 | 1295 | 1296 | /***/ }), 1297 | 1298 | /***/ 9040: 1299 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1300 | 1301 | /* eslint-disable no-proto -- safe */ 1302 | var anObject = __webpack_require__(6506); 1303 | var aPossiblePrototype = __webpack_require__(9293); 1304 | 1305 | // `Object.setPrototypeOf` method 1306 | // https://tc39.es/ecma262/#sec-object.setprototypeof 1307 | // Works with __proto__ only. Old v8 can't work with null proto objects. 1308 | module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 1309 | var CORRECT_SETTER = false; 1310 | var test = {}; 1311 | var setter; 1312 | try { 1313 | setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; 1314 | setter.call(test, []); 1315 | CORRECT_SETTER = test instanceof Array; 1316 | } catch (error) { /* empty */ } 1317 | return function setPrototypeOf(O, proto) { 1318 | anObject(O); 1319 | aPossiblePrototype(proto); 1320 | if (CORRECT_SETTER) setter.call(O, proto); 1321 | else O.__proto__ = proto; 1322 | return O; 1323 | }; 1324 | }() : undefined); 1325 | 1326 | 1327 | /***/ }), 1328 | 1329 | /***/ 4327: 1330 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1331 | 1332 | var getBuiltIn = __webpack_require__(5784); 1333 | var getOwnPropertyNamesModule = __webpack_require__(2884); 1334 | var getOwnPropertySymbolsModule = __webpack_require__(1453); 1335 | var anObject = __webpack_require__(6506); 1336 | 1337 | // all object keys, includes non-enumerable and symbols 1338 | module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 1339 | var keys = getOwnPropertyNamesModule.f(anObject(it)); 1340 | var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 1341 | return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; 1342 | }; 1343 | 1344 | 1345 | /***/ }), 1346 | 1347 | /***/ 504: 1348 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1349 | 1350 | var global = __webpack_require__(4677); 1351 | 1352 | module.exports = global; 1353 | 1354 | 1355 | /***/ }), 1356 | 1357 | /***/ 3369: 1358 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1359 | 1360 | var global = __webpack_require__(4677); 1361 | var createNonEnumerableProperty = __webpack_require__(6273); 1362 | var has = __webpack_require__(2253); 1363 | var setGlobal = __webpack_require__(488); 1364 | var inspectSource = __webpack_require__(8914); 1365 | var InternalStateModule = __webpack_require__(6761); 1366 | 1367 | var getInternalState = InternalStateModule.get; 1368 | var enforceInternalState = InternalStateModule.enforce; 1369 | var TEMPLATE = String(String).split('String'); 1370 | 1371 | (module.exports = function (O, key, value, options) { 1372 | var unsafe = options ? !!options.unsafe : false; 1373 | var simple = options ? !!options.enumerable : false; 1374 | var noTargetGet = options ? !!options.noTargetGet : false; 1375 | var state; 1376 | if (typeof value == 'function') { 1377 | if (typeof key == 'string' && !has(value, 'name')) { 1378 | createNonEnumerableProperty(value, 'name', key); 1379 | } 1380 | state = enforceInternalState(value); 1381 | if (!state.source) { 1382 | state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); 1383 | } 1384 | } 1385 | if (O === global) { 1386 | if (simple) O[key] = value; 1387 | else setGlobal(key, value); 1388 | return; 1389 | } else if (!unsafe) { 1390 | delete O[key]; 1391 | } else if (!noTargetGet && O[key]) { 1392 | simple = true; 1393 | } 1394 | if (simple) O[key] = value; 1395 | else createNonEnumerableProperty(O, key, value); 1396 | // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 1397 | })(Function.prototype, 'toString', function toString() { 1398 | return typeof this == 'function' && getInternalState(this).source || inspectSource(this); 1399 | }); 1400 | 1401 | 1402 | /***/ }), 1403 | 1404 | /***/ 5740: 1405 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1406 | 1407 | var classof = __webpack_require__(3236); 1408 | var regexpExec = __webpack_require__(1517); 1409 | 1410 | // `RegExpExec` abstract operation 1411 | // https://tc39.es/ecma262/#sec-regexpexec 1412 | module.exports = function (R, S) { 1413 | var exec = R.exec; 1414 | if (typeof exec === 'function') { 1415 | var result = exec.call(R, S); 1416 | if (typeof result !== 'object') { 1417 | throw TypeError('RegExp exec method returned something other than an Object or null'); 1418 | } 1419 | return result; 1420 | } 1421 | 1422 | if (classof(R) !== 'RegExp') { 1423 | throw TypeError('RegExp#exec called on incompatible receiver'); 1424 | } 1425 | 1426 | return regexpExec.call(R, S); 1427 | }; 1428 | 1429 | 1430 | 1431 | /***/ }), 1432 | 1433 | /***/ 1517: 1434 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1435 | 1436 | "use strict"; 1437 | 1438 | var regexpFlags = __webpack_require__(6742); 1439 | var stickyHelpers = __webpack_require__(3626); 1440 | 1441 | var nativeExec = RegExp.prototype.exec; 1442 | // This always refers to the native implementation, because the 1443 | // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 1444 | // which loads this file before patching the method. 1445 | var nativeReplace = String.prototype.replace; 1446 | 1447 | var patchedExec = nativeExec; 1448 | 1449 | var UPDATES_LAST_INDEX_WRONG = (function () { 1450 | var re1 = /a/; 1451 | var re2 = /b*/g; 1452 | nativeExec.call(re1, 'a'); 1453 | nativeExec.call(re2, 'a'); 1454 | return re1.lastIndex !== 0 || re2.lastIndex !== 0; 1455 | })(); 1456 | 1457 | var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; 1458 | 1459 | // nonparticipating capturing group, copied from es5-shim's String#split patch. 1460 | // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing 1461 | var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 1462 | 1463 | var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; 1464 | 1465 | if (PATCH) { 1466 | patchedExec = function exec(str) { 1467 | var re = this; 1468 | var lastIndex, reCopy, match, i; 1469 | var sticky = UNSUPPORTED_Y && re.sticky; 1470 | var flags = regexpFlags.call(re); 1471 | var source = re.source; 1472 | var charsAdded = 0; 1473 | var strCopy = str; 1474 | 1475 | if (sticky) { 1476 | flags = flags.replace('y', ''); 1477 | if (flags.indexOf('g') === -1) { 1478 | flags += 'g'; 1479 | } 1480 | 1481 | strCopy = String(str).slice(re.lastIndex); 1482 | // Support anchored sticky behavior. 1483 | if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { 1484 | source = '(?: ' + source + ')'; 1485 | strCopy = ' ' + strCopy; 1486 | charsAdded++; 1487 | } 1488 | // ^(? + rx + ) is needed, in combination with some str slicing, to 1489 | // simulate the 'y' flag. 1490 | reCopy = new RegExp('^(?:' + source + ')', flags); 1491 | } 1492 | 1493 | if (NPCG_INCLUDED) { 1494 | reCopy = new RegExp('^' + source + '$(?!\\s)', flags); 1495 | } 1496 | if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; 1497 | 1498 | match = nativeExec.call(sticky ? reCopy : re, strCopy); 1499 | 1500 | if (sticky) { 1501 | if (match) { 1502 | match.input = match.input.slice(charsAdded); 1503 | match[0] = match[0].slice(charsAdded); 1504 | match.index = re.lastIndex; 1505 | re.lastIndex += match[0].length; 1506 | } else re.lastIndex = 0; 1507 | } else if (UPDATES_LAST_INDEX_WRONG && match) { 1508 | re.lastIndex = re.global ? match.index + match[0].length : lastIndex; 1509 | } 1510 | if (NPCG_INCLUDED && match && match.length > 1) { 1511 | // Fix browsers whose `exec` methods don't consistently return `undefined` 1512 | // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 1513 | nativeReplace.call(match[0], reCopy, function () { 1514 | for (i = 1; i < arguments.length - 2; i++) { 1515 | if (arguments[i] === undefined) match[i] = undefined; 1516 | } 1517 | }); 1518 | } 1519 | 1520 | return match; 1521 | }; 1522 | } 1523 | 1524 | module.exports = patchedExec; 1525 | 1526 | 1527 | /***/ }), 1528 | 1529 | /***/ 6742: 1530 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1531 | 1532 | "use strict"; 1533 | 1534 | var anObject = __webpack_require__(6506); 1535 | 1536 | // `RegExp.prototype.flags` getter implementation 1537 | // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags 1538 | module.exports = function () { 1539 | var that = anObject(this); 1540 | var result = ''; 1541 | if (that.global) result += 'g'; 1542 | if (that.ignoreCase) result += 'i'; 1543 | if (that.multiline) result += 'm'; 1544 | if (that.dotAll) result += 's'; 1545 | if (that.unicode) result += 'u'; 1546 | if (that.sticky) result += 'y'; 1547 | return result; 1548 | }; 1549 | 1550 | 1551 | /***/ }), 1552 | 1553 | /***/ 3626: 1554 | /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 1555 | 1556 | "use strict"; 1557 | 1558 | 1559 | var fails = __webpack_require__(629); 1560 | 1561 | // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, 1562 | // so we use an intermediate function. 1563 | function RE(s, f) { 1564 | return RegExp(s, f); 1565 | } 1566 | 1567 | exports.UNSUPPORTED_Y = fails(function () { 1568 | // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError 1569 | var re = RE('a', 'y'); 1570 | re.lastIndex = 2; 1571 | return re.exec('abcd') != null; 1572 | }); 1573 | 1574 | exports.BROKEN_CARET = fails(function () { 1575 | // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 1576 | var re = RE('^r', 'gy'); 1577 | re.lastIndex = 2; 1578 | return re.exec('str') != null; 1579 | }); 1580 | 1581 | 1582 | /***/ }), 1583 | 1584 | /***/ 9612: 1585 | /***/ (function(module) { 1586 | 1587 | // `RequireObjectCoercible` abstract operation 1588 | // https://tc39.es/ecma262/#sec-requireobjectcoercible 1589 | module.exports = function (it) { 1590 | if (it == undefined) throw TypeError("Can't call method on " + it); 1591 | return it; 1592 | }; 1593 | 1594 | 1595 | /***/ }), 1596 | 1597 | /***/ 488: 1598 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1599 | 1600 | var global = __webpack_require__(4677); 1601 | var createNonEnumerableProperty = __webpack_require__(6273); 1602 | 1603 | module.exports = function (key, value) { 1604 | try { 1605 | createNonEnumerableProperty(global, key, value); 1606 | } catch (error) { 1607 | global[key] = value; 1608 | } return value; 1609 | }; 1610 | 1611 | 1612 | /***/ }), 1613 | 1614 | /***/ 1325: 1615 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1616 | 1617 | var shared = __webpack_require__(4909); 1618 | var uid = __webpack_require__(1560); 1619 | 1620 | var keys = shared('keys'); 1621 | 1622 | module.exports = function (key) { 1623 | return keys[key] || (keys[key] = uid(key)); 1624 | }; 1625 | 1626 | 1627 | /***/ }), 1628 | 1629 | /***/ 1247: 1630 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1631 | 1632 | var global = __webpack_require__(4677); 1633 | var setGlobal = __webpack_require__(488); 1634 | 1635 | var SHARED = '__core-js_shared__'; 1636 | var store = global[SHARED] || setGlobal(SHARED, {}); 1637 | 1638 | module.exports = store; 1639 | 1640 | 1641 | /***/ }), 1642 | 1643 | /***/ 4909: 1644 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1645 | 1646 | var IS_PURE = __webpack_require__(2093); 1647 | var store = __webpack_require__(1247); 1648 | 1649 | (module.exports = function (key, value) { 1650 | return store[key] || (store[key] = value !== undefined ? value : {}); 1651 | })('versions', []).push({ 1652 | version: '3.9.1', 1653 | mode: IS_PURE ? 'pure' : 'global', 1654 | copyright: '© 2021 Denis Pushkarev (zloirock.ru)' 1655 | }); 1656 | 1657 | 1658 | /***/ }), 1659 | 1660 | /***/ 5389: 1661 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1662 | 1663 | var toInteger = __webpack_require__(6736); 1664 | var requireObjectCoercible = __webpack_require__(9612); 1665 | 1666 | // `String.prototype.{ codePointAt, at }` methods implementation 1667 | var createMethod = function (CONVERT_TO_STRING) { 1668 | return function ($this, pos) { 1669 | var S = String(requireObjectCoercible($this)); 1670 | var position = toInteger(pos); 1671 | var size = S.length; 1672 | var first, second; 1673 | if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 1674 | first = S.charCodeAt(position); 1675 | return first < 0xD800 || first > 0xDBFF || position + 1 === size 1676 | || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF 1677 | ? CONVERT_TO_STRING ? S.charAt(position) : first 1678 | : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 1679 | }; 1680 | }; 1681 | 1682 | module.exports = { 1683 | // `String.prototype.codePointAt` method 1684 | // https://tc39.es/ecma262/#sec-string.prototype.codepointat 1685 | codeAt: createMethod(false), 1686 | // `String.prototype.at` method 1687 | // https://github.com/mathiasbynens/String.prototype.at 1688 | charAt: createMethod(true) 1689 | }; 1690 | 1691 | 1692 | /***/ }), 1693 | 1694 | /***/ 3516: 1695 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1696 | 1697 | var requireObjectCoercible = __webpack_require__(9612); 1698 | var whitespaces = __webpack_require__(479); 1699 | 1700 | var whitespace = '[' + whitespaces + ']'; 1701 | var ltrim = RegExp('^' + whitespace + whitespace + '*'); 1702 | var rtrim = RegExp(whitespace + whitespace + '*$'); 1703 | 1704 | // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation 1705 | var createMethod = function (TYPE) { 1706 | return function ($this) { 1707 | var string = String(requireObjectCoercible($this)); 1708 | if (TYPE & 1) string = string.replace(ltrim, ''); 1709 | if (TYPE & 2) string = string.replace(rtrim, ''); 1710 | return string; 1711 | }; 1712 | }; 1713 | 1714 | module.exports = { 1715 | // `String.prototype.{ trimLeft, trimStart }` methods 1716 | // https://tc39.es/ecma262/#sec-string.prototype.trimstart 1717 | start: createMethod(1), 1718 | // `String.prototype.{ trimRight, trimEnd }` methods 1719 | // https://tc39.es/ecma262/#sec-string.prototype.trimend 1720 | end: createMethod(2), 1721 | // `String.prototype.trim` method 1722 | // https://tc39.es/ecma262/#sec-string.prototype.trim 1723 | trim: createMethod(3) 1724 | }; 1725 | 1726 | 1727 | /***/ }), 1728 | 1729 | /***/ 8018: 1730 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1731 | 1732 | var toInteger = __webpack_require__(6736); 1733 | 1734 | var max = Math.max; 1735 | var min = Math.min; 1736 | 1737 | // Helper for a popular repeating case of the spec: 1738 | // Let integer be ? ToInteger(index). 1739 | // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 1740 | module.exports = function (index, length) { 1741 | var integer = toInteger(index); 1742 | return integer < 0 ? max(integer + length, 0) : min(integer, length); 1743 | }; 1744 | 1745 | 1746 | /***/ }), 1747 | 1748 | /***/ 1301: 1749 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1750 | 1751 | // toObject with fallback for non-array-like ES3 strings 1752 | var IndexedObject = __webpack_require__(5542); 1753 | var requireObjectCoercible = __webpack_require__(9612); 1754 | 1755 | module.exports = function (it) { 1756 | return IndexedObject(requireObjectCoercible(it)); 1757 | }; 1758 | 1759 | 1760 | /***/ }), 1761 | 1762 | /***/ 6736: 1763 | /***/ (function(module) { 1764 | 1765 | var ceil = Math.ceil; 1766 | var floor = Math.floor; 1767 | 1768 | // `ToInteger` abstract operation 1769 | // https://tc39.es/ecma262/#sec-tointeger 1770 | module.exports = function (argument) { 1771 | return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); 1772 | }; 1773 | 1774 | 1775 | /***/ }), 1776 | 1777 | /***/ 3208: 1778 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1779 | 1780 | var toInteger = __webpack_require__(6736); 1781 | 1782 | var min = Math.min; 1783 | 1784 | // `ToLength` abstract operation 1785 | // https://tc39.es/ecma262/#sec-tolength 1786 | module.exports = function (argument) { 1787 | return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 1788 | }; 1789 | 1790 | 1791 | /***/ }), 1792 | 1793 | /***/ 2196: 1794 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1795 | 1796 | var requireObjectCoercible = __webpack_require__(9612); 1797 | 1798 | // `ToObject` abstract operation 1799 | // https://tc39.es/ecma262/#sec-toobject 1800 | module.exports = function (argument) { 1801 | return Object(requireObjectCoercible(argument)); 1802 | }; 1803 | 1804 | 1805 | /***/ }), 1806 | 1807 | /***/ 6204: 1808 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1809 | 1810 | var isObject = __webpack_require__(47); 1811 | 1812 | // `ToPrimitive` abstract operation 1813 | // https://tc39.es/ecma262/#sec-toprimitive 1814 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case 1815 | // and the second argument - flag - preferred type is a string 1816 | module.exports = function (input, PREFERRED_STRING) { 1817 | if (!isObject(input)) return input; 1818 | var fn, val; 1819 | if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 1820 | if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; 1821 | if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 1822 | throw TypeError("Can't convert object to primitive value"); 1823 | }; 1824 | 1825 | 1826 | /***/ }), 1827 | 1828 | /***/ 1560: 1829 | /***/ (function(module) { 1830 | 1831 | var id = 0; 1832 | var postfix = Math.random(); 1833 | 1834 | module.exports = function (key) { 1835 | return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); 1836 | }; 1837 | 1838 | 1839 | /***/ }), 1840 | 1841 | /***/ 9538: 1842 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1843 | 1844 | var NATIVE_SYMBOL = __webpack_require__(4893); 1845 | 1846 | module.exports = NATIVE_SYMBOL 1847 | /* global Symbol -- safe */ 1848 | && !Symbol.sham 1849 | && typeof Symbol.iterator == 'symbol'; 1850 | 1851 | 1852 | /***/ }), 1853 | 1854 | /***/ 6807: 1855 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1856 | 1857 | var global = __webpack_require__(4677); 1858 | var shared = __webpack_require__(4909); 1859 | var has = __webpack_require__(2253); 1860 | var uid = __webpack_require__(1560); 1861 | var NATIVE_SYMBOL = __webpack_require__(4893); 1862 | var USE_SYMBOL_AS_UID = __webpack_require__(9538); 1863 | 1864 | var WellKnownSymbolsStore = shared('wks'); 1865 | var Symbol = global.Symbol; 1866 | var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 1867 | 1868 | module.exports = function (name) { 1869 | if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { 1870 | if (NATIVE_SYMBOL && has(Symbol, name)) { 1871 | WellKnownSymbolsStore[name] = Symbol[name]; 1872 | } else { 1873 | WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); 1874 | } 1875 | } return WellKnownSymbolsStore[name]; 1876 | }; 1877 | 1878 | 1879 | /***/ }), 1880 | 1881 | /***/ 479: 1882 | /***/ (function(module) { 1883 | 1884 | // a string of all valid unicode whitespaces 1885 | module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + 1886 | '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 1887 | 1888 | 1889 | /***/ }), 1890 | 1891 | /***/ 9329: 1892 | /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1893 | 1894 | var DESCRIPTORS = __webpack_require__(1629); 1895 | var defineProperty = __webpack_require__(1765).f; 1896 | 1897 | var FunctionPrototype = Function.prototype; 1898 | var FunctionPrototypeToString = FunctionPrototype.toString; 1899 | var nameRE = /^\s*function ([^ (]*)/; 1900 | var NAME = 'name'; 1901 | 1902 | // Function instances `.name` property 1903 | // https://tc39.es/ecma262/#sec-function-instances-name 1904 | if (DESCRIPTORS && !(NAME in FunctionPrototype)) { 1905 | defineProperty(FunctionPrototype, NAME, { 1906 | configurable: true, 1907 | get: function () { 1908 | try { 1909 | return FunctionPrototypeToString.call(this).match(nameRE)[1]; 1910 | } catch (error) { 1911 | return ''; 1912 | } 1913 | } 1914 | }); 1915 | } 1916 | 1917 | 1918 | /***/ }), 1919 | 1920 | /***/ 907: 1921 | /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1922 | 1923 | "use strict"; 1924 | 1925 | var DESCRIPTORS = __webpack_require__(1629); 1926 | var global = __webpack_require__(4677); 1927 | var isForced = __webpack_require__(2432); 1928 | var redefine = __webpack_require__(3369); 1929 | var has = __webpack_require__(2253); 1930 | var classof = __webpack_require__(3236); 1931 | var inheritIfRequired = __webpack_require__(5670); 1932 | var toPrimitive = __webpack_require__(6204); 1933 | var fails = __webpack_require__(629); 1934 | var create = __webpack_require__(8052); 1935 | var getOwnPropertyNames = __webpack_require__(2884).f; 1936 | var getOwnPropertyDescriptor = __webpack_require__(6623).f; 1937 | var defineProperty = __webpack_require__(1765).f; 1938 | var trim = __webpack_require__(3516).trim; 1939 | 1940 | var NUMBER = 'Number'; 1941 | var NativeNumber = global[NUMBER]; 1942 | var NumberPrototype = NativeNumber.prototype; 1943 | 1944 | // Opera ~12 has broken Object#toString 1945 | var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; 1946 | 1947 | // `ToNumber` abstract operation 1948 | // https://tc39.es/ecma262/#sec-tonumber 1949 | var toNumber = function (argument) { 1950 | var it = toPrimitive(argument, false); 1951 | var first, third, radix, maxCode, digits, length, index, code; 1952 | if (typeof it == 'string' && it.length > 2) { 1953 | it = trim(it); 1954 | first = it.charCodeAt(0); 1955 | if (first === 43 || first === 45) { 1956 | third = it.charCodeAt(2); 1957 | if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 1958 | } else if (first === 48) { 1959 | switch (it.charCodeAt(1)) { 1960 | case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i 1961 | case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i 1962 | default: return +it; 1963 | } 1964 | digits = it.slice(2); 1965 | length = digits.length; 1966 | for (index = 0; index < length; index++) { 1967 | code = digits.charCodeAt(index); 1968 | // parseInt parses a string to a first unavailable symbol 1969 | // but ToNumber should return NaN if a string contains unavailable symbols 1970 | if (code < 48 || code > maxCode) return NaN; 1971 | } return parseInt(digits, radix); 1972 | } 1973 | } return +it; 1974 | }; 1975 | 1976 | // `Number` constructor 1977 | // https://tc39.es/ecma262/#sec-number-constructor 1978 | if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { 1979 | var NumberWrapper = function Number(value) { 1980 | var it = arguments.length < 1 ? 0 : value; 1981 | var dummy = this; 1982 | return dummy instanceof NumberWrapper 1983 | // check on 1..constructor(foo) case 1984 | && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) 1985 | ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); 1986 | }; 1987 | for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( 1988 | // ES3: 1989 | 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 1990 | // ES2015 (in case, if modules with ES2015 Number statics required before): 1991 | 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 1992 | 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' + 1993 | // ESNext 1994 | 'fromString,range' 1995 | ).split(','), j = 0, key; keys.length > j; j++) { 1996 | if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { 1997 | defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); 1998 | } 1999 | } 2000 | NumberWrapper.prototype = NumberPrototype; 2001 | NumberPrototype.constructor = NumberWrapper; 2002 | redefine(global, NUMBER, NumberWrapper); 2003 | } 2004 | 2005 | 2006 | /***/ }), 2007 | 2008 | /***/ 6366: 2009 | /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2010 | 2011 | "use strict"; 2012 | 2013 | var $ = __webpack_require__(7574); 2014 | var exec = __webpack_require__(1517); 2015 | 2016 | // `RegExp.prototype.exec` method 2017 | // https://tc39.es/ecma262/#sec-regexp.prototype.exec 2018 | $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { 2019 | exec: exec 2020 | }); 2021 | 2022 | 2023 | /***/ }), 2024 | 2025 | /***/ 8289: 2026 | /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2027 | 2028 | "use strict"; 2029 | 2030 | var fixRegExpWellKnownSymbolLogic = __webpack_require__(6475); 2031 | var anObject = __webpack_require__(6506); 2032 | var toLength = __webpack_require__(3208); 2033 | var toInteger = __webpack_require__(6736); 2034 | var requireObjectCoercible = __webpack_require__(9612); 2035 | var advanceStringIndex = __webpack_require__(5570); 2036 | var getSubstitution = __webpack_require__(8563); 2037 | var regExpExec = __webpack_require__(5740); 2038 | 2039 | var max = Math.max; 2040 | var min = Math.min; 2041 | 2042 | var maybeToString = function (it) { 2043 | return it === undefined ? it : String(it); 2044 | }; 2045 | 2046 | // @@replace logic 2047 | fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { 2048 | var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; 2049 | var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; 2050 | var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; 2051 | 2052 | return [ 2053 | // `String.prototype.replace` method 2054 | // https://tc39.es/ecma262/#sec-string.prototype.replace 2055 | function replace(searchValue, replaceValue) { 2056 | var O = requireObjectCoercible(this); 2057 | var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; 2058 | return replacer !== undefined 2059 | ? replacer.call(searchValue, O, replaceValue) 2060 | : nativeReplace.call(String(O), searchValue, replaceValue); 2061 | }, 2062 | // `RegExp.prototype[@@replace]` method 2063 | // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace 2064 | function (regexp, replaceValue) { 2065 | if ( 2066 | (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || 2067 | (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) 2068 | ) { 2069 | var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); 2070 | if (res.done) return res.value; 2071 | } 2072 | 2073 | var rx = anObject(regexp); 2074 | var S = String(this); 2075 | 2076 | var functionalReplace = typeof replaceValue === 'function'; 2077 | if (!functionalReplace) replaceValue = String(replaceValue); 2078 | 2079 | var global = rx.global; 2080 | if (global) { 2081 | var fullUnicode = rx.unicode; 2082 | rx.lastIndex = 0; 2083 | } 2084 | var results = []; 2085 | while (true) { 2086 | var result = regExpExec(rx, S); 2087 | if (result === null) break; 2088 | 2089 | results.push(result); 2090 | if (!global) break; 2091 | 2092 | var matchStr = String(result[0]); 2093 | if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 2094 | } 2095 | 2096 | var accumulatedResult = ''; 2097 | var nextSourcePosition = 0; 2098 | for (var i = 0; i < results.length; i++) { 2099 | result = results[i]; 2100 | 2101 | var matched = String(result[0]); 2102 | var position = max(min(toInteger(result.index), S.length), 0); 2103 | var captures = []; 2104 | // NOTE: This is equivalent to 2105 | // captures = result.slice(1).map(maybeToString) 2106 | // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 2107 | // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 2108 | // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 2109 | for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 2110 | var namedCaptures = result.groups; 2111 | if (functionalReplace) { 2112 | var replacerArgs = [matched].concat(captures, position, S); 2113 | if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 2114 | var replacement = String(replaceValue.apply(undefined, replacerArgs)); 2115 | } else { 2116 | replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 2117 | } 2118 | if (position >= nextSourcePosition) { 2119 | accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 2120 | nextSourcePosition = position + matched.length; 2121 | } 2122 | } 2123 | return accumulatedResult + S.slice(nextSourcePosition); 2124 | } 2125 | ]; 2126 | }); 2127 | 2128 | 2129 | /***/ }), 2130 | 2131 | /***/ 1692: 2132 | /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2133 | 2134 | var global = __webpack_require__(4677); 2135 | var DOMIterables = __webpack_require__(3924); 2136 | var forEach = __webpack_require__(1167); 2137 | var createNonEnumerableProperty = __webpack_require__(6273); 2138 | 2139 | for (var COLLECTION_NAME in DOMIterables) { 2140 | var Collection = global[COLLECTION_NAME]; 2141 | var CollectionPrototype = Collection && Collection.prototype; 2142 | // some Chrome versions have non-configurable methods on DOMTokenList 2143 | if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { 2144 | createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); 2145 | } catch (error) { 2146 | CollectionPrototype.forEach = forEach; 2147 | } 2148 | } 2149 | 2150 | 2151 | /***/ }), 2152 | 2153 | /***/ 2189: 2154 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 2155 | 2156 | "use strict"; 2157 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4309); 2158 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); 2159 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7239); 2160 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); 2161 | // Imports 2162 | 2163 | 2164 | var ___CSS_LOADER_EXPORT___ = _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default())); 2165 | // Module 2166 | ___CSS_LOADER_EXPORT___.push([module.id, ".d2h-d-none{display:none}.d2h-wrapper{text-align:left}.d2h-file-header{height:35px;padding:5px 10px;border-bottom:1px solid #d8d8d8;background-color:#f7f7f7;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}.d2h-file-header,.d2h-file-stats{display:-webkit-box;display:-ms-flexbox;display:flex}.d2h-file-stats{margin-left:auto;font-size:14px}.d2h-lines-added{text-align:right;border:1px solid #b4e2b4;border-radius:5px 0 0 5px;color:#399839;padding:2px;vertical-align:middle}.d2h-lines-deleted{text-align:left;border:1px solid #e9aeae;border-radius:0 5px 5px 0;color:#c33;padding:2px;vertical-align:middle;margin-left:1px}.d2h-file-name-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-size:15px}.d2h-file-name{white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden}.d2h-file-wrapper{margin-bottom:1em}.d2h-file-collapse,.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px}.d2h-file-collapse{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;display:none;cursor:pointer;font-size:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 8px}.d2h-file-collapse.d2h-selected{background-color:#c8e1ff}.d2h-file-collapse-input{margin:0 4px 0 0}.d2h-diff-table{width:100%;border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px}.d2h-files-diff{display:block;width:100%}.d2h-file-diff{overflow-y:hidden}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%;margin-right:-4px;margin-bottom:-8px}.d2h-code-line{padding:0 8em}.d2h-code-line,.d2h-code-side-line{display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.d2h-code-side-line{padding:0 4.5em}.d2h-code-line-ctn{display:inline-block;background:none;padding:0;word-wrap:normal;white-space:pre;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;width:100%;vertical-align:middle}.d2h-code-line del,.d2h-code-side-line del{background-color:#ffb6ba}.d2h-code-line del,.d2h-code-line ins,.d2h-code-side-line del,.d2h-code-side-line ins{display:inline-block;margin-top:-1px;text-decoration:none;border-radius:.2em;vertical-align:middle}.d2h-code-line ins,.d2h-code-side-line ins{background-color:#97f295;text-align:left}.d2h-code-line-prefix{display:inline;background:none;padding:0;word-wrap:normal;white-space:pre}.line-num1{float:left}.line-num1,.line-num2{-webkit-box-sizing:border-box;box-sizing:border-box;width:3.5em;overflow:hidden;text-overflow:ellipsis;padding:0 .5em}.line-num2{float:right}.d2h-code-linenumber{-webkit-box-sizing:border-box;box-sizing:border-box;width:7.5em;position:absolute;display:inline-block;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px;cursor:pointer}.d2h-code-linenumber:after{content:\"\\200b\"}.d2h-code-side-linenumber{position:absolute;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;width:4em;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding:0 .5em}.d2h-code-side-linenumber:after{content:\"\\200b\"}.d2h-code-side-emptyplaceholder,.d2h-emptyplaceholder{background-color:#f1f1f1;border-color:#e1e1e1}.d2h-code-line-prefix,.d2h-code-linenumber,.d2h-code-side-linenumber,.d2h-emptyplaceholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d2h-code-linenumber,.d2h-code-side-linenumber{direction:rtl}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;color:rgba(0,0,0,.3);border-color:#d5e4f2}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{text-decoration:none;color:#3572b0}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;padding:0;margin:0}.d2h-file-list>li{border-bottom:1px solid #ddd;padding:5px 10px;margin:0}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{display:none;font-size:10px;cursor:pointer}.d2h-icon{vertical-align:middle;margin-right:10px;fill:currentColor}.d2h-deleted{color:#c33}.d2h-added{color:#399839}.d2h-changed{color:#d0b44c}.d2h-moved{color:#3572b0}.d2h-tag{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:10px;margin-left:5px;padding:0 2px;background-color:#fff}.d2h-deleted-tag{border:1px solid #c33}.d2h-added-tag{border:1px solid #399839}.d2h-changed-tag{border:1px solid #d0b44c}.d2h-moved-tag{border:1px solid #3572b0}", "",{"version":3,"sources":["webpack://./node_modules/.pnpm/diff2html@3.3.1/node_modules/diff2html/bundles/css/diff2html.min.css"],"names":[],"mappings":"AAAA,YAAY,YAAY,CAAC,aAAa,eAAe,CAAC,iBAAiB,WAAW,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,qEAAqE,CAAC,iCAAiC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,gBAAgB,CAAC,cAAc,CAAC,iBAAiB,gBAAgB,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,mBAAmB,eAAe,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,eAAe,CAAC,uBAAuB,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,kBAAkB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,kBAAkB,iBAAiB,CAAC,qCAAqC,qBAAqB,CAAC,iBAAiB,CAAC,mBAAmB,oBAAoB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,eAAe,CAAC,gCAAgC,wBAAwB,CAAC,yBAAyB,gBAAgB,CAAC,gBAAgB,UAAU,CAAC,wBAAwB,CAAC,oCAAoC,CAAC,cAAc,CAAC,gBAAgB,aAAa,CAAC,UAAU,CAAC,eAAe,iBAAiB,CAAC,oBAAoB,oBAAoB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,aAAa,CAAC,mCAAmC,oBAAoB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,oBAAoB,eAAe,CAAC,mBAAmB,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,qBAAqB,CAAC,2CAA2C,wBAAwB,CAAC,sFAAsF,oBAAoB,CAAC,eAAe,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,2CAA2C,wBAAwB,CAAC,eAAe,CAAC,sBAAsB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,UAAU,CAAC,sBAAsB,6BAA6B,CAAC,qBAAqB,CAAC,WAAW,CAAC,eAAe,CAAC,sBAAsB,CAAC,cAAc,CAAC,WAAW,WAAW,CAAC,qBAAqB,6BAA6B,CAAC,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC,2BAA2B,eAAe,CAAC,0BAA0B,iBAAiB,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,SAAS,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,sBAAsB,CAAC,cAAc,CAAC,gCAAgC,eAAe,CAAC,sDAAsD,wBAAwB,CAAC,oBAAoB,CAAC,2FAA2F,wBAAwB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,+CAA+C,aAAa,CAAC,SAAS,wBAAwB,CAAC,oBAAoB,CAAC,SAAS,qBAAqB,CAAC,oBAAoB,CAAC,UAAU,wBAAwB,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,mCAAmC,wBAAwB,CAAC,mCAAmC,qBAAqB,CAAC,uBAAuB,kBAAkB,CAAC,yBAAyB,oBAAoB,CAAC,aAAa,CAAC,iCAAiC,aAAa,CAAC,sBAAsB,eAAe,CAAC,qBAAqB,eAAe,CAAC,oBAAoB,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,4BAA4B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,6BAA6B,kBAAkB,CAAC,iBAAiB,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,qBAAqB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,UAAU,CAAC,WAAW,aAAa,CAAC,aAAa,aAAa,CAAC,WAAW,aAAa,CAAC,SAAS,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,qBAAqB,CAAC,iBAAiB,qBAAqB,CAAC,eAAe,wBAAwB,CAAC,iBAAiB,wBAAwB,CAAC,eAAe,wBAAwB","sourcesContent":[".d2h-d-none{display:none}.d2h-wrapper{text-align:left}.d2h-file-header{height:35px;padding:5px 10px;border-bottom:1px solid #d8d8d8;background-color:#f7f7f7;font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}.d2h-file-header,.d2h-file-stats{display:-webkit-box;display:-ms-flexbox;display:flex}.d2h-file-stats{margin-left:auto;font-size:14px}.d2h-lines-added{text-align:right;border:1px solid #b4e2b4;border-radius:5px 0 0 5px;color:#399839;padding:2px;vertical-align:middle}.d2h-lines-deleted{text-align:left;border:1px solid #e9aeae;border-radius:0 5px 5px 0;color:#c33;padding:2px;vertical-align:middle;margin-left:1px}.d2h-file-name-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-size:15px}.d2h-file-name{white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden}.d2h-file-wrapper{margin-bottom:1em}.d2h-file-collapse,.d2h-file-wrapper{border:1px solid #ddd;border-radius:3px}.d2h-file-collapse{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;display:none;cursor:pointer;font-size:12px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 8px}.d2h-file-collapse.d2h-selected{background-color:#c8e1ff}.d2h-file-collapse-input{margin:0 4px 0 0}.d2h-diff-table{width:100%;border-collapse:collapse;font-family:Menlo,Consolas,monospace;font-size:13px}.d2h-files-diff{display:block;width:100%}.d2h-file-diff{overflow-y:hidden}.d2h-file-side-diff{display:inline-block;overflow-x:scroll;overflow-y:hidden;width:50%;margin-right:-4px;margin-bottom:-8px}.d2h-code-line{padding:0 8em}.d2h-code-line,.d2h-code-side-line{display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.d2h-code-side-line{padding:0 4.5em}.d2h-code-line-ctn{display:inline-block;background:none;padding:0;word-wrap:normal;white-space:pre;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;width:100%;vertical-align:middle}.d2h-code-line del,.d2h-code-side-line del{background-color:#ffb6ba}.d2h-code-line del,.d2h-code-line ins,.d2h-code-side-line del,.d2h-code-side-line ins{display:inline-block;margin-top:-1px;text-decoration:none;border-radius:.2em;vertical-align:middle}.d2h-code-line ins,.d2h-code-side-line ins{background-color:#97f295;text-align:left}.d2h-code-line-prefix{display:inline;background:none;padding:0;word-wrap:normal;white-space:pre}.line-num1{float:left}.line-num1,.line-num2{-webkit-box-sizing:border-box;box-sizing:border-box;width:3.5em;overflow:hidden;text-overflow:ellipsis;padding:0 .5em}.line-num2{float:right}.d2h-code-linenumber{-webkit-box-sizing:border-box;box-sizing:border-box;width:7.5em;position:absolute;display:inline-block;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px;cursor:pointer}.d2h-code-linenumber:after{content:\"\\200b\"}.d2h-code-side-linenumber{position:absolute;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;width:4em;background-color:#fff;color:rgba(0,0,0,.3);text-align:right;border:solid #eee;border-width:0 1px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;padding:0 .5em}.d2h-code-side-linenumber:after{content:\"\\200b\"}.d2h-code-side-emptyplaceholder,.d2h-emptyplaceholder{background-color:#f1f1f1;border-color:#e1e1e1}.d2h-code-line-prefix,.d2h-code-linenumber,.d2h-code-side-linenumber,.d2h-emptyplaceholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.d2h-code-linenumber,.d2h-code-side-linenumber{direction:rtl}.d2h-del{background-color:#fee8e9;border-color:#e9aeae}.d2h-ins{background-color:#dfd;border-color:#b4e2b4}.d2h-info{background-color:#f8fafd;color:rgba(0,0,0,.3);border-color:#d5e4f2}.d2h-file-diff .d2h-del.d2h-change{background-color:#fdf2d0}.d2h-file-diff .d2h-ins.d2h-change{background-color:#ded}.d2h-file-list-wrapper{margin-bottom:10px}.d2h-file-list-wrapper a{text-decoration:none;color:#3572b0}.d2h-file-list-wrapper a:visited{color:#3572b0}.d2h-file-list-header{text-align:left}.d2h-file-list-title{font-weight:700}.d2h-file-list-line{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.d2h-file-list{display:block;list-style:none;padding:0;margin:0}.d2h-file-list>li{border-bottom:1px solid #ddd;padding:5px 10px;margin:0}.d2h-file-list>li:last-child{border-bottom:none}.d2h-file-switch{display:none;font-size:10px;cursor:pointer}.d2h-icon{vertical-align:middle;margin-right:10px;fill:currentColor}.d2h-deleted{color:#c33}.d2h-added{color:#399839}.d2h-changed{color:#d0b44c}.d2h-moved{color:#3572b0}.d2h-tag{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:10px;margin-left:5px;padding:0 2px;background-color:#fff}.d2h-deleted-tag{border:1px solid #c33}.d2h-added-tag{border:1px solid #399839}.d2h-changed-tag{border:1px solid #d0b44c}.d2h-moved-tag{border:1px solid #3572b0}"],"sourceRoot":""}]); 2167 | // Exports 2168 | /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___); 2169 | 2170 | 2171 | /***/ }), 2172 | 2173 | /***/ 4809: 2174 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 2175 | 2176 | "use strict"; 2177 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4309); 2178 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); 2179 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7239); 2180 | /* harmony import */ var _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); 2181 | // Imports 2182 | 2183 | 2184 | var ___CSS_LOADER_EXPORT___ = _css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default())); 2185 | // Module 2186 | ___CSS_LOADER_EXPORT___.push([module.id, "/*\n\nGoogle Code style (c) Aahan Krish \n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: white;\n color: black;\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #800;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-title,\n.hljs-name {\n color: #008;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n color: #660;\n}\n\n.hljs-string,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-regexp {\n color: #080;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-meta,\n.hljs-number,\n.hljs-link {\n color: #066;\n}\n\n.hljs-title,\n.hljs-doctag,\n.hljs-type,\n.hljs-attr,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-params {\n color: #606;\n}\n\n.hljs-attribute,\n.hljs-subst {\n color: #000;\n}\n\n.hljs-formula {\n background-color: #eee;\n font-style: italic;\n}\n\n.hljs-selector-id,\n.hljs-selector-class {\n color: #9B703F\n}\n\n.hljs-addition {\n background-color: #baeeba;\n}\n\n.hljs-deletion {\n background-color: #ffc8bd;\n}\n\n.hljs-doctag,\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n", "",{"version":3,"sources":["webpack://./node_modules/.pnpm/highlight.js@9.18.5/node_modules/highlight.js/styles/googlecode.css"],"names":[],"mappings":"AAAA;;;;CAIC;;AAED;EACE,cAAc;EACd,gBAAgB;EAChB,cAAc;EACd,iBAAiB;EACjB,YAAY;AACd;;AAEA;;EAEE,WAAW;AACb;;AAEA;;;;;EAKE,WAAW;AACb;;AAEA;;EAEE,WAAW;AACb;;AAEA;;;;EAIE,WAAW;AACb;;AAEA;;;;;;EAME,WAAW;AACb;;AAEA;;;;;;;EAOE,WAAW;AACb;;AAEA;;EAEE,WAAW;AACb;;AAEA;EACE,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;;EAEE;AACF;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;;EAEE,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB","sourcesContent":["/*\n\nGoogle Code style (c) Aahan Krish \n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: white;\n color: black;\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #800;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-title,\n.hljs-name {\n color: #008;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n color: #660;\n}\n\n.hljs-string,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-regexp {\n color: #080;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-meta,\n.hljs-number,\n.hljs-link {\n color: #066;\n}\n\n.hljs-title,\n.hljs-doctag,\n.hljs-type,\n.hljs-attr,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-params {\n color: #606;\n}\n\n.hljs-attribute,\n.hljs-subst {\n color: #000;\n}\n\n.hljs-formula {\n background-color: #eee;\n font-style: italic;\n}\n\n.hljs-selector-id,\n.hljs-selector-class {\n color: #9B703F\n}\n\n.hljs-addition {\n background-color: #baeeba;\n}\n\n.hljs-deletion {\n background-color: #ffc8bd;\n}\n\n.hljs-doctag,\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n"],"sourceRoot":""}]); 2187 | // Exports 2188 | /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___); 2189 | 2190 | 2191 | /***/ }), 2192 | 2193 | /***/ 5984: 2194 | /***/ (function(module, __webpack_exports__, __webpack_require__) { 2195 | 2196 | "use strict"; 2197 | /* harmony import */ var _node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4309); 2198 | /* harmony import */ var _node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); 2199 | /* harmony import */ var _node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7239); 2200 | /* harmony import */ var _node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); 2201 | // Imports 2202 | 2203 | 2204 | var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_5_1_2_webpack_5_24_4_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default())); 2205 | // Module 2206 | ___CSS_LOADER_EXPORT___.push([module.id, "\n.hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n height: 17px;\n}\n.d2h-wrapper {\n position: relative;\n}\n.d2h-wrapper .d2h-file-header {\n display: none;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n display: block;\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line.d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-code-side-linenumber {\n height: 19px;\n}\n", "",{"version":3,"sources":["webpack://./src/lib/code-diff/index.vue"],"names":[],"mappings":";AAoGA;EACA,qBAAA;EACA,UAAA;EACA,uBAAA;EACA,sBAAA;EACA,YAAA;AACA;AAEA;EACA,kBAAA;AACA;AAEA;EACA,aAAA;AACA;AAEA;EACA,kBAAA;AACA;AAEA;EACA,mBAAA;AACA;AAEA;EACA,kBAAA;AACA;AAEA;EACA,gBAAA;AACA;AAEA;;EAEA,cAAA;EACA,WAAA;AACA;AAEA;EACA,YAAA;AACA;AAEA;;EAEA,YAAA;AACA","sourcesContent":["\n\n\n\n\n"],"sourceRoot":""}]); 2207 | // Exports 2208 | /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___); 2209 | 2210 | 2211 | /***/ }), 2212 | 2213 | /***/ 7239: 2214 | /***/ (function(module) { 2215 | 2216 | "use strict"; 2217 | 2218 | 2219 | /* 2220 | MIT License http://www.opensource.org/licenses/mit-license.php 2221 | Author Tobias Koppers @sokra 2222 | */ 2223 | // css base code, injected by the css-loader 2224 | // eslint-disable-next-line func-names 2225 | module.exports = function (cssWithMappingToString) { 2226 | var list = []; // return the list of modules as css string 2227 | 2228 | list.toString = function toString() { 2229 | return this.map(function (item) { 2230 | var content = cssWithMappingToString(item); 2231 | 2232 | if (item[2]) { 2233 | return "@media ".concat(item[2], " {").concat(content, "}"); 2234 | } 2235 | 2236 | return content; 2237 | }).join(""); 2238 | }; // import a list of modules into the list 2239 | // eslint-disable-next-line func-names 2240 | 2241 | 2242 | list.i = function (modules, mediaQuery, dedupe) { 2243 | if (typeof modules === "string") { 2244 | // eslint-disable-next-line no-param-reassign 2245 | modules = [[null, modules, ""]]; 2246 | } 2247 | 2248 | var alreadyImportedModules = {}; 2249 | 2250 | if (dedupe) { 2251 | for (var i = 0; i < this.length; i++) { 2252 | // eslint-disable-next-line prefer-destructuring 2253 | var id = this[i][0]; 2254 | 2255 | if (id != null) { 2256 | alreadyImportedModules[id] = true; 2257 | } 2258 | } 2259 | } 2260 | 2261 | for (var _i = 0; _i < modules.length; _i++) { 2262 | var item = [].concat(modules[_i]); 2263 | 2264 | if (dedupe && alreadyImportedModules[item[0]]) { 2265 | // eslint-disable-next-line no-continue 2266 | continue; 2267 | } 2268 | 2269 | if (mediaQuery) { 2270 | if (!item[2]) { 2271 | item[2] = mediaQuery; 2272 | } else { 2273 | item[2] = "".concat(mediaQuery, " and ").concat(item[2]); 2274 | } 2275 | } 2276 | 2277 | list.push(item); 2278 | } 2279 | }; 2280 | 2281 | return list; 2282 | }; 2283 | 2284 | /***/ }), 2285 | 2286 | /***/ 4309: 2287 | /***/ (function(module) { 2288 | 2289 | "use strict"; 2290 | 2291 | 2292 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 2293 | 2294 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 2295 | 2296 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 2297 | 2298 | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 2299 | 2300 | function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 2301 | 2302 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 2303 | 2304 | module.exports = function cssWithMappingToString(item) { 2305 | var _item = _slicedToArray(item, 4), 2306 | content = _item[1], 2307 | cssMapping = _item[3]; 2308 | 2309 | if (typeof btoa === "function") { 2310 | // eslint-disable-next-line no-undef 2311 | var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); 2312 | var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); 2313 | var sourceMapping = "/*# ".concat(data, " */"); 2314 | var sourceURLs = cssMapping.sources.map(function (source) { 2315 | return "/*# sourceURL=".concat(cssMapping.sourceRoot || "").concat(source, " */"); 2316 | }); 2317 | return [content].concat(sourceURLs).concat([sourceMapping]).join("\n"); 2318 | } 2319 | 2320 | return [content].join("\n"); 2321 | }; 2322 | 2323 | /***/ }), 2324 | 2325 | /***/ 8390: 2326 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2327 | 2328 | "use strict"; 2329 | 2330 | 2331 | var isOldIE = function isOldIE() { 2332 | var memo; 2333 | return function memorize() { 2334 | if (typeof memo === 'undefined') { 2335 | // Test for IE <= 9 as proposed by Browserhacks 2336 | // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 2337 | // Tests for existence of standard globals is to allow style-loader 2338 | // to operate correctly into non-standard environments 2339 | // @see https://github.com/webpack-contrib/style-loader/issues/177 2340 | memo = Boolean(window && document && document.all && !window.atob); 2341 | } 2342 | 2343 | return memo; 2344 | }; 2345 | }(); 2346 | 2347 | var getTarget = function getTarget() { 2348 | var memo = {}; 2349 | return function memorize(target) { 2350 | if (typeof memo[target] === 'undefined') { 2351 | var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself 2352 | 2353 | if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { 2354 | try { 2355 | // This will throw an exception if access to iframe is blocked 2356 | // due to cross-origin restrictions 2357 | styleTarget = styleTarget.contentDocument.head; 2358 | } catch (e) { 2359 | // istanbul ignore next 2360 | styleTarget = null; 2361 | } 2362 | } 2363 | 2364 | memo[target] = styleTarget; 2365 | } 2366 | 2367 | return memo[target]; 2368 | }; 2369 | }(); 2370 | 2371 | var stylesInDom = []; 2372 | 2373 | function getIndexByIdentifier(identifier) { 2374 | var result = -1; 2375 | 2376 | for (var i = 0; i < stylesInDom.length; i++) { 2377 | if (stylesInDom[i].identifier === identifier) { 2378 | result = i; 2379 | break; 2380 | } 2381 | } 2382 | 2383 | return result; 2384 | } 2385 | 2386 | function modulesToDom(list, options) { 2387 | var idCountMap = {}; 2388 | var identifiers = []; 2389 | 2390 | for (var i = 0; i < list.length; i++) { 2391 | var item = list[i]; 2392 | var id = options.base ? item[0] + options.base : item[0]; 2393 | var count = idCountMap[id] || 0; 2394 | var identifier = "".concat(id, " ").concat(count); 2395 | idCountMap[id] = count + 1; 2396 | var index = getIndexByIdentifier(identifier); 2397 | var obj = { 2398 | css: item[1], 2399 | media: item[2], 2400 | sourceMap: item[3] 2401 | }; 2402 | 2403 | if (index !== -1) { 2404 | stylesInDom[index].references++; 2405 | stylesInDom[index].updater(obj); 2406 | } else { 2407 | stylesInDom.push({ 2408 | identifier: identifier, 2409 | updater: addStyle(obj, options), 2410 | references: 1 2411 | }); 2412 | } 2413 | 2414 | identifiers.push(identifier); 2415 | } 2416 | 2417 | return identifiers; 2418 | } 2419 | 2420 | function insertStyleElement(options) { 2421 | var style = document.createElement('style'); 2422 | var attributes = options.attributes || {}; 2423 | 2424 | if (typeof attributes.nonce === 'undefined') { 2425 | var nonce = true ? __webpack_require__.nc : 0; 2426 | 2427 | if (nonce) { 2428 | attributes.nonce = nonce; 2429 | } 2430 | } 2431 | 2432 | Object.keys(attributes).forEach(function (key) { 2433 | style.setAttribute(key, attributes[key]); 2434 | }); 2435 | 2436 | if (typeof options.insert === 'function') { 2437 | options.insert(style); 2438 | } else { 2439 | var target = getTarget(options.insert || 'head'); 2440 | 2441 | if (!target) { 2442 | throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); 2443 | } 2444 | 2445 | target.appendChild(style); 2446 | } 2447 | 2448 | return style; 2449 | } 2450 | 2451 | function removeStyleElement(style) { 2452 | // istanbul ignore if 2453 | if (style.parentNode === null) { 2454 | return false; 2455 | } 2456 | 2457 | style.parentNode.removeChild(style); 2458 | } 2459 | /* istanbul ignore next */ 2460 | 2461 | 2462 | var replaceText = function replaceText() { 2463 | var textStore = []; 2464 | return function replace(index, replacement) { 2465 | textStore[index] = replacement; 2466 | return textStore.filter(Boolean).join('\n'); 2467 | }; 2468 | }(); 2469 | 2470 | function applyToSingletonTag(style, index, remove, obj) { 2471 | var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE 2472 | 2473 | /* istanbul ignore if */ 2474 | 2475 | if (style.styleSheet) { 2476 | style.styleSheet.cssText = replaceText(index, css); 2477 | } else { 2478 | var cssNode = document.createTextNode(css); 2479 | var childNodes = style.childNodes; 2480 | 2481 | if (childNodes[index]) { 2482 | style.removeChild(childNodes[index]); 2483 | } 2484 | 2485 | if (childNodes.length) { 2486 | style.insertBefore(cssNode, childNodes[index]); 2487 | } else { 2488 | style.appendChild(cssNode); 2489 | } 2490 | } 2491 | } 2492 | 2493 | function applyToTag(style, options, obj) { 2494 | var css = obj.css; 2495 | var media = obj.media; 2496 | var sourceMap = obj.sourceMap; 2497 | 2498 | if (media) { 2499 | style.setAttribute('media', media); 2500 | } else { 2501 | style.removeAttribute('media'); 2502 | } 2503 | 2504 | if (sourceMap && typeof btoa !== 'undefined') { 2505 | css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); 2506 | } // For old IE 2507 | 2508 | /* istanbul ignore if */ 2509 | 2510 | 2511 | if (style.styleSheet) { 2512 | style.styleSheet.cssText = css; 2513 | } else { 2514 | while (style.firstChild) { 2515 | style.removeChild(style.firstChild); 2516 | } 2517 | 2518 | style.appendChild(document.createTextNode(css)); 2519 | } 2520 | } 2521 | 2522 | var singleton = null; 2523 | var singletonCounter = 0; 2524 | 2525 | function addStyle(obj, options) { 2526 | var style; 2527 | var update; 2528 | var remove; 2529 | 2530 | if (options.singleton) { 2531 | var styleIndex = singletonCounter++; 2532 | style = singleton || (singleton = insertStyleElement(options)); 2533 | update = applyToSingletonTag.bind(null, style, styleIndex, false); 2534 | remove = applyToSingletonTag.bind(null, style, styleIndex, true); 2535 | } else { 2536 | style = insertStyleElement(options); 2537 | update = applyToTag.bind(null, style, options); 2538 | 2539 | remove = function remove() { 2540 | removeStyleElement(style); 2541 | }; 2542 | } 2543 | 2544 | update(obj); 2545 | return function updateStyle(newObj) { 2546 | if (newObj) { 2547 | if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { 2548 | return; 2549 | } 2550 | 2551 | update(obj = newObj); 2552 | } else { 2553 | remove(); 2554 | } 2555 | }; 2556 | } 2557 | 2558 | module.exports = function (list, options) { 2559 | options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of 58 | -------------------------------------------------------------------------------- /example/src/element-variables.scss: -------------------------------------------------------------------------------- 1 | $--font-path: "element-ui/lib/theme-chalk/fonts"; 2 | 3 | @import "~element-ui/packages/theme-chalk/src/base.scss"; 4 | @import "~element-ui/packages/theme-chalk/src/form.scss"; 5 | @import "~element-ui/packages/theme-chalk/src/form-item.scss"; 6 | @import "~element-ui/packages/theme-chalk/src/button.scss"; 7 | @import "~element-ui/packages/theme-chalk/src/row.scss"; 8 | @import "~element-ui/packages/theme-chalk/src/col.scss"; 9 | @import "~element-ui/packages/theme-chalk/src/input.scss"; 10 | @import "~element-ui/packages/theme-chalk/src/input-number.scss"; 11 | @import "~element-ui/packages/theme-chalk/src/switch.scss"; 12 | -------------------------------------------------------------------------------- /example/src/main.js: -------------------------------------------------------------------------------- 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' 5 | import plugins from './plugins' 6 | import './element-variables.scss' 7 | 8 | Vue.config.productionTip = false 9 | Vue.use(plugins) 10 | /* eslint-disable no-new */ 11 | new Vue({ 12 | el: '#app', 13 | components: { App }, 14 | template: '' 15 | }) 16 | -------------------------------------------------------------------------------- /example/src/plugins.js: -------------------------------------------------------------------------------- 1 | import { 2 | Form, 3 | Row, 4 | Col, 5 | FormItem, 6 | Input, 7 | Switch, 8 | InputNumber, 9 | Button, 10 | Checkbox 11 | } from 'element-ui' 12 | 13 | export default { 14 | install (Vue) { 15 | Vue.use(Form) 16 | Vue.use(Row) 17 | Vue.use(Col) 18 | Vue.use(FormItem) 19 | Vue.use(Input) 20 | Vue.use(Switch) 21 | Vue.use(InputNumber) 22 | Vue.use(Button) 23 | Vue.use(Checkbox) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | vue-code-diff 7 | 8 | 9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./", 4 | "paths": { 5 | "@/*": ["src/*"] 6 | } 7 | }, 8 | "exclude": ["node_modules", "dist"] 9 | } 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-code-diff", 3 | "version": "1.2.0", 4 | "description": "代码比对展示(Code comparison display)", 5 | "author": "ddchef>", 6 | "private": false, 7 | "main": "/dist/vue-code-diff.js", 8 | "typings": "types/index.d.ts", 9 | "keywords": [ 10 | "vue", 11 | "diff", 12 | "code" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/ddchef/vue-code-diff.git" 17 | }, 18 | "scripts": { 19 | "start": "node build/server.js", 20 | "build": "node build/build.js", 21 | "start:example": "cross-env RUN_MODE=example npm run start", 22 | "build:example": "cross-env RUN_MODE=example npm run build", 23 | "analyzer": "node build/build.js analyzer", 24 | "lint": "eslint --ext .js,.vue src --fix" 25 | }, 26 | "dependencies": { 27 | "diff": "^3.5.0", 28 | "diff2html": "^3.3.1", 29 | "highlight.js": "^9.18.5", 30 | "vue": "^2.6.12" 31 | }, 32 | "devDependencies": { 33 | "@babel/core": "^7.13.10", 34 | "@babel/plugin-proposal-class-properties": "^7.13.0", 35 | "@babel/plugin-proposal-optional-chaining": "^7.13.8", 36 | "@babel/plugin-syntax-jsx": "^7.12.13", 37 | "@babel/plugin-transform-async-to-generator": "^7.13.0", 38 | "@babel/plugin-transform-runtime": "^7.13.10", 39 | "@babel/runtime": "^7.13.10", 40 | "@babel/runtime-corejs3": "^7.13.10", 41 | "@commitlint/cli": "^11.0.0", 42 | "@commitlint/config-conventional": "^11.0.0", 43 | "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", 44 | "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", 45 | "@vue/babel-preset-app": "^4.5.11", 46 | "@vue/cli-plugin-babel": "^4.5.11", 47 | "@vue/composition-api": "^1.0.0-rc.5", 48 | "autoprefixer": "^10.2.5", 49 | "babel-loader": "^8.2.2", 50 | "babel-plugin-import": "^1.13.3", 51 | "babel-plugin-syntax-async-functions": "^6.13.0", 52 | "chalk": "^4.1.0", 53 | "clean-webpack-plugin": "^3.0.0", 54 | "core-js": "^3.9.1", 55 | "cross-env": "^7.0.3", 56 | "css-loader": "^5.1.2", 57 | "dart-sass": "^1.25.0", 58 | "element-ui": "^2.15.1", 59 | "eslint": "^7.21.0", 60 | "eslint-config-standard": "^16.0.2", 61 | "eslint-import-resolver-webpack": "^0.13.0", 62 | "eslint-loader": "^4.0.2", 63 | "eslint-plugin-import": "^2.22.1", 64 | "eslint-plugin-jsx-a11y": "^6.4.1", 65 | "eslint-plugin-node": "^11.1.0", 66 | "eslint-plugin-promise": "^4.3.1", 67 | "eslint-plugin-react": "^7.22.0", 68 | "eslint-plugin-vue": "^7.7.0", 69 | "eslint-webpack-plugin": "^2.5.2", 70 | "file-loader": "^6.2.0", 71 | "friendly-errors-webpack-plugin": "^1.7.0", 72 | "html-webpack-plugin": "^5.3.1", 73 | "husky": "^4.3.8", 74 | "iview-loader": "^1.3.0", 75 | "less": "3.0.4", 76 | "less-loader": "5.0.0", 77 | "mini-css-extract-plugin": "^1.3.9", 78 | "ora": "^5.3.0", 79 | "portfinder": "^1.0.28", 80 | "postcss": "^8.2.8", 81 | "postcss-import": "^14.0.2", 82 | "postcss-loader": "^4.2.0", 83 | "postcss-url": "^10.1.3", 84 | "progress": "^2.0.3", 85 | "progress-bar-webpack-plugin": "^2.1.0", 86 | "sass": "^1.32.8", 87 | "sass-loader": "^10.1.1", 88 | "sass-resources-loader": "^2.1.1", 89 | "style-loader": "^2.0.0", 90 | "stylelint": "^13.12.0", 91 | "stylelint-config-standard": "^20.0.0", 92 | "stylelint-webpack-plugin": "^2.1.1", 93 | "thread-loader": "^3.0.1", 94 | "url-loader": "^4.1.1", 95 | "vue-loader": "^15.9.6", 96 | "vue-style-loader": "^4.1.3", 97 | "vue-template-compiler": "^2.6.12", 98 | "webpack": "^5.24.4", 99 | "webpack-bundle-analyzer": "^4.4.0", 100 | "webpack-chain": "^6.5.1", 101 | "webpack-cli": "^4.5.0", 102 | "webpack-dev-server": "^3.11.2" 103 | }, 104 | "engines": { 105 | "node": ">= 6.0.0", 106 | "npm": ">= 3.0.0" 107 | }, 108 | "browserslist": [ 109 | "> 1%", 110 | "last 2 versions", 111 | "not ie <= 8" 112 | ], 113 | "husky": { 114 | "hooks": { 115 | "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", 116 | "pre-commit": "eslint --ext .js,.vue src" 117 | } 118 | }, 119 | "license": "MIT" 120 | } 121 | -------------------------------------------------------------------------------- /prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | baseUrl: '/' 3 | } 4 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 111 | 112 | 159 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddchef/vue-code-diff/354c58adcb990a330d1943f6964de44b14ab06cf/src/assets/logo.png -------------------------------------------------------------------------------- /src/lib/code-diff/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 99 | 100 | 148 | -------------------------------------------------------------------------------- /src/lib/index.js: -------------------------------------------------------------------------------- 1 | import codeDiff from './code-diff' 2 | 3 | /* istanbul ignore next */ 4 | codeDiff.install = function (Vue) { 5 | Vue.component(codeDiff.name, codeDiff) 6 | } 7 | 8 | export default codeDiff 9 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 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' 5 | import ElementUI from 'element-ui' 6 | import 'element-ui/lib/theme-chalk/index.css' 7 | 8 | Vue.config.productionTip = false 9 | Vue.use(ElementUI) 10 | /* eslint-disable no-new */ 11 | new Vue({ 12 | el: '#app', 13 | components: { App }, 14 | template: '' 15 | }) 16 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddchef/vue-code-diff/354c58adcb990a330d1943f6964de44b14ab06cf/static/.gitkeep -------------------------------------------------------------------------------- /test/e2e/custom-assertions/elementCount.js: -------------------------------------------------------------------------------- 1 | // A custom Nightwatch assertion. 2 | // The assertion name is the filename. 3 | // Example usage: 4 | // 5 | // browser.assert.elementCount(selector, count) 6 | // 7 | // For more information on custom assertions see: 8 | // http://nightwatchjs.org/guide#writing-custom-assertions 9 | 10 | exports.assertion = function (selector, count) { 11 | this.message = 'Testing if element <' + selector + '> has count: ' + count 12 | this.expected = count 13 | this.pass = function (val) { 14 | return val === this.expected 15 | } 16 | this.value = function (res) { 17 | return res.value 18 | } 19 | this.command = function (cb) { 20 | var self = this 21 | return this.api.execute(function (selector) { 22 | return document.querySelectorAll(selector).length 23 | }, [selector], function (res) { 24 | cb.call(self, res) 25 | }) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/e2e/nightwatch.conf.js: -------------------------------------------------------------------------------- 1 | require('babel-register') 2 | var config = require('../../config') 3 | 4 | // http://nightwatchjs.org/gettingstarted#settings-file 5 | module.exports = { 6 | src_folders: ['test/e2e/specs'], 7 | output_folder: 'test/e2e/reports', 8 | custom_assertions_path: ['test/e2e/custom-assertions'], 9 | 10 | selenium: { 11 | start_process: true, 12 | server_path: require('selenium-server').path, 13 | host: '127.0.0.1', 14 | port: 4444, 15 | cli_args: { 16 | 'webdriver.chrome.driver': require('chromedriver').path 17 | } 18 | }, 19 | 20 | test_settings: { 21 | default: { 22 | selenium_port: 4444, 23 | selenium_host: 'localhost', 24 | silent: true, 25 | globals: { 26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port) 27 | } 28 | }, 29 | 30 | chrome: { 31 | desiredCapabilities: { 32 | browserName: 'chrome', 33 | javascriptEnabled: true, 34 | acceptSslCerts: true 35 | } 36 | }, 37 | 38 | firefox: { 39 | desiredCapabilities: { 40 | browserName: 'firefox', 41 | javascriptEnabled: true, 42 | acceptSslCerts: true 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /test/e2e/runner.js: -------------------------------------------------------------------------------- 1 | // 1. start the dev server using production config 2 | process.env.NODE_ENV = 'testing' 3 | 4 | const webpack = require('webpack') 5 | const DevServer = require('webpack-dev-server') 6 | 7 | const webpackConfig = require('../../build/webpack.prod.conf') 8 | const devConfigPromise = require('../../build/webpack.dev.conf') 9 | 10 | let server 11 | 12 | devConfigPromise.then(devConfig => { 13 | const devServerOptions = devConfig.devServer 14 | const compiler = webpack(webpackConfig) 15 | server = new DevServer(compiler, devServerOptions) 16 | const port = devServerOptions.port 17 | const host = devServerOptions.host 18 | return server.listen(port, host) 19 | }) 20 | .then(() => { 21 | // 2. run the nightwatch test suite against it 22 | // to run in additional browsers: 23 | // 1. add an entry in test/e2e/nightwatch.conf.js under "test_settings" 24 | // 2. add it to the --env flag below 25 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox` 26 | // For more information on Nightwatch's config file, see 27 | // http://nightwatchjs.org/guide#settings-file 28 | let opts = process.argv.slice(2) 29 | if (opts.indexOf('--config') === -1) { 30 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js']) 31 | } 32 | if (opts.indexOf('--env') === -1) { 33 | opts = opts.concat(['--env', 'chrome']) 34 | } 35 | 36 | const spawn = require('cross-spawn') 37 | const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' }) 38 | 39 | runner.on('exit', function (code) { 40 | server.close() 41 | process.exit(code) 42 | }) 43 | 44 | runner.on('error', function (err) { 45 | server.close() 46 | throw err 47 | }) 48 | }) 49 | -------------------------------------------------------------------------------- /test/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // For authoring Nightwatch tests, see 2 | // http://nightwatchjs.org/guide#usage 3 | 4 | module.exports = { 5 | 'default e2e tests': function (browser) { 6 | // automatically uses dev Server port from /config.index.js 7 | // default: http://localhost:8080 8 | // see nightwatch.conf.js 9 | const devServer = browser.globals.devServerURL 10 | 11 | browser 12 | .url(devServer) 13 | .waitForElementVisible('#app', 5000) 14 | .assert.elementPresent('.hello') 15 | .assert.containsText('h1', 'Welcome to Your Vue.js App') 16 | .assert.elementCount('img', 1) 17 | .end() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/unit/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | }, 5 | "globals": { 6 | "expect": true, 7 | "sinon": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/unit/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | Vue.config.productionTip = false 4 | 5 | // require all test files (files that ends with .spec.js) 6 | const testsContext = require.context('./specs', true, /\.spec$/) 7 | testsContext.keys().forEach(testsContext) 8 | 9 | // require all src files except main.js for coverage. 10 | // you can also change this to match only the subset of files that 11 | // you want coverage for. 12 | const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) 13 | srcContext.keys().forEach(srcContext) 14 | -------------------------------------------------------------------------------- /test/unit/karma.conf.js: -------------------------------------------------------------------------------- 1 | // This is a karma config file. For more details see 2 | // http://karma-runner.github.io/0.13/config/configuration-file.html 3 | // we are also using it with karma-webpack 4 | // https://github.com/webpack/karma-webpack 5 | 6 | var webpackConfig = require('../../build/webpack.test.conf') 7 | 8 | module.exports = function karmaConfig (config) { 9 | config.set({ 10 | // to run in additional browsers: 11 | // 1. install corresponding karma launcher 12 | // http://karma-runner.github.io/0.13/config/browsers.html 13 | // 2. add it to the `browsers` array below. 14 | browsers: ['PhantomJS'], 15 | frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'], 16 | reporters: ['spec', 'coverage'], 17 | files: ['./index.js'], 18 | preprocessors: { 19 | './index.js': ['webpack', 'sourcemap'] 20 | }, 21 | webpack: webpackConfig, 22 | webpackMiddleware: { 23 | noInfo: true 24 | }, 25 | coverageReporter: { 26 | dir: './coverage', 27 | reporters: [ 28 | { type: 'lcov', subdir: '.' }, 29 | { type: 'text-summary' } 30 | ] 31 | } 32 | }) 33 | } 34 | -------------------------------------------------------------------------------- /test/unit/specs/HelloWorld.spec.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import HelloWorld from '@/components/HelloWorld' 3 | 4 | describe('HelloWorld.vue', () => { 5 | it('should render correct contents', () => { 6 | const Constructor = Vue.extend(HelloWorld) 7 | const vm = new Constructor().$mount() 8 | expect(vm.$el.querySelector('.hello h1').textContent) 9 | .to.equal('Welcome to Your Vue.js App') 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- 1 | export interface CodeDiffInterface { 2 | oldString: string 3 | newString: string 4 | context: number 5 | outputFormat: 'side-by-side' | 'line-by-line' 6 | drawFileList: boolean 7 | renderNothingWhenEmpty: boolean 8 | diffStyle: 'word' | 'char' 9 | fileName: string 10 | isShowNoChange: boolean 11 | } 12 | --------------------------------------------------------------------------------