├── .eslintignore ├── .npmrc ├── src ├── vite-env.d.ts ├── images │ ├── icon.png │ └── logo.png ├── chrome │ ├── images │ │ └── icon.png │ ├── background.js │ └── manifest.json ├── components │ ├── option │ │ ├── Option.less │ │ ├── type.d.ts │ │ └── Option.tsx │ ├── editor │ │ ├── type.d.ts │ │ ├── Editor.less │ │ └── Editor.tsx │ └── toolbar │ │ ├── type.d.ts │ │ ├── Toolbar.less │ │ └── Toolbar.tsx ├── main.tsx ├── index.css ├── core │ ├── util.ts │ ├── type.d.ts │ ├── option.ts │ ├── sql.ts │ └── gostruct.ts ├── App.less ├── demo.sql └── App.tsx ├── .prettierrc ├── tsconfig.node.json ├── .gitignore ├── index.html ├── vite.config.ts ├── tsconfig.json ├── .eslintrc.js ├── package.json ├── README-CN.md ├── README.md └── pnpm-lock.yaml /.eslintignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /dist -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/sql2struct/HEAD/src/images/icon.png -------------------------------------------------------------------------------- /src/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/sql2struct/HEAD/src/images/logo.png -------------------------------------------------------------------------------- /src/chrome/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/sql2struct/HEAD/src/chrome/images/icon.png -------------------------------------------------------------------------------- /src/components/option/Option.less: -------------------------------------------------------------------------------- 1 | .semi-modal-small { 2 | width: 600px; 3 | } 4 | 5 | .tip { 6 | margin: 10px auto; 7 | } 8 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "tabWidth": 2, 4 | "singleQuote": true, 5 | "trailingComma": "es5", 6 | "printWidth": 140 7 | } 8 | -------------------------------------------------------------------------------- /src/components/editor/type.d.ts: -------------------------------------------------------------------------------- 1 | export declare interface EditorProps { 2 | codeLanguage: string 3 | code: string 4 | placeholder?: string 5 | onChange?: (string) => void 6 | } 7 | -------------------------------------------------------------------------------- /src/components/editor/Editor.less: -------------------------------------------------------------------------------- 1 | .editor { 2 | height: 100%; 3 | 4 | .cm-theme, 5 | .cm-theme-light { 6 | height: 100%; 7 | border: 1px solid #999; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /src/chrome/background.js: -------------------------------------------------------------------------------- 1 | chrome.runtime.onInstalled.addListener((e) => { 2 | chrome.tabs.create({ 3 | url: 'index.html', 4 | }) 5 | }) 6 | 7 | chrome.action.onClicked.addListener((tab) => { 8 | chrome.tabs.create({ 9 | url: 'index.html', 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /src/components/toolbar/type.d.ts: -------------------------------------------------------------------------------- 1 | import { kv } from '../../core/type' 2 | 3 | export declare interface ToolbarProps { 4 | languages: kv 5 | options?: kv 6 | optionValues?: string[] 7 | optionOnChange?: (value: string[]) => void 8 | buttons?: JSX.Element 9 | } 10 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')!).render( 7 | 8 | 9 | 10 | ) 11 | -------------------------------------------------------------------------------- /src/components/option/type.d.ts: -------------------------------------------------------------------------------- 1 | import { kv } from '../../core/type' 2 | 3 | export declare interface OptionProps { 4 | isShow: boolean 5 | specialIdentifiers?: Array 6 | fieldMaps?: kv 7 | onConfirm?: (specialIdentifiers, fieldMaps) => void 8 | onCancel?: () => void 9 | } 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 4 | 'Helvetica Neue', sans-serif; 5 | -webkit-font-smoothing: antialiased; 6 | -moz-osx-font-smoothing: grayscale; 7 | } 8 | 9 | code { 10 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; 11 | } 12 | -------------------------------------------------------------------------------- /src/components/toolbar/Toolbar.less: -------------------------------------------------------------------------------- 1 | .toolbar { 2 | position: relative; 3 | margin: 16px 0; 4 | display: flex; 5 | } 6 | 7 | .buttons { 8 | position: absolute; 9 | right: 10px; 10 | bottom: -4px; 11 | } 12 | 13 | .languages { 14 | margin-right: 10px; 15 | 16 | select { 17 | min-width: 100px; 18 | } 19 | } 20 | 21 | .semi-checkboxGroup-horizontal .semi-checkbox { 22 | margin-right: 8px; 23 | } 24 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | sql2struct - transfer sql statement to go struct 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/core/util.ts: -------------------------------------------------------------------------------- 1 | // uppercase first character 2 | export const titleCase = (str: string): string => { 3 | return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()) 4 | } 5 | 6 | // underline case to camel case 7 | export const camelCase = (str: string): string => { 8 | const arr = str.toLowerCase().split('_') 9 | const camelArr: Array = [] 10 | 11 | arr.map((item: string): string => { 12 | camelArr.push(titleCase(item)) 13 | 14 | return item 15 | }) 16 | 17 | return camelArr.join('') 18 | } 19 | -------------------------------------------------------------------------------- /src/App.less: -------------------------------------------------------------------------------- 1 | .app { 2 | } 3 | 4 | .wrapper { 5 | width: 90%; 6 | margin: 0 auto; 7 | } 8 | 9 | .header { 10 | height: 130px; 11 | 12 | .logo { 13 | padding: 5px 0; 14 | } 15 | 16 | .logo img { 17 | width: 240px; 18 | margin-left: -10px; 19 | } 20 | 21 | .github { 22 | margin-left: 10px; 23 | vertical-align: middle; 24 | } 25 | } 26 | 27 | .main { 28 | display: flex; 29 | height: 70vh; 30 | position: relative; 31 | } 32 | 33 | .sqlarea { 34 | width: 50%; 35 | } 36 | 37 | .structarea { 38 | width: 50%; 39 | 40 | .editor { 41 | .cm-theme, 42 | .cm-theme-light { 43 | border-left: none; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/chrome/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sql2struct", 3 | "description": "a developer-friendly tool for transfering sql to go struct.", 4 | "version": "2.0.0", 5 | "manifest_version": 3, 6 | "icons": { 7 | "16": "images/icon.png", 8 | "32": "images/icon.png", 9 | "48": "images/icon.png", 10 | "128": "images/icon.png" 11 | }, 12 | "background": { 13 | "service_worker": "background.js" 14 | }, 15 | "action": { 16 | "default_title": "sql2struct", 17 | "default_icon": { 18 | "16": "images/icon.png", 19 | "32": "images/icon.png", 20 | "48": "images/icon.png", 21 | "128": "images/icon.png" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import react from '@vitejs/plugin-react'; 2 | import { defineConfig } from 'vite'; 3 | import { viteStaticCopy } from 'vite-plugin-static-copy'; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig(({ command, mode }) => { 7 | let outDir = 'dist/web' 8 | let plugins = [react()] 9 | 10 | if (mode === 'chrome') { 11 | outDir = 'dist/chrome' 12 | plugins.push(viteStaticCopy({ 13 | targets: [ 14 | { 15 | src: 'src/chrome/*', 16 | dest: '' 17 | } 18 | ] 19 | })) 20 | } 21 | 22 | return { 23 | build: { 24 | outDir: outDir 25 | }, 26 | plugins: [ 27 | react(), 28 | plugins, 29 | ], 30 | } 31 | }) 32 | -------------------------------------------------------------------------------- /src/core/type.d.ts: -------------------------------------------------------------------------------- 1 | // declare custom type: kv 2 | export declare interface kv { 3 | [key: string]: string 4 | } 5 | 6 | // declare sql field 7 | export declare interface SqlField { 8 | name: string 9 | type: string 10 | comment?: string 11 | attributes?: string 12 | } 13 | 14 | // declare sql table 15 | export declare interface SqlTable { 16 | name: string 17 | fields: Array 18 | comment?: string 19 | } 20 | 21 | // declare go struct field 22 | export declare interface GoStructField { 23 | name: string 24 | type: string 25 | comment?: string 26 | tags?: kv 27 | } 28 | 29 | // declare go struct 30 | export declare interface GoStruct { 31 | name: string 32 | fields: Array 33 | comment?: string 34 | } 35 | -------------------------------------------------------------------------------- /src/components/editor/Editor.tsx: -------------------------------------------------------------------------------- 1 | import { rust } from '@codemirror/lang-rust' 2 | import { sql } from '@codemirror/lang-sql' 3 | import { eclipse } from '@uiw/codemirror-theme-eclipse' 4 | import CodeMirror from '@uiw/react-codemirror' 5 | import './Editor.less' 6 | import { EditorProps } from './type.d' 7 | 8 | export default (props: EditorProps) => { 9 | const { codeLanguage, code, placeholder, onChange } = props 10 | 11 | return ( 12 |
13 | 21 |
22 | ) 23 | } 24 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "ES2015", 5 | "lib": ["esnext", "dom"], 6 | "strict": true, 7 | "experimentalDecorators": true, 8 | "sourceMap": true, 9 | "moduleResolution": "node", 10 | "forceConsistentCasingInFileNames": true, 11 | "noUnusedLocals": true, 12 | "esModuleInterop": true, 13 | "noFallthroughCasesInSwitch": true, 14 | "noUnusedParameters": true, 15 | "noEmit": true, 16 | "skipLibCheck": true, 17 | "rootDir": "src", 18 | "baseUrl": ".", 19 | "allowJs": true, 20 | "jsx": "react-jsx" 21 | }, 22 | "ts-node": { 23 | "transpileOnly": true, 24 | "compilerOptions": { 25 | "module": "commonjs" 26 | } 27 | }, 28 | "include": ["src"], 29 | "exclude": ["node_modules"] 30 | } 31 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['eslint-config-airbnb-base', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], 3 | parser: '@typescript-eslint/parser', 4 | plugins: ['@typescript-eslint'], 5 | rules: { 6 | 'import/extensions': 'off', 7 | 'no-use-before-define': 'off', 8 | '@typescript-eslint/no-use-before-define': ['error', { ignoreTypeReferences: true }], 9 | 'no-prototype-builtins': 'off', 10 | 'import/prefer-default-export': 'off', 11 | 'no-restricted-syntax': 0, 12 | }, 13 | settings: { 14 | 'import/resolver': { 15 | node: { 16 | extensions: ['.js', '.jsx', '.ts', '.tsx'], 17 | moduleDirectory: ['node_modules', './src'], 18 | }, 19 | }, 20 | }, 21 | parserOptions: { 22 | project: './tsconfig.json', 23 | }, 24 | } 25 | -------------------------------------------------------------------------------- /src/core/option.ts: -------------------------------------------------------------------------------- 1 | import { kv } from './type' 2 | 3 | // default sql to go struct field maps 4 | export const defaultFieldMaps: kv = { 5 | tinyint: 'int8', 6 | smallint: 'int16', 7 | mediumint: 'int32', 8 | int: 'int64', 9 | bigint: 'int64', 10 | float: 'float32', 11 | double: 'float64', 12 | decimal: 'float64', 13 | char: 'string', 14 | varchar: 'string', 15 | tinytext: 'string', 16 | text: 'string', 17 | mediumtext: 'string', 18 | longtext: 'string', 19 | time: 'time.Time', 20 | date: 'time.Time', 21 | datetime: 'time.Time', 22 | timestamp: 'int64', 23 | enum: 'string', 24 | set: 'string', 25 | blob: 'string', 26 | } 27 | 28 | // default go struct options 29 | export const defaultGoStructOptions: kv = { 30 | json: 'on', 31 | xml: 'off', 32 | db: 'off', 33 | gorm: 'off', 34 | xorm: 'off', 35 | mapstructure: 'off', 36 | } 37 | 38 | // default go struct tags 39 | export const defaultGoStructTags: Array = ['json'] 40 | 41 | // default special identifiers 42 | export const defaultSpecialIdentifiers: Array = ['id', 'api', 'url', 'uri'] 43 | -------------------------------------------------------------------------------- /src/demo.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE `system_user` ( 2 | `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键id', 3 | `username` varchar(50) NOT NULL DEFAULT '' COMMENT '登录用户名', 4 | `password` varchar(255) NOT NULL DEFAULT '' COMMENT '登录密码', 5 | `salt` varchar(50) NOT NULL DEFAULT '' COMMENT '密码盐值', 6 | `email` varchar(50) NOT NULL DEFAULT '' COMMENT '邮箱', 7 | `openid` varchar(50) NOT NULL DEFAULT '' COMMENT '微信标识', 8 | `phone` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号', 9 | `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '注册方式', 10 | `created_at` int(10) NOT NULL DEFAULT '0' COMMENT '注册时间', 11 | `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态', 12 | `nickname` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称', 13 | `avatar_url` varchar(255) NOT NULL DEFAULT '' COMMENT '头像', 14 | `gender` tinyint(1) NOT NULL DEFAULT '0' COMMENT '性别', 15 | `updated_at` int(10) NOT NULL DEFAULT '0' COMMENT '更新时间', 16 | `role_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户角色', 17 | PRIMARY KEY (`id`), 18 | KEY `UsernameIndex` (`username`), 19 | KEY `EmailIndex` (`email`), 20 | KEY `PhoneIndex` (`phone`), 21 | KEY `OpenidIndex` (`openid`) 22 | ) ENGINE=InnoDB AUTO_INCREMENT=652 DEFAULT CHARSET=utf8mb4 COMMENT='用户表' -------------------------------------------------------------------------------- /src/components/toolbar/Toolbar.tsx: -------------------------------------------------------------------------------- 1 | import { CheckboxGroup } from '@douyinfe/semi-ui' 2 | import { ReactNode } from 'react' 3 | import './Toolbar.less' 4 | import { ToolbarProps } from './type.d' 5 | 6 | export default (props: ToolbarProps) => { 7 | const { languages, options, optionValues, optionOnChange, buttons } = props 8 | 9 | const checkboxOptions: any[] = [] 10 | if (options) { 11 | Object.keys(options).forEach((key) => { 12 | checkboxOptions.push({ 13 | label: key, 14 | value: key, 15 | }) 16 | }) 17 | } 18 | 19 | return ( 20 |
21 |
22 | 31 |
32 |
33 | 34 |
35 |
{buttons}
36 |
37 | ) 38 | } 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sql2struct", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "tsc && vite build --mode=web", 8 | "build:web": "tsc && vite build --mode=web", 9 | "build:chrome": "tsc && vite build --mode=chrome", 10 | "lint": "eslint 'src/**/*.{js,ts}' --fix" 11 | }, 12 | "dependencies": { 13 | "@codemirror/lang-json": "^6.0.0", 14 | "@codemirror/lang-rust": "^6.0.0", 15 | "@codemirror/lang-sql": "^6.0.0", 16 | "@douyinfe/semi-icons": "^2.13.0", 17 | "@douyinfe/semi-ui": "^2.13.0", 18 | "@uiw/codemirror-theme-eclipse": "^4.9.4", 19 | "@uiw/react-codemirror": "^4.9.4", 20 | "react": "^18.2.0", 21 | "react-dom": "^18.2.0" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "^18.0.0", 25 | "@types/react": "^18.0.14", 26 | "@types/react-dom": "^18.0.5", 27 | "@typescript-eslint/eslint-plugin": "^5.29.0", 28 | "@typescript-eslint/parser": "^5.29.0", 29 | "@vitejs/plugin-react": "^1.3.2", 30 | "eslint": "^8.18.0", 31 | "eslint-config-airbnb-base": "^15.0.0", 32 | "eslint-config-airbnb-typescript": "^17.0.0", 33 | "eslint-config-prettier": "^8.5.0", 34 | "eslint-plugin-import": "^2.26.0", 35 | "eslint-plugin-n": "^15.2.3", 36 | "eslint-plugin-prettier": "^4.0.0", 37 | "eslint-plugin-promise": "^6.0.0", 38 | "eslint-plugin-react": "^7.30.1", 39 | "less": "^4.1.3", 40 | "prettier": "^2.7.1", 41 | "prop-types": "15.7.2", 42 | "ts-node": "^10.8.1", 43 | "typescript": "^4.7.4", 44 | "vite": "^2.9.12", 45 | "vite-plugin-static-copy": "^0.6.0" 46 | } 47 | } -------------------------------------------------------------------------------- /README-CN.md: -------------------------------------------------------------------------------- 1 | # sql2struct 2 | 3 | SQL2Struct 是一个可以将 SQL 语句转换成 Go struct 的工具。 4 | 5 | ## 在线使用 6 | 7 | 点击 [sql2struct 在线版](https://dou.tools/sql2struct/) 进行使用 8 | 9 | ## 作为 Chrome 插件使用 10 | 11 | 1. 使用源码安装 sql2struct 12 | 13 | ```shell 14 | git clone https://github.com/idoubi/sql2struct.git 15 | cd sql2struct 16 | pnpm install 17 | ``` 18 | 19 | 2. 构建 Chrome 插件代码 20 | 21 | ```shell 22 | pnpm build:chrome 23 | ``` 24 | 25 | 3. 本地安装 Chrome 插件 26 | 27 | Chrome 浏览器打开 [chrome://extensions/](chrome://extensions/) 28 | 29 | 点击”加载已解压的扩展程序“,选择 sql2struct 根目录下的 `dist/chrome` 文件夹 30 | 31 | ## 本地部署使用 32 | 33 | 1. 使用源码安装 sql2struct 34 | 35 | ```shell 36 | git clone https://github.com/idoubi/sql2struct.git 37 | cd sql2struct 38 | pnpm install 39 | ``` 40 | 41 | 2. 预览 42 | 43 | ```shell 44 | pnpm dev 45 | ``` 46 | 47 | 3. 构建 48 | 49 | ```shell 50 | pnpm build 51 | 52 | # or 53 | 54 | pnpm build:web 55 | ``` 56 | 57 | ## 如何使用 58 | 59 | 1. 打开数据库客户端,执行 `show create table xxx\G;` 导出 SQL 建表数据 60 | 61 | ![20220626221324](https://blogcdn.idoustudio.com/blog/20220626221324.png) 62 | 63 | 2. 粘贴 SQL 建表语句至 sql2struct 左侧的输入框 64 | 65 | ![20220626222145](https://blogcdn.idoustudio.com/blog/20220626222145.png) 66 | 67 | 粘贴完 SQL 建表语句后,右侧输入框自动生成转换后的 Go struct 代码,复制粘贴到 Go 项目中使用即可 68 | 69 | 3. 转换配置项 70 | 71 | 默认情况下,转换成的 Go struct 会带有一个 json 标签。你也可以勾选其他标签。目前支持 json、xml、gorm、xorm、mapstruct 等标签。 72 | 73 | ![20220626222618](https://blogcdn.idoustudio.com/blog/20220626222618.png) 74 | 75 | 点击 Options 按钮,进入设置页面 76 | 77 | 在 Special Identifiers 配置项,你可以自定义需要全部转换成大写的关键词。 78 | 79 | ![20220626222854](https://blogcdn.idoustudio.com/blog/20220626222854.png) 80 | 81 | 在 Fiedl Maps 配置项,你可以自定义 SQL 字段与 Go struct 字段的映射关系。 82 | 83 | ![20220626222912](https://blogcdn.idoustudio.com/blog/20220626222912.png) 84 | 85 | ## 其他 86 | 87 | 欢迎在 Github Issues 提交反馈,欢迎 fork 源码,参与共建。 88 | 89 | 有任何问题你也可以通过邮件联系我: . 90 | -------------------------------------------------------------------------------- /src/components/option/Option.tsx: -------------------------------------------------------------------------------- 1 | import { json } from '@codemirror/lang-json' 2 | import { Modal, TabPane, Tabs, TagInput } from '@douyinfe/semi-ui' 3 | import CodeMirror from '@uiw/react-codemirror' 4 | import { useState } from 'react' 5 | import './Option.less' 6 | import { OptionProps } from './type.d' 7 | 8 | export default (props: OptionProps) => { 9 | const { isShow, specialIdentifiers, fieldMaps, onConfirm, onCancel } = props 10 | 11 | const [identifiers, setIdentifiers] = useState(specialIdentifiers) 12 | const [fieldMapsJson, setFieldMapsJson] = useState(JSON.stringify(fieldMaps, null, 4)) 13 | 14 | const optionEle: JSX.Element = ( 15 | 16 | Special Identifiers} itemKey="1"> 17 |
18 |
Special identifiers those will be UpperCased when transfered to go struct fields
19 |
20 | setIdentifiers(v)} /> 21 |
22 |
23 |
24 | Field Maps} itemKey="2"> 25 |
26 |
Default map rule between sql field type and go struct field type
27 | setFieldMapsJson(v)} extensions={[json()]} height="100%" /> 28 |
29 |
30 |
31 | ) 32 | 33 | return ( 34 | { 39 | if (onConfirm) { 40 | onConfirm(identifiers, JSON.parse(fieldMapsJson)) 41 | } 42 | }} 43 | onCancel={() => { 44 | if (onCancel) { 45 | onCancel() 46 | } 47 | }} 48 | bodyStyle={{ overflow: 'auto', height: 560 }} 49 | hasCancel={false} 50 | okText="Submit" 51 | > 52 | {optionEle} 53 | 54 | ) 55 | } 56 | -------------------------------------------------------------------------------- /src/core/sql.ts: -------------------------------------------------------------------------------- 1 | import { SqlField, SqlTable } from './type' 2 | 3 | // preg match table name from sql statement 4 | export const pregTableName = (sql: string): string | null => { 5 | const reg = /create\s+table\s+`(.+)`/gi 6 | const res = reg.exec(sql) 7 | 8 | if (!res || res.length < 2) { 9 | return null 10 | } 11 | 12 | return res[1] 13 | } 14 | 15 | // preg mat table comment from sql statement 16 | export const pregTableComment = (sql: string): string | null => { 17 | const reg = /\)\s*[engine|charset]?.*comment\s*=\s*'(.*)'/gi 18 | const res = reg.exec(sql) 19 | 20 | if (!res || res.length < 2) { 21 | return null 22 | } 23 | 24 | return res[1] 25 | } 26 | 27 | // preg match table fields from sql statement 28 | export const pregTableFields = (sql: string): Array | null => { 29 | const reg = 30 | /`(.+)`\s+(tinyint|smallint|int|mediumint|bigint|float|double|decimal|varchar|char|tinytext|text|mediumtext|longtext|datetime|time|date|enum|set|blob|timestamp){1}(.*)/gi 31 | const res = sql.matchAll(reg) 32 | 33 | if (!res) { 34 | return null 35 | } 36 | 37 | const fields: Array = [] 38 | 39 | for (const item of res) { 40 | if (item && item.length >= 4) { 41 | const field: SqlField = { 42 | name: item[1], 43 | type: item[2], 44 | attributes: item[3], 45 | } 46 | 47 | const comment = /comment\s+'(.*)'/i.exec(item[3]) 48 | if (comment && comment.length > 1) { 49 | ;[, field.comment] = comment 50 | } 51 | 52 | fields.push(field) 53 | } 54 | } 55 | 56 | return fields 57 | } 58 | 59 | // preg match sql statement to get sql table 60 | export const pregSqlStatement = (sql: string): SqlTable | null => { 61 | const tableName = pregTableName(sql) 62 | if (!tableName) { 63 | return null 64 | } 65 | 66 | const tableFields = pregTableFields(sql) 67 | if (!tableFields) { 68 | return null 69 | } 70 | 71 | const table: SqlTable = { 72 | name: tableName, 73 | fields: tableFields, 74 | } 75 | 76 | const tableComment = pregTableComment(sql) 77 | if (tableComment) { 78 | table.comment = tableComment 79 | } 80 | 81 | return table 82 | } 83 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sql2struct 2 | 3 | SQL2Struct is a developer-friendly tool used for transfering sql statement to go struct. 4 | 5 | [中文说明](README-CN.md) 6 | 7 | ## use sql2struct online 8 | 9 | click to visit the [sql2struct online website](https://dou.tools/sql2struct/) 10 | 11 | ## use sql2struct as chrome extension 12 | 13 | 1. install from source 14 | 15 | ```shell 16 | git clone https://github.com/idoubi/sql2struct.git 17 | cd sql2struct 18 | pnpm install 19 | ``` 20 | 21 | 2. build chrome extension 22 | 23 | ```shell 24 | pnpm build:chrome 25 | ``` 26 | 27 | 3. install chrome extension 28 | 29 | open [chrome://extensions/](chrome://extensions/) 30 | 31 | load extension from sql2struct project dir `dist/chrome` 32 | 33 | ## use sql2struct locally 34 | 35 | 1. install from source 36 | 37 | ```shell 38 | git clone https://github.com/idoubi/sql2struct.git 39 | cd sql2struct 40 | pnpm install 41 | ``` 42 | 43 | 2. preview 44 | 45 | ```shell 46 | pnpm dev 47 | ``` 48 | 49 | 3. build 50 | 51 | ```shell 52 | pnpm build 53 | 54 | # or 55 | 56 | pnpm build:web 57 | ``` 58 | 59 | ## how to use 60 | 61 | 1. execute `show create table xxx\G;` in your database client. 62 | 63 | ![20220626221324](https://blogcdn.idoustudio.com/blog/20220626221324.png) 64 | 65 | 2. paste sql statement in the left editor. 66 | 67 | ![20220626222145](https://blogcdn.idoustudio.com/blog/20220626222145.png) 68 | 69 | and you'll see the go struct code in the right editor transfered from the sql statement you pasted. 70 | 71 | 3. change the transfer options. 72 | 73 | by default, only json tags will be used in transfered go struct code. you can click other checkboxes to add more tags. =[] 74 | 75 | ![20220626222618](https://blogcdn.idoustudio.com/blog/20220626222618.png) 76 | 77 | and you can click "options" button to modify other transfer options. 78 | 79 | fields in "special identifiers" will be uppercased when transfered to go struct fields. 80 | 81 | ![20220626222854](https://blogcdn.idoustudio.com/blog/20220626222854.png) 82 | 83 | "field maps" defines the map rules between sql field type and go struct field type. 84 | 85 | ![20220626222912](https://blogcdn.idoustudio.com/blog/20220626222912.png) 86 | 87 | ## something else 88 | 89 | stars and issues are all be appreciated. 90 | 91 | you can contact me by email to . 92 | -------------------------------------------------------------------------------- /src/core/gostruct.ts: -------------------------------------------------------------------------------- 1 | import { GoStruct, GoStructField, kv, SqlField, SqlTable } from './type' 2 | import { camelCase } from './util' 3 | 4 | // get go struct field type from sql field type 5 | export const getGoStructFieldType = (sqlFieldType: string, fieldMaps: kv): string | null => { 6 | const goStructFieldType = fieldMaps[sqlFieldType] 7 | if (!goStructFieldType) { 8 | return null 9 | } 10 | 11 | return goStructFieldType 12 | } 13 | 14 | // transfer sql table to go struct 15 | export const toGoStruct = (sqlTable: SqlTable, tags: Array, specialIdentifiers: Array, fieldMaps: kv): GoStruct | null => { 16 | const fields: Array = [] 17 | sqlTable.fields.forEach((sqlField: SqlField) => { 18 | const tagKv: kv = {} 19 | tags.forEach((tag) => { 20 | tagKv[tag] = sqlField.name 21 | }) 22 | const field: GoStructField = { 23 | name: specialIdentifiers.includes(sqlField.name) ? sqlField.name.toUpperCase() : camelCase(sqlField.name), 24 | type: getGoStructFieldType(sqlField.type, fieldMaps) as string, 25 | comment: sqlField.comment, 26 | tags: tagKv, 27 | } 28 | fields.push(field) 29 | }) 30 | 31 | const struct: GoStruct = { 32 | name: camelCase(sqlTable.name), 33 | fields, 34 | comment: sqlTable.comment, 35 | } 36 | 37 | return struct 38 | } 39 | 40 | // format go struct object to string 41 | export const formatGoStruct = (struct: GoStruct): string => { 42 | let content = `// ${struct.name} ${struct.comment}\ntype ${struct.name} struct {` 43 | 44 | struct.fields.forEach((item) => { 45 | content += `\n\t${item.name} ${item.type}` 46 | 47 | if (item.tags && Object.keys(item.tags).length > 0) { 48 | content += ` \`` 49 | const tagArr: Array = [] 50 | Object.keys(item.tags).forEach((key) => { 51 | const value = item.tags ? item.tags[key] : '' 52 | tagArr.push(`${key}:"${value}"`) 53 | }) 54 | content += `${tagArr.join(' ')}\`` 55 | } 56 | 57 | if (item.comment) { 58 | content += ` // ${item.comment}` 59 | } 60 | }) 61 | content += ` 62 | }` 63 | 64 | return content 65 | } 66 | 67 | // gen go struct code from sql table object 68 | export const genGoStructCode = ( 69 | sqlTable: SqlTable, 70 | tags: Array, 71 | specialIdentifiers: Array, 72 | fieldMaps: kv 73 | ): string | null => { 74 | const goSturct = toGoStruct(sqlTable, tags, specialIdentifiers, fieldMaps) 75 | if (!goSturct) { 76 | return null 77 | } 78 | 79 | let goStructCode = formatGoStruct(goSturct) 80 | if (!goStructCode) { 81 | return null 82 | } 83 | 84 | goStructCode += `\n\n// TableName 表名称\nfunc (*${goSturct.name}) TableName() string { 85 | return "${sqlTable.name}" 86 | }` 87 | return goStructCode 88 | } 89 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import { IconSetting } from '@douyinfe/semi-icons' 2 | import { Button } from '@douyinfe/semi-ui' 3 | import { useEffect, useState } from 'react' 4 | import './App.less' 5 | import Editor from './components/editor/Editor' 6 | import Option from './components/option/Option' 7 | import Toolbar from './components/toolbar/Toolbar' 8 | import demoSql from './demo.sql?raw' 9 | import logoUrl from './images/logo.png' 10 | import { genGoStructCode } from './core/gostruct' 11 | import { defaultFieldMaps, defaultGoStructOptions, defaultGoStructTags, defaultSpecialIdentifiers } from './core/option' 12 | import { pregSqlStatement } from './core/sql' 13 | import { SqlTable } from './core/type' 14 | 15 | export default () => { 16 | const [sqlCode, setSqlCode] = useState(``) 17 | 18 | const [sqlTable, setSqlTable] = useState({} as SqlTable) 19 | 20 | const [goStructCode, setGoStructCode] = useState(`type TableName struct`) 21 | 22 | const [goStructTags, setGoStructTags] = useState(defaultGoStructTags) 23 | 24 | const [optionIsShow, setOptionIsShow] = useState(false) 25 | 26 | const [specialIdentifiers, setSpecialIdentifiers] = useState(defaultSpecialIdentifiers) 27 | 28 | const [fieldMaps, setFieldMaps] = useState(defaultFieldMaps) 29 | 30 | // go struct option change handler 31 | const goStructOptionOnChange = (tags: string[]) => { 32 | setGoStructTags(tags) 33 | } 34 | 35 | // sql code change handler 36 | const sqlCodeOnChange = (code: string) => { 37 | setSqlCode(code) 38 | } 39 | 40 | // render go struct code 41 | const renderGoStructCode = () => { 42 | if (!sqlTable || !sqlTable.name || !sqlTable.fields) { 43 | setGoStructCode(`invalid sql`) 44 | return 45 | } 46 | const code = genGoStructCode(sqlTable, goStructTags, specialIdentifiers, fieldMaps) 47 | if (!code) { 48 | setGoStructCode(`gen go struct failed`) 49 | return 50 | } 51 | setGoStructCode(code) 52 | } 53 | 54 | // after sql code changed 55 | useEffect(() => { 56 | const table = pregSqlStatement(sqlCode) 57 | if (!table) { 58 | setSqlTable({} as SqlTable) 59 | return 60 | } 61 | setSqlTable(table) 62 | }, [sqlCode]) 63 | 64 | // after sql table changed 65 | useEffect(() => { 66 | renderGoStructCode() 67 | }, [sqlTable]) 68 | 69 | // after go struct tags changed 70 | useEffect(() => { 71 | renderGoStructCode() 72 | }, [goStructTags]) 73 | 74 | // after special identifiers in options changed 75 | useEffect(() => { 76 | renderGoStructCode() 77 | }, [specialIdentifiers]) 78 | 79 | // after field maps in options changed 80 | useEffect(() => { 81 | renderGoStructCode() 82 | }, [fieldMaps]) 83 | 84 | // componentDidMount 85 | useEffect(() => { 86 | // load demo sql 87 | setSqlCode(demoSql) 88 | }, []) 89 | 90 | return ( 91 |
92 |
149 | ) 150 | } 151 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@codemirror/lang-json': ^6.0.0 5 | '@codemirror/lang-rust': ^6.0.0 6 | '@codemirror/lang-sql': ^6.0.0 7 | '@douyinfe/semi-icons': ^2.13.0 8 | '@douyinfe/semi-ui': ^2.13.0 9 | '@types/node': ^18.0.0 10 | '@types/react': ^18.0.14 11 | '@types/react-dom': ^18.0.5 12 | '@typescript-eslint/eslint-plugin': ^5.29.0 13 | '@typescript-eslint/parser': ^5.29.0 14 | '@uiw/codemirror-theme-eclipse': ^4.9.4 15 | '@uiw/react-codemirror': ^4.9.4 16 | '@vitejs/plugin-react': ^1.3.2 17 | eslint: ^8.18.0 18 | eslint-config-airbnb-base: ^15.0.0 19 | eslint-config-airbnb-typescript: ^17.0.0 20 | eslint-config-prettier: ^8.5.0 21 | eslint-plugin-import: ^2.26.0 22 | eslint-plugin-n: ^15.2.3 23 | eslint-plugin-prettier: ^4.0.0 24 | eslint-plugin-promise: ^6.0.0 25 | eslint-plugin-react: ^7.30.1 26 | less: ^4.1.3 27 | prettier: ^2.7.1 28 | prop-types: 15.7.2 29 | react: ^18.2.0 30 | react-dom: ^18.2.0 31 | ts-node: ^10.8.1 32 | typescript: ^4.7.4 33 | vite: ^2.9.12 34 | vite-plugin-static-copy: ^0.6.0 35 | 36 | dependencies: 37 | '@codemirror/lang-json': 6.0.0 38 | '@codemirror/lang-rust': 6.0.0 39 | '@codemirror/lang-sql': 6.0.0 40 | '@douyinfe/semi-icons': 2.13.0_react@18.2.0 41 | '@douyinfe/semi-ui': 2.13.0_b7l63hf5lcj6y7jx6xqd7qe7ea 42 | '@uiw/codemirror-theme-eclipse': 4.9.4 43 | '@uiw/react-codemirror': 4.9.4_biqbaboplfbrettd7655fr4n2y 44 | react: 18.2.0 45 | react-dom: 18.2.0_react@18.2.0 46 | 47 | devDependencies: 48 | '@types/node': 18.0.0 49 | '@types/react': 18.0.14 50 | '@types/react-dom': 18.0.5 51 | '@typescript-eslint/eslint-plugin': 5.29.0_qqmbkyiaixvppdwswpytuf2hgm 52 | '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 53 | '@vitejs/plugin-react': 1.3.2 54 | eslint: 8.18.0 55 | eslint-config-airbnb-base: 15.0.0_srrmf5la5dmnsfe2mpg6sboreu 56 | eslint-config-airbnb-typescript: 17.0.0_5hz5uetpggdx7cisb4emmjbrn4 57 | eslint-config-prettier: 8.5.0_eslint@8.18.0 58 | eslint-plugin-import: 2.26.0_zgg5sxdhnxsuz2d3vdnwdtmcnu 59 | eslint-plugin-n: 15.2.3_eslint@8.18.0 60 | eslint-plugin-prettier: 4.0.0_xu6ewijrtliw5q5lksq5uixwby 61 | eslint-plugin-promise: 6.0.0_eslint@8.18.0 62 | eslint-plugin-react: 7.30.1_eslint@8.18.0 63 | less: 4.1.3 64 | prettier: 2.7.1 65 | prop-types: 15.7.2 66 | ts-node: 10.8.1_qiyc72axg2v44xl4yovan2v55u 67 | typescript: 4.7.4 68 | vite: 2.9.12_less@4.1.3 69 | vite-plugin-static-copy: 0.6.0_vite@2.9.12 70 | 71 | packages: 72 | 73 | /@ampproject/remapping/2.2.0: 74 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 75 | engines: {node: '>=6.0.0'} 76 | dependencies: 77 | '@jridgewell/gen-mapping': 0.1.1 78 | '@jridgewell/trace-mapping': 0.3.13 79 | dev: true 80 | 81 | /@babel/code-frame/7.16.7: 82 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@babel/highlight': 7.17.12 86 | dev: true 87 | 88 | /@babel/compat-data/7.18.5: 89 | resolution: {integrity: sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==} 90 | engines: {node: '>=6.9.0'} 91 | dev: true 92 | 93 | /@babel/core/7.18.5: 94 | resolution: {integrity: sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==} 95 | engines: {node: '>=6.9.0'} 96 | dependencies: 97 | '@ampproject/remapping': 2.2.0 98 | '@babel/code-frame': 7.16.7 99 | '@babel/generator': 7.18.2 100 | '@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5 101 | '@babel/helper-module-transforms': 7.18.0 102 | '@babel/helpers': 7.18.2 103 | '@babel/parser': 7.18.5 104 | '@babel/template': 7.16.7 105 | '@babel/traverse': 7.18.5 106 | '@babel/types': 7.18.4 107 | convert-source-map: 1.8.0 108 | debug: 4.3.4 109 | gensync: 1.0.0-beta.2 110 | json5: 2.2.1 111 | semver: 6.3.0 112 | transitivePeerDependencies: 113 | - supports-color 114 | dev: true 115 | 116 | /@babel/generator/7.18.2: 117 | resolution: {integrity: sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==} 118 | engines: {node: '>=6.9.0'} 119 | dependencies: 120 | '@babel/types': 7.18.4 121 | '@jridgewell/gen-mapping': 0.3.1 122 | jsesc: 2.5.2 123 | dev: true 124 | 125 | /@babel/helper-annotate-as-pure/7.16.7: 126 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} 127 | engines: {node: '>=6.9.0'} 128 | dependencies: 129 | '@babel/types': 7.18.4 130 | dev: true 131 | 132 | /@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.5: 133 | resolution: {integrity: sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==} 134 | engines: {node: '>=6.9.0'} 135 | peerDependencies: 136 | '@babel/core': ^7.0.0 137 | dependencies: 138 | '@babel/compat-data': 7.18.5 139 | '@babel/core': 7.18.5 140 | '@babel/helper-validator-option': 7.16.7 141 | browserslist: 4.21.0 142 | semver: 6.3.0 143 | dev: true 144 | 145 | /@babel/helper-environment-visitor/7.18.2: 146 | resolution: {integrity: sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==} 147 | engines: {node: '>=6.9.0'} 148 | dev: true 149 | 150 | /@babel/helper-function-name/7.17.9: 151 | resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} 152 | engines: {node: '>=6.9.0'} 153 | dependencies: 154 | '@babel/template': 7.16.7 155 | '@babel/types': 7.18.4 156 | dev: true 157 | 158 | /@babel/helper-hoist-variables/7.16.7: 159 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 160 | engines: {node: '>=6.9.0'} 161 | dependencies: 162 | '@babel/types': 7.18.4 163 | dev: true 164 | 165 | /@babel/helper-module-imports/7.16.7: 166 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 167 | engines: {node: '>=6.9.0'} 168 | dependencies: 169 | '@babel/types': 7.18.4 170 | dev: true 171 | 172 | /@babel/helper-module-transforms/7.18.0: 173 | resolution: {integrity: sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==} 174 | engines: {node: '>=6.9.0'} 175 | dependencies: 176 | '@babel/helper-environment-visitor': 7.18.2 177 | '@babel/helper-module-imports': 7.16.7 178 | '@babel/helper-simple-access': 7.18.2 179 | '@babel/helper-split-export-declaration': 7.16.7 180 | '@babel/helper-validator-identifier': 7.16.7 181 | '@babel/template': 7.16.7 182 | '@babel/traverse': 7.18.5 183 | '@babel/types': 7.18.4 184 | transitivePeerDependencies: 185 | - supports-color 186 | dev: true 187 | 188 | /@babel/helper-plugin-utils/7.17.12: 189 | resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==} 190 | engines: {node: '>=6.9.0'} 191 | dev: true 192 | 193 | /@babel/helper-simple-access/7.18.2: 194 | resolution: {integrity: sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==} 195 | engines: {node: '>=6.9.0'} 196 | dependencies: 197 | '@babel/types': 7.18.4 198 | dev: true 199 | 200 | /@babel/helper-split-export-declaration/7.16.7: 201 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 202 | engines: {node: '>=6.9.0'} 203 | dependencies: 204 | '@babel/types': 7.18.4 205 | dev: true 206 | 207 | /@babel/helper-validator-identifier/7.16.7: 208 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 209 | engines: {node: '>=6.9.0'} 210 | dev: true 211 | 212 | /@babel/helper-validator-option/7.16.7: 213 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 214 | engines: {node: '>=6.9.0'} 215 | dev: true 216 | 217 | /@babel/helpers/7.18.2: 218 | resolution: {integrity: sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==} 219 | engines: {node: '>=6.9.0'} 220 | dependencies: 221 | '@babel/template': 7.16.7 222 | '@babel/traverse': 7.18.5 223 | '@babel/types': 7.18.4 224 | transitivePeerDependencies: 225 | - supports-color 226 | dev: true 227 | 228 | /@babel/highlight/7.17.12: 229 | resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} 230 | engines: {node: '>=6.9.0'} 231 | dependencies: 232 | '@babel/helper-validator-identifier': 7.16.7 233 | chalk: 2.4.2 234 | js-tokens: 4.0.0 235 | dev: true 236 | 237 | /@babel/parser/7.18.5: 238 | resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==} 239 | engines: {node: '>=6.0.0'} 240 | hasBin: true 241 | dependencies: 242 | '@babel/types': 7.18.4 243 | dev: true 244 | 245 | /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.18.5: 246 | resolution: {integrity: sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==} 247 | engines: {node: '>=6.9.0'} 248 | peerDependencies: 249 | '@babel/core': ^7.0.0-0 250 | dependencies: 251 | '@babel/core': 7.18.5 252 | '@babel/helper-plugin-utils': 7.17.12 253 | dev: true 254 | 255 | /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.18.5: 256 | resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==} 257 | engines: {node: '>=6.9.0'} 258 | peerDependencies: 259 | '@babel/core': ^7.0.0-0 260 | dependencies: 261 | '@babel/core': 7.18.5 262 | '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.5 263 | dev: true 264 | 265 | /@babel/plugin-transform-react-jsx-self/7.17.12_@babel+core@7.18.5: 266 | resolution: {integrity: sha512-7S9G2B44EnYOx74mue02t1uD8ckWZ/ee6Uz/qfdzc35uWHX5NgRy9i+iJSb2LFRgMd+QV9zNcStQaazzzZ3n3Q==} 267 | engines: {node: '>=6.9.0'} 268 | peerDependencies: 269 | '@babel/core': ^7.0.0-0 270 | dependencies: 271 | '@babel/core': 7.18.5 272 | '@babel/helper-plugin-utils': 7.17.12 273 | dev: true 274 | 275 | /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.18.5: 276 | resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==} 277 | engines: {node: '>=6.9.0'} 278 | peerDependencies: 279 | '@babel/core': ^7.0.0-0 280 | dependencies: 281 | '@babel/core': 7.18.5 282 | '@babel/helper-plugin-utils': 7.17.12 283 | dev: true 284 | 285 | /@babel/plugin-transform-react-jsx/7.17.12_@babel+core@7.18.5: 286 | resolution: {integrity: sha512-Lcaw8bxd1DKht3thfD4A12dqo1X16he1Lm8rIv8sTwjAYNInRS1qHa9aJoqvzpscItXvftKDCfaEQzwoVyXpEQ==} 287 | engines: {node: '>=6.9.0'} 288 | peerDependencies: 289 | '@babel/core': ^7.0.0-0 290 | dependencies: 291 | '@babel/core': 7.18.5 292 | '@babel/helper-annotate-as-pure': 7.16.7 293 | '@babel/helper-module-imports': 7.16.7 294 | '@babel/helper-plugin-utils': 7.17.12 295 | '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.18.5 296 | '@babel/types': 7.18.4 297 | dev: true 298 | 299 | /@babel/runtime-corejs3/7.18.3: 300 | resolution: {integrity: sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==} 301 | engines: {node: '>=6.9.0'} 302 | dependencies: 303 | core-js-pure: 3.23.2 304 | regenerator-runtime: 0.13.9 305 | dev: false 306 | 307 | /@babel/runtime/7.18.3: 308 | resolution: {integrity: sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==} 309 | engines: {node: '>=6.9.0'} 310 | dependencies: 311 | regenerator-runtime: 0.13.9 312 | dev: false 313 | 314 | /@babel/template/7.16.7: 315 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 316 | engines: {node: '>=6.9.0'} 317 | dependencies: 318 | '@babel/code-frame': 7.16.7 319 | '@babel/parser': 7.18.5 320 | '@babel/types': 7.18.4 321 | dev: true 322 | 323 | /@babel/traverse/7.18.5: 324 | resolution: {integrity: sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==} 325 | engines: {node: '>=6.9.0'} 326 | dependencies: 327 | '@babel/code-frame': 7.16.7 328 | '@babel/generator': 7.18.2 329 | '@babel/helper-environment-visitor': 7.18.2 330 | '@babel/helper-function-name': 7.17.9 331 | '@babel/helper-hoist-variables': 7.16.7 332 | '@babel/helper-split-export-declaration': 7.16.7 333 | '@babel/parser': 7.18.5 334 | '@babel/types': 7.18.4 335 | debug: 4.3.4 336 | globals: 11.12.0 337 | transitivePeerDependencies: 338 | - supports-color 339 | dev: true 340 | 341 | /@babel/types/7.18.4: 342 | resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==} 343 | engines: {node: '>=6.9.0'} 344 | dependencies: 345 | '@babel/helper-validator-identifier': 7.16.7 346 | to-fast-properties: 2.0.0 347 | dev: true 348 | 349 | /@codemirror/autocomplete/6.0.2: 350 | resolution: {integrity: sha512-9PDjnllmXan/7Uax87KGORbxerDJ/cu10SB+n4Jz0zXMEvIh3+TGgZxhIvDOtaQ4jDBQEM7kHYW4vLdQB0DGZQ==} 351 | dependencies: 352 | '@codemirror/language': 6.1.0 353 | '@codemirror/state': 6.0.1 354 | '@codemirror/view': 6.0.2 355 | '@lezer/common': 1.0.0 356 | dev: false 357 | 358 | /@codemirror/commands/6.0.0: 359 | resolution: {integrity: sha512-nVJDPiCQXWXj5AZxqNVXyIM3nOYauF4Dko9NGPSwgVdK+lXWJQhI5LGhS/AvdG5b7u7/pTQBkrQmzkLWRBF62A==} 360 | dependencies: 361 | '@codemirror/language': 6.1.0 362 | '@codemirror/state': 6.0.1 363 | '@codemirror/view': 6.0.2 364 | '@lezer/common': 1.0.0 365 | dev: false 366 | 367 | /@codemirror/lang-json/6.0.0: 368 | resolution: {integrity: sha512-DvTcYTKLmg2viADXlTdufrT334M9jowe1qO02W28nvm+nejcvhM5vot5mE8/kPrxYw/HJHhwu1z2PyBpnMLCNQ==} 369 | dependencies: 370 | '@codemirror/language': 6.1.0 371 | '@lezer/json': 1.0.0 372 | dev: false 373 | 374 | /@codemirror/lang-rust/6.0.0: 375 | resolution: {integrity: sha512-VQql3Qk1BwoXb3SUkeWll/EEwhsgQWc1bpia7CFqqp2PhQBb5A6r4Vj2JCkU/nE6A7TDPSGHTOoqJSG5s/VXtQ==} 376 | dependencies: 377 | '@codemirror/language': 6.1.0 378 | '@lezer/rust': 1.0.0 379 | dev: false 380 | 381 | /@codemirror/lang-sql/6.0.0: 382 | resolution: {integrity: sha512-mq4NwTDbbo7QZktfgPsS+ms0FmAceH4WM2jLbgf+N28FoKUy0JzGe3XJymgnTewXnNUwujKBxArQzibxSDdVyQ==} 383 | dependencies: 384 | '@codemirror/autocomplete': 6.0.2 385 | '@codemirror/language': 6.1.0 386 | '@codemirror/state': 6.0.1 387 | '@lezer/highlight': 1.0.0 388 | '@lezer/lr': 1.0.0 389 | dev: false 390 | 391 | /@codemirror/language/6.1.0: 392 | resolution: {integrity: sha512-CeqY80nvUFrJcXcBW115aNi06D0PS8NSW6nuJRSwbrYFkE0SfJnPfyLGrcM90AV95lqg5+4xUi99BCmzNaPGJg==} 393 | dependencies: 394 | '@codemirror/state': 6.0.1 395 | '@codemirror/view': 6.0.2 396 | '@lezer/common': 1.0.0 397 | '@lezer/highlight': 1.0.0 398 | '@lezer/lr': 1.0.0 399 | style-mod: 4.0.0 400 | dev: false 401 | 402 | /@codemirror/lint/6.0.0: 403 | resolution: {integrity: sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==} 404 | dependencies: 405 | '@codemirror/state': 6.0.1 406 | '@codemirror/view': 6.0.2 407 | crelt: 1.0.5 408 | dev: false 409 | 410 | /@codemirror/search/6.0.0: 411 | resolution: {integrity: sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==} 412 | dependencies: 413 | '@codemirror/state': 6.0.1 414 | '@codemirror/view': 6.0.2 415 | crelt: 1.0.5 416 | dev: false 417 | 418 | /@codemirror/state/6.0.1: 419 | resolution: {integrity: sha512-6vYgaXc4KjSY0BUfSVDJooGcoswg/RJZpq/ZGjsUYmY0KN1lmB8u03nv+jiG1ncUV5qoggyxFT5AGD5Ak+5Zrw==} 420 | dev: false 421 | 422 | /@codemirror/theme-one-dark/6.0.0: 423 | resolution: {integrity: sha512-jTCfi1I8QT++3m21Ui6sU8qwu3F/hLv161KLxfvkV1cYWSBwyUanmQFs89ChobQjBHi2x7s2k71wF9WYvE8fdw==} 424 | dependencies: 425 | '@codemirror/language': 6.1.0 426 | '@codemirror/state': 6.0.1 427 | '@codemirror/view': 6.0.2 428 | '@lezer/highlight': 1.0.0 429 | dev: false 430 | 431 | /@codemirror/view/6.0.2: 432 | resolution: {integrity: sha512-mnVT/q1JvKPjpmjXJNeCi/xHyaJ3abGJsumIVpdQ1nE1MXAyHf7GHWt8QpWMUvDiqF0j+inkhVR2OviTdFFX7Q==} 433 | dependencies: 434 | '@codemirror/state': 6.0.1 435 | style-mod: 4.0.0 436 | w3c-keyname: 2.2.4 437 | dev: false 438 | 439 | /@cspotcode/source-map-support/0.8.1: 440 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 441 | engines: {node: '>=12'} 442 | dependencies: 443 | '@jridgewell/trace-mapping': 0.3.9 444 | dev: true 445 | 446 | /@douyinfe/semi-animation-react/2.13.0_3bsg7idxxazmtsqzddt2xlcgzi: 447 | resolution: {integrity: sha512-uvFbyICgRrIpL0+DDyvJASUxhKhnL9mhgvaFkjC+FCttguI0q35kZSjItqL/BpFUww02J3WDAJMCNgyRbck6/A==} 448 | peerDependencies: 449 | prop-types: 15.7.2 450 | react: '>=16.0.0' 451 | react-dom: '>=16.0.1' 452 | dependencies: 453 | '@babel/runtime-corejs3': 7.18.3 454 | '@douyinfe/semi-animation': 2.12.0 455 | '@douyinfe/semi-animation-styled': 2.13.0 456 | classnames: 2.3.1 457 | prop-types: 15.7.2 458 | react: 18.2.0 459 | react-dom: 18.2.0_react@18.2.0 460 | dev: false 461 | 462 | /@douyinfe/semi-animation-styled/2.13.0: 463 | resolution: {integrity: sha512-rcecQcN0WS+j5hoRhdP67FW9KHRdEeCO7ntsTCUZUVjYLKWPFoJmITXuJpOwQs/IVfJlmUD7jxGQzp7qH2k0Ww==} 464 | dependencies: 465 | '@babel/runtime-corejs3': 7.18.3 466 | dev: false 467 | 468 | /@douyinfe/semi-animation/2.12.0: 469 | resolution: {integrity: sha512-OAfL9Nk38ZPqfdKm9k4cvVXXzm16ALI4LxGNZ0qfe2RCLLnYGB/hNzTctoTDjYD35dFv0yroh3qsXtZuP2xNdg==} 470 | dependencies: 471 | '@babel/runtime-corejs3': 7.18.3 472 | bezier-easing: 2.1.0 473 | dev: false 474 | 475 | /@douyinfe/semi-foundation/2.13.0: 476 | resolution: {integrity: sha512-xMEyteclLG4++lOVvuZYGIf8CMBefoMU1Q5Fgw8IZuGFYcqRyYwS9Qn/rMV7KT1os9f8QSt9P2lPrKlX0zJ6Hw==} 477 | dependencies: 478 | '@babel/runtime-corejs3': 7.18.3 479 | '@douyinfe/semi-animation': 2.12.0 480 | async-validator: 3.5.2 481 | classnames: 2.3.1 482 | date-fns: 2.28.0 483 | date-fns-tz: 1.3.5_date-fns@2.28.0 484 | lodash: 4.17.21 485 | memoize-one: 5.2.1 486 | scroll-into-view-if-needed: 2.2.29 487 | dev: false 488 | 489 | /@douyinfe/semi-icons/2.13.0_react@18.2.0: 490 | resolution: {integrity: sha512-kzSFiisGK2Tl+luwI24SxvHVi1IvOhU0A5WkaXtJZ5UZ2dv/htjtCvyY3kOzFOGDYKz/QbMnVbfhDxZm/Re6eQ==} 491 | peerDependencies: 492 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 493 | dependencies: 494 | '@babel/runtime-corejs3': 7.18.3 495 | classnames: 2.3.1 496 | react: 18.2.0 497 | dev: false 498 | 499 | /@douyinfe/semi-illustrations/2.13.0_react@18.2.0: 500 | resolution: {integrity: sha512-8hScKeyLv3oX1Iq1cigXF277UVDX99fKeLTpW/88m9a52wM5riWZaeFdnYELN6WzbFPoOOjQNRCh0HxA5wRWIw==} 501 | peerDependencies: 502 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 503 | dependencies: 504 | '@babel/runtime-corejs3': 7.18.3 505 | react: 18.2.0 506 | dev: false 507 | 508 | /@douyinfe/semi-theme-default/2.13.0: 509 | resolution: {integrity: sha512-b6mP+2CPSgey9mxgdQMVyB9NWQnUkcyTpKrd05UcIY2OZGgUmXgmlR0Sd9pNQCcWbMUqTl6sOqvkPJwLbaolCA==} 510 | dependencies: 511 | glob: 7.2.3 512 | dev: false 513 | 514 | /@douyinfe/semi-ui/2.13.0_b7l63hf5lcj6y7jx6xqd7qe7ea: 515 | resolution: {integrity: sha512-j1JIQEjWB77MPYesLXmH6LFZMHRTyJfNdaFDERMa5+Gi321vz5RuUh7mKkeMuatlxCa6tiz4fg5XFMb3vtW0Ew==} 516 | peerDependencies: 517 | '@types/react': '>=16.0.0' 518 | '@types/react-dom': '>=16.0.0' 519 | prop-types: 15.7.2 520 | react: '>=16.0.0' 521 | react-dom: '>=16.0.0' 522 | dependencies: 523 | '@babel/runtime-corejs3': 7.18.3 524 | '@douyinfe/semi-animation': 2.12.0 525 | '@douyinfe/semi-animation-react': 2.13.0_3bsg7idxxazmtsqzddt2xlcgzi 526 | '@douyinfe/semi-foundation': 2.13.0 527 | '@douyinfe/semi-icons': 2.13.0_react@18.2.0 528 | '@douyinfe/semi-illustrations': 2.13.0_react@18.2.0 529 | '@douyinfe/semi-theme-default': 2.13.0 530 | '@types/react': 18.0.14 531 | '@types/react-dom': 18.0.5 532 | '@types/react-window': 1.8.5 533 | async-validator: 3.5.2 534 | classnames: 2.3.1 535 | copy-text-to-clipboard: 2.2.0 536 | date-fns: 2.28.0 537 | date-fns-tz: 1.3.5_date-fns@2.28.0 538 | lodash: 4.17.21 539 | prop-types: 15.7.2 540 | react: 18.2.0 541 | react-dom: 18.2.0_react@18.2.0 542 | react-resizable: 1.11.1_biqbaboplfbrettd7655fr4n2y 543 | react-sortable-hoc: 2.0.0_biqbaboplfbrettd7655fr4n2y 544 | react-window: 1.8.7_biqbaboplfbrettd7655fr4n2y 545 | resize-observer-polyfill: 1.5.1 546 | scroll-into-view-if-needed: 2.2.29 547 | utility-types: 3.10.0 548 | dev: false 549 | 550 | /@eslint/eslintrc/1.3.0: 551 | resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} 552 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 553 | dependencies: 554 | ajv: 6.12.6 555 | debug: 4.3.4 556 | espree: 9.3.2 557 | globals: 13.15.0 558 | ignore: 5.2.0 559 | import-fresh: 3.3.0 560 | js-yaml: 4.1.0 561 | minimatch: 3.1.2 562 | strip-json-comments: 3.1.1 563 | transitivePeerDependencies: 564 | - supports-color 565 | dev: true 566 | 567 | /@humanwhocodes/config-array/0.9.5: 568 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 569 | engines: {node: '>=10.10.0'} 570 | dependencies: 571 | '@humanwhocodes/object-schema': 1.2.1 572 | debug: 4.3.4 573 | minimatch: 3.1.2 574 | transitivePeerDependencies: 575 | - supports-color 576 | dev: true 577 | 578 | /@humanwhocodes/object-schema/1.2.1: 579 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 580 | dev: true 581 | 582 | /@jridgewell/gen-mapping/0.1.1: 583 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 584 | engines: {node: '>=6.0.0'} 585 | dependencies: 586 | '@jridgewell/set-array': 1.1.1 587 | '@jridgewell/sourcemap-codec': 1.4.13 588 | dev: true 589 | 590 | /@jridgewell/gen-mapping/0.3.1: 591 | resolution: {integrity: sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==} 592 | engines: {node: '>=6.0.0'} 593 | dependencies: 594 | '@jridgewell/set-array': 1.1.1 595 | '@jridgewell/sourcemap-codec': 1.4.13 596 | '@jridgewell/trace-mapping': 0.3.13 597 | dev: true 598 | 599 | /@jridgewell/resolve-uri/3.0.7: 600 | resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} 601 | engines: {node: '>=6.0.0'} 602 | dev: true 603 | 604 | /@jridgewell/set-array/1.1.1: 605 | resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==} 606 | engines: {node: '>=6.0.0'} 607 | dev: true 608 | 609 | /@jridgewell/sourcemap-codec/1.4.13: 610 | resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} 611 | dev: true 612 | 613 | /@jridgewell/trace-mapping/0.3.13: 614 | resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==} 615 | dependencies: 616 | '@jridgewell/resolve-uri': 3.0.7 617 | '@jridgewell/sourcemap-codec': 1.4.13 618 | dev: true 619 | 620 | /@jridgewell/trace-mapping/0.3.9: 621 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 622 | dependencies: 623 | '@jridgewell/resolve-uri': 3.0.7 624 | '@jridgewell/sourcemap-codec': 1.4.13 625 | dev: true 626 | 627 | /@lezer/common/1.0.0: 628 | resolution: {integrity: sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA==} 629 | dev: false 630 | 631 | /@lezer/highlight/1.0.0: 632 | resolution: {integrity: sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==} 633 | dependencies: 634 | '@lezer/common': 1.0.0 635 | dev: false 636 | 637 | /@lezer/json/1.0.0: 638 | resolution: {integrity: sha512-zbAuUY09RBzCoCA3lJ1+ypKw5WSNvLqGMtasdW6HvVOqZoCpPr8eWrsGnOVWGKGn8Rh21FnrKRVlJXrGAVUqRw==} 639 | dependencies: 640 | '@lezer/highlight': 1.0.0 641 | '@lezer/lr': 1.0.0 642 | dev: false 643 | 644 | /@lezer/lr/1.0.0: 645 | resolution: {integrity: sha512-k6DEqBh4HxqO/cVGedb6Ern6LS7K6IOzfydJ5WaqCR26v6UR9sIFyb6PS+5rPUs/mXgnBR/QQCW7RkyjSCMoQA==} 646 | dependencies: 647 | '@lezer/common': 1.0.0 648 | dev: false 649 | 650 | /@lezer/rust/1.0.0: 651 | resolution: {integrity: sha512-IpGAxIjNxYmX9ra6GfQTSPegdCAWNeq23WNmrsMMQI7YNSvKtYxO4TX5rgZUmbhEucWn0KTBMeDEPXg99YKtTA==} 652 | dependencies: 653 | '@lezer/highlight': 1.0.0 654 | '@lezer/lr': 1.0.0 655 | dev: false 656 | 657 | /@nodelib/fs.scandir/2.1.5: 658 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 659 | engines: {node: '>= 8'} 660 | dependencies: 661 | '@nodelib/fs.stat': 2.0.5 662 | run-parallel: 1.2.0 663 | dev: true 664 | 665 | /@nodelib/fs.stat/2.0.5: 666 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 667 | engines: {node: '>= 8'} 668 | dev: true 669 | 670 | /@nodelib/fs.walk/1.2.8: 671 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 672 | engines: {node: '>= 8'} 673 | dependencies: 674 | '@nodelib/fs.scandir': 2.1.5 675 | fastq: 1.13.0 676 | dev: true 677 | 678 | /@rollup/pluginutils/4.2.1: 679 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 680 | engines: {node: '>= 8.0.0'} 681 | dependencies: 682 | estree-walker: 2.0.2 683 | picomatch: 2.3.1 684 | dev: true 685 | 686 | /@tsconfig/node10/1.0.9: 687 | resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} 688 | dev: true 689 | 690 | /@tsconfig/node12/1.0.11: 691 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 692 | dev: true 693 | 694 | /@tsconfig/node14/1.0.3: 695 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 696 | dev: true 697 | 698 | /@tsconfig/node16/1.0.3: 699 | resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} 700 | dev: true 701 | 702 | /@types/json-schema/7.0.11: 703 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 704 | dev: true 705 | 706 | /@types/json5/0.0.29: 707 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 708 | dev: true 709 | 710 | /@types/node/18.0.0: 711 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 712 | dev: true 713 | 714 | /@types/prop-types/15.7.5: 715 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 716 | 717 | /@types/react-dom/18.0.5: 718 | resolution: {integrity: sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==} 719 | dependencies: 720 | '@types/react': 18.0.14 721 | 722 | /@types/react-window/1.8.5: 723 | resolution: {integrity: sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==} 724 | dependencies: 725 | '@types/react': 18.0.14 726 | dev: false 727 | 728 | /@types/react/18.0.14: 729 | resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} 730 | dependencies: 731 | '@types/prop-types': 15.7.5 732 | '@types/scheduler': 0.16.2 733 | csstype: 3.1.0 734 | 735 | /@types/scheduler/0.16.2: 736 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 737 | 738 | /@typescript-eslint/eslint-plugin/5.29.0_qqmbkyiaixvppdwswpytuf2hgm: 739 | resolution: {integrity: sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==} 740 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 741 | peerDependencies: 742 | '@typescript-eslint/parser': ^5.0.0 743 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 744 | typescript: '*' 745 | peerDependenciesMeta: 746 | typescript: 747 | optional: true 748 | dependencies: 749 | '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 750 | '@typescript-eslint/scope-manager': 5.29.0 751 | '@typescript-eslint/type-utils': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 752 | '@typescript-eslint/utils': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 753 | debug: 4.3.4 754 | eslint: 8.18.0 755 | functional-red-black-tree: 1.0.1 756 | ignore: 5.2.0 757 | regexpp: 3.2.0 758 | semver: 7.3.7 759 | tsutils: 3.21.0_typescript@4.7.4 760 | typescript: 4.7.4 761 | transitivePeerDependencies: 762 | - supports-color 763 | dev: true 764 | 765 | /@typescript-eslint/parser/5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e: 766 | resolution: {integrity: sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==} 767 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 768 | peerDependencies: 769 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 770 | typescript: '*' 771 | peerDependenciesMeta: 772 | typescript: 773 | optional: true 774 | dependencies: 775 | '@typescript-eslint/scope-manager': 5.29.0 776 | '@typescript-eslint/types': 5.29.0 777 | '@typescript-eslint/typescript-estree': 5.29.0_typescript@4.7.4 778 | debug: 4.3.4 779 | eslint: 8.18.0 780 | typescript: 4.7.4 781 | transitivePeerDependencies: 782 | - supports-color 783 | dev: true 784 | 785 | /@typescript-eslint/scope-manager/5.29.0: 786 | resolution: {integrity: sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==} 787 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 788 | dependencies: 789 | '@typescript-eslint/types': 5.29.0 790 | '@typescript-eslint/visitor-keys': 5.29.0 791 | dev: true 792 | 793 | /@typescript-eslint/type-utils/5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e: 794 | resolution: {integrity: sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==} 795 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 796 | peerDependencies: 797 | eslint: '*' 798 | typescript: '*' 799 | peerDependenciesMeta: 800 | typescript: 801 | optional: true 802 | dependencies: 803 | '@typescript-eslint/utils': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 804 | debug: 4.3.4 805 | eslint: 8.18.0 806 | tsutils: 3.21.0_typescript@4.7.4 807 | typescript: 4.7.4 808 | transitivePeerDependencies: 809 | - supports-color 810 | dev: true 811 | 812 | /@typescript-eslint/types/5.29.0: 813 | resolution: {integrity: sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==} 814 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 815 | dev: true 816 | 817 | /@typescript-eslint/typescript-estree/5.29.0_typescript@4.7.4: 818 | resolution: {integrity: sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==} 819 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 820 | peerDependencies: 821 | typescript: '*' 822 | peerDependenciesMeta: 823 | typescript: 824 | optional: true 825 | dependencies: 826 | '@typescript-eslint/types': 5.29.0 827 | '@typescript-eslint/visitor-keys': 5.29.0 828 | debug: 4.3.4 829 | globby: 11.1.0 830 | is-glob: 4.0.3 831 | semver: 7.3.7 832 | tsutils: 3.21.0_typescript@4.7.4 833 | typescript: 4.7.4 834 | transitivePeerDependencies: 835 | - supports-color 836 | dev: true 837 | 838 | /@typescript-eslint/utils/5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e: 839 | resolution: {integrity: sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==} 840 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 841 | peerDependencies: 842 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 843 | dependencies: 844 | '@types/json-schema': 7.0.11 845 | '@typescript-eslint/scope-manager': 5.29.0 846 | '@typescript-eslint/types': 5.29.0 847 | '@typescript-eslint/typescript-estree': 5.29.0_typescript@4.7.4 848 | eslint: 8.18.0 849 | eslint-scope: 5.1.1 850 | eslint-utils: 3.0.0_eslint@8.18.0 851 | transitivePeerDependencies: 852 | - supports-color 853 | - typescript 854 | dev: true 855 | 856 | /@typescript-eslint/visitor-keys/5.29.0: 857 | resolution: {integrity: sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==} 858 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 859 | dependencies: 860 | '@typescript-eslint/types': 5.29.0 861 | eslint-visitor-keys: 3.3.0 862 | dev: true 863 | 864 | /@uiw/codemirror-theme-eclipse/4.9.4: 865 | resolution: {integrity: sha512-CWHVlMz0b0HagygDuFarZLr1W2esTbo1/O0euU3Aar48xRDQolSgmFM37qRlgkBZdaM4okFPhHmv5afJ6oUNdA==} 866 | dependencies: 867 | '@uiw/codemirror-themes': 4.9.4 868 | dev: false 869 | 870 | /@uiw/codemirror-themes/4.9.4: 871 | resolution: {integrity: sha512-8aBVCenwvhIUjs6HNenqZhxIbrRdN/sBVPmikPi3lntK1HfGRqBHmU0XjdCjp6uGXwUl7b5J0mmNsKS7PaLPWg==} 872 | dependencies: 873 | '@codemirror/language': 6.1.0 874 | '@codemirror/state': 6.0.1 875 | '@codemirror/view': 6.0.2 876 | dev: false 877 | 878 | /@uiw/react-codemirror/4.9.4_biqbaboplfbrettd7655fr4n2y: 879 | resolution: {integrity: sha512-IsC5xDevpIeLMzHQQwT2W40gFFIdKeT1T0DHjzzai+s5SIrMlGe3QSHWeC1wSO7FtfNxFpFlTYMGJm5JwUviMA==} 880 | peerDependencies: 881 | react: '>=16.8.0' 882 | react-dom: '>=16.8.0' 883 | dependencies: 884 | '@babel/runtime': 7.18.3 885 | '@codemirror/theme-one-dark': 6.0.0 886 | codemirror: 6.0.0 887 | react: 18.2.0 888 | react-dom: 18.2.0_react@18.2.0 889 | dev: false 890 | 891 | /@vitejs/plugin-react/1.3.2: 892 | resolution: {integrity: sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==} 893 | engines: {node: '>=12.0.0'} 894 | dependencies: 895 | '@babel/core': 7.18.5 896 | '@babel/plugin-transform-react-jsx': 7.17.12_@babel+core@7.18.5 897 | '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.18.5 898 | '@babel/plugin-transform-react-jsx-self': 7.17.12_@babel+core@7.18.5 899 | '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.18.5 900 | '@rollup/pluginutils': 4.2.1 901 | react-refresh: 0.13.0 902 | resolve: 1.22.1 903 | transitivePeerDependencies: 904 | - supports-color 905 | dev: true 906 | 907 | /acorn-jsx/5.3.2_acorn@8.7.1: 908 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 909 | peerDependencies: 910 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 911 | dependencies: 912 | acorn: 8.7.1 913 | dev: true 914 | 915 | /acorn-walk/8.2.0: 916 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 917 | engines: {node: '>=0.4.0'} 918 | dev: true 919 | 920 | /acorn/8.7.1: 921 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} 922 | engines: {node: '>=0.4.0'} 923 | hasBin: true 924 | dev: true 925 | 926 | /ajv/6.12.6: 927 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 928 | dependencies: 929 | fast-deep-equal: 3.1.3 930 | fast-json-stable-stringify: 2.1.0 931 | json-schema-traverse: 0.4.1 932 | uri-js: 4.4.1 933 | dev: true 934 | 935 | /ansi-regex/5.0.1: 936 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 937 | engines: {node: '>=8'} 938 | dev: true 939 | 940 | /ansi-styles/3.2.1: 941 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 942 | engines: {node: '>=4'} 943 | dependencies: 944 | color-convert: 1.9.3 945 | dev: true 946 | 947 | /ansi-styles/4.3.0: 948 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 949 | engines: {node: '>=8'} 950 | dependencies: 951 | color-convert: 2.0.1 952 | dev: true 953 | 954 | /anymatch/3.1.2: 955 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 956 | engines: {node: '>= 8'} 957 | dependencies: 958 | normalize-path: 3.0.0 959 | picomatch: 2.3.1 960 | dev: true 961 | 962 | /arg/4.1.3: 963 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 964 | dev: true 965 | 966 | /argparse/2.0.1: 967 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 968 | dev: true 969 | 970 | /array-includes/3.1.5: 971 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 972 | engines: {node: '>= 0.4'} 973 | dependencies: 974 | call-bind: 1.0.2 975 | define-properties: 1.1.4 976 | es-abstract: 1.20.1 977 | get-intrinsic: 1.1.2 978 | is-string: 1.0.7 979 | dev: true 980 | 981 | /array-union/2.1.0: 982 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 983 | engines: {node: '>=8'} 984 | dev: true 985 | 986 | /array.prototype.flat/1.3.0: 987 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 988 | engines: {node: '>= 0.4'} 989 | dependencies: 990 | call-bind: 1.0.2 991 | define-properties: 1.1.4 992 | es-abstract: 1.20.1 993 | es-shim-unscopables: 1.0.0 994 | dev: true 995 | 996 | /array.prototype.flatmap/1.3.0: 997 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} 998 | engines: {node: '>= 0.4'} 999 | dependencies: 1000 | call-bind: 1.0.2 1001 | define-properties: 1.1.4 1002 | es-abstract: 1.20.1 1003 | es-shim-unscopables: 1.0.0 1004 | dev: true 1005 | 1006 | /async-validator/3.5.2: 1007 | resolution: {integrity: sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==} 1008 | dev: false 1009 | 1010 | /balanced-match/1.0.2: 1011 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1012 | 1013 | /bezier-easing/2.1.0: 1014 | resolution: {integrity: sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==} 1015 | dev: false 1016 | 1017 | /binary-extensions/2.2.0: 1018 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1019 | engines: {node: '>=8'} 1020 | dev: true 1021 | 1022 | /brace-expansion/1.1.11: 1023 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1024 | dependencies: 1025 | balanced-match: 1.0.2 1026 | concat-map: 0.0.1 1027 | 1028 | /braces/3.0.2: 1029 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1030 | engines: {node: '>=8'} 1031 | dependencies: 1032 | fill-range: 7.0.1 1033 | dev: true 1034 | 1035 | /browserslist/4.21.0: 1036 | resolution: {integrity: sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==} 1037 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1038 | hasBin: true 1039 | dependencies: 1040 | caniuse-lite: 1.0.30001359 1041 | electron-to-chromium: 1.4.170 1042 | node-releases: 2.0.5 1043 | update-browserslist-db: 1.0.4_browserslist@4.21.0 1044 | dev: true 1045 | 1046 | /builtins/5.0.1: 1047 | resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} 1048 | dependencies: 1049 | semver: 7.3.7 1050 | dev: true 1051 | 1052 | /call-bind/1.0.2: 1053 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 1054 | dependencies: 1055 | function-bind: 1.1.1 1056 | get-intrinsic: 1.1.2 1057 | dev: true 1058 | 1059 | /callsites/3.1.0: 1060 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1061 | engines: {node: '>=6'} 1062 | dev: true 1063 | 1064 | /caniuse-lite/1.0.30001359: 1065 | resolution: {integrity: sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==} 1066 | dev: true 1067 | 1068 | /chalk/2.4.2: 1069 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1070 | engines: {node: '>=4'} 1071 | dependencies: 1072 | ansi-styles: 3.2.1 1073 | escape-string-regexp: 1.0.5 1074 | supports-color: 5.5.0 1075 | dev: true 1076 | 1077 | /chalk/4.1.2: 1078 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1079 | engines: {node: '>=10'} 1080 | dependencies: 1081 | ansi-styles: 4.3.0 1082 | supports-color: 7.2.0 1083 | dev: true 1084 | 1085 | /chokidar/3.5.3: 1086 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1087 | engines: {node: '>= 8.10.0'} 1088 | dependencies: 1089 | anymatch: 3.1.2 1090 | braces: 3.0.2 1091 | glob-parent: 5.1.2 1092 | is-binary-path: 2.1.0 1093 | is-glob: 4.0.3 1094 | normalize-path: 3.0.0 1095 | readdirp: 3.6.0 1096 | optionalDependencies: 1097 | fsevents: 2.3.2 1098 | dev: true 1099 | 1100 | /classnames/2.3.1: 1101 | resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} 1102 | dev: false 1103 | 1104 | /clsx/1.1.1: 1105 | resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} 1106 | engines: {node: '>=6'} 1107 | dev: false 1108 | 1109 | /codemirror/6.0.0: 1110 | resolution: {integrity: sha512-c4XR9QtDn+NhKLM2FBsnRn9SFdRH7G6594DYC/fyKKIsTOcdLF0WNWRd+f6kNyd5j1vgYPucbIeq2XkywYCwhA==} 1111 | dependencies: 1112 | '@codemirror/autocomplete': 6.0.2 1113 | '@codemirror/commands': 6.0.0 1114 | '@codemirror/language': 6.1.0 1115 | '@codemirror/lint': 6.0.0 1116 | '@codemirror/search': 6.0.0 1117 | '@codemirror/state': 6.0.1 1118 | '@codemirror/view': 6.0.2 1119 | dev: false 1120 | 1121 | /color-convert/1.9.3: 1122 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1123 | dependencies: 1124 | color-name: 1.1.3 1125 | dev: true 1126 | 1127 | /color-convert/2.0.1: 1128 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1129 | engines: {node: '>=7.0.0'} 1130 | dependencies: 1131 | color-name: 1.1.4 1132 | dev: true 1133 | 1134 | /color-name/1.1.3: 1135 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1136 | dev: true 1137 | 1138 | /color-name/1.1.4: 1139 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1140 | dev: true 1141 | 1142 | /compute-scroll-into-view/1.0.17: 1143 | resolution: {integrity: sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==} 1144 | dev: false 1145 | 1146 | /concat-map/0.0.1: 1147 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1148 | 1149 | /confusing-browser-globals/1.0.11: 1150 | resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} 1151 | dev: true 1152 | 1153 | /convert-source-map/1.8.0: 1154 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1155 | dependencies: 1156 | safe-buffer: 5.1.2 1157 | dev: true 1158 | 1159 | /copy-anything/2.0.6: 1160 | resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} 1161 | dependencies: 1162 | is-what: 3.14.1 1163 | dev: true 1164 | 1165 | /copy-text-to-clipboard/2.2.0: 1166 | resolution: {integrity: sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==} 1167 | engines: {node: '>=6'} 1168 | dev: false 1169 | 1170 | /core-js-pure/3.23.2: 1171 | resolution: {integrity: sha512-t6u7H4Ff/yZNk+zqTr74UjCcZ3k8ApBryeLLV4rYQd9aF3gqmjjGjjR44ENfeBMH8VVvSynIjAJ0mUuFhzQtrA==} 1172 | requiresBuild: true 1173 | dev: false 1174 | 1175 | /create-require/1.1.1: 1176 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 1177 | dev: true 1178 | 1179 | /crelt/1.0.5: 1180 | resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} 1181 | dev: false 1182 | 1183 | /cross-spawn/7.0.3: 1184 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1185 | engines: {node: '>= 8'} 1186 | dependencies: 1187 | path-key: 3.1.1 1188 | shebang-command: 2.0.0 1189 | which: 2.0.2 1190 | dev: true 1191 | 1192 | /csstype/3.1.0: 1193 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} 1194 | 1195 | /date-fns-tz/1.3.5_date-fns@2.28.0: 1196 | resolution: {integrity: sha512-SNhl/fWe7i2HoIB9ejLZhEEJ6ZtRRpOBbzizFrq11K2/iceS9Nk7fPN2VTYVOMgFB9u0f3eidSC4n1xaRONW2A==} 1197 | peerDependencies: 1198 | date-fns: '>=2.0.0' 1199 | dependencies: 1200 | date-fns: 2.28.0 1201 | dev: false 1202 | 1203 | /date-fns/2.28.0: 1204 | resolution: {integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==} 1205 | engines: {node: '>=0.11'} 1206 | dev: false 1207 | 1208 | /debug/2.6.9: 1209 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 1210 | peerDependencies: 1211 | supports-color: '*' 1212 | peerDependenciesMeta: 1213 | supports-color: 1214 | optional: true 1215 | dependencies: 1216 | ms: 2.0.0 1217 | dev: true 1218 | 1219 | /debug/3.2.7: 1220 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1221 | peerDependencies: 1222 | supports-color: '*' 1223 | peerDependenciesMeta: 1224 | supports-color: 1225 | optional: true 1226 | dependencies: 1227 | ms: 2.1.3 1228 | dev: true 1229 | 1230 | /debug/4.3.4: 1231 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1232 | engines: {node: '>=6.0'} 1233 | peerDependencies: 1234 | supports-color: '*' 1235 | peerDependenciesMeta: 1236 | supports-color: 1237 | optional: true 1238 | dependencies: 1239 | ms: 2.1.2 1240 | dev: true 1241 | 1242 | /deep-is/0.1.4: 1243 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1244 | dev: true 1245 | 1246 | /define-properties/1.1.4: 1247 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1248 | engines: {node: '>= 0.4'} 1249 | dependencies: 1250 | has-property-descriptors: 1.0.0 1251 | object-keys: 1.1.1 1252 | dev: true 1253 | 1254 | /diff/4.0.2: 1255 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 1256 | engines: {node: '>=0.3.1'} 1257 | dev: true 1258 | 1259 | /dir-glob/3.0.1: 1260 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1261 | engines: {node: '>=8'} 1262 | dependencies: 1263 | path-type: 4.0.0 1264 | dev: true 1265 | 1266 | /doctrine/2.1.0: 1267 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1268 | engines: {node: '>=0.10.0'} 1269 | dependencies: 1270 | esutils: 2.0.3 1271 | dev: true 1272 | 1273 | /doctrine/3.0.0: 1274 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1275 | engines: {node: '>=6.0.0'} 1276 | dependencies: 1277 | esutils: 2.0.3 1278 | dev: true 1279 | 1280 | /electron-to-chromium/1.4.170: 1281 | resolution: {integrity: sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==} 1282 | dev: true 1283 | 1284 | /errno/0.1.8: 1285 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} 1286 | hasBin: true 1287 | requiresBuild: true 1288 | dependencies: 1289 | prr: 1.0.1 1290 | dev: true 1291 | optional: true 1292 | 1293 | /es-abstract/1.20.1: 1294 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 1295 | engines: {node: '>= 0.4'} 1296 | dependencies: 1297 | call-bind: 1.0.2 1298 | es-to-primitive: 1.2.1 1299 | function-bind: 1.1.1 1300 | function.prototype.name: 1.1.5 1301 | get-intrinsic: 1.1.2 1302 | get-symbol-description: 1.0.0 1303 | has: 1.0.3 1304 | has-property-descriptors: 1.0.0 1305 | has-symbols: 1.0.3 1306 | internal-slot: 1.0.3 1307 | is-callable: 1.2.4 1308 | is-negative-zero: 2.0.2 1309 | is-regex: 1.1.4 1310 | is-shared-array-buffer: 1.0.2 1311 | is-string: 1.0.7 1312 | is-weakref: 1.0.2 1313 | object-inspect: 1.12.2 1314 | object-keys: 1.1.1 1315 | object.assign: 4.1.2 1316 | regexp.prototype.flags: 1.4.3 1317 | string.prototype.trimend: 1.0.5 1318 | string.prototype.trimstart: 1.0.5 1319 | unbox-primitive: 1.0.2 1320 | dev: true 1321 | 1322 | /es-shim-unscopables/1.0.0: 1323 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1324 | dependencies: 1325 | has: 1.0.3 1326 | dev: true 1327 | 1328 | /es-to-primitive/1.2.1: 1329 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1330 | engines: {node: '>= 0.4'} 1331 | dependencies: 1332 | is-callable: 1.2.4 1333 | is-date-object: 1.0.5 1334 | is-symbol: 1.0.4 1335 | dev: true 1336 | 1337 | /esbuild-android-64/0.14.47: 1338 | resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} 1339 | engines: {node: '>=12'} 1340 | cpu: [x64] 1341 | os: [android] 1342 | requiresBuild: true 1343 | dev: true 1344 | optional: true 1345 | 1346 | /esbuild-android-arm64/0.14.47: 1347 | resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==} 1348 | engines: {node: '>=12'} 1349 | cpu: [arm64] 1350 | os: [android] 1351 | requiresBuild: true 1352 | dev: true 1353 | optional: true 1354 | 1355 | /esbuild-darwin-64/0.14.47: 1356 | resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==} 1357 | engines: {node: '>=12'} 1358 | cpu: [x64] 1359 | os: [darwin] 1360 | requiresBuild: true 1361 | dev: true 1362 | optional: true 1363 | 1364 | /esbuild-darwin-arm64/0.14.47: 1365 | resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==} 1366 | engines: {node: '>=12'} 1367 | cpu: [arm64] 1368 | os: [darwin] 1369 | requiresBuild: true 1370 | dev: true 1371 | optional: true 1372 | 1373 | /esbuild-freebsd-64/0.14.47: 1374 | resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==} 1375 | engines: {node: '>=12'} 1376 | cpu: [x64] 1377 | os: [freebsd] 1378 | requiresBuild: true 1379 | dev: true 1380 | optional: true 1381 | 1382 | /esbuild-freebsd-arm64/0.14.47: 1383 | resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==} 1384 | engines: {node: '>=12'} 1385 | cpu: [arm64] 1386 | os: [freebsd] 1387 | requiresBuild: true 1388 | dev: true 1389 | optional: true 1390 | 1391 | /esbuild-linux-32/0.14.47: 1392 | resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==} 1393 | engines: {node: '>=12'} 1394 | cpu: [ia32] 1395 | os: [linux] 1396 | requiresBuild: true 1397 | dev: true 1398 | optional: true 1399 | 1400 | /esbuild-linux-64/0.14.47: 1401 | resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==} 1402 | engines: {node: '>=12'} 1403 | cpu: [x64] 1404 | os: [linux] 1405 | requiresBuild: true 1406 | dev: true 1407 | optional: true 1408 | 1409 | /esbuild-linux-arm/0.14.47: 1410 | resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==} 1411 | engines: {node: '>=12'} 1412 | cpu: [arm] 1413 | os: [linux] 1414 | requiresBuild: true 1415 | dev: true 1416 | optional: true 1417 | 1418 | /esbuild-linux-arm64/0.14.47: 1419 | resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==} 1420 | engines: {node: '>=12'} 1421 | cpu: [arm64] 1422 | os: [linux] 1423 | requiresBuild: true 1424 | dev: true 1425 | optional: true 1426 | 1427 | /esbuild-linux-mips64le/0.14.47: 1428 | resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==} 1429 | engines: {node: '>=12'} 1430 | cpu: [mips64el] 1431 | os: [linux] 1432 | requiresBuild: true 1433 | dev: true 1434 | optional: true 1435 | 1436 | /esbuild-linux-ppc64le/0.14.47: 1437 | resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==} 1438 | engines: {node: '>=12'} 1439 | cpu: [ppc64] 1440 | os: [linux] 1441 | requiresBuild: true 1442 | dev: true 1443 | optional: true 1444 | 1445 | /esbuild-linux-riscv64/0.14.47: 1446 | resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==} 1447 | engines: {node: '>=12'} 1448 | cpu: [riscv64] 1449 | os: [linux] 1450 | requiresBuild: true 1451 | dev: true 1452 | optional: true 1453 | 1454 | /esbuild-linux-s390x/0.14.47: 1455 | resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==} 1456 | engines: {node: '>=12'} 1457 | cpu: [s390x] 1458 | os: [linux] 1459 | requiresBuild: true 1460 | dev: true 1461 | optional: true 1462 | 1463 | /esbuild-netbsd-64/0.14.47: 1464 | resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==} 1465 | engines: {node: '>=12'} 1466 | cpu: [x64] 1467 | os: [netbsd] 1468 | requiresBuild: true 1469 | dev: true 1470 | optional: true 1471 | 1472 | /esbuild-openbsd-64/0.14.47: 1473 | resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==} 1474 | engines: {node: '>=12'} 1475 | cpu: [x64] 1476 | os: [openbsd] 1477 | requiresBuild: true 1478 | dev: true 1479 | optional: true 1480 | 1481 | /esbuild-sunos-64/0.14.47: 1482 | resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==} 1483 | engines: {node: '>=12'} 1484 | cpu: [x64] 1485 | os: [sunos] 1486 | requiresBuild: true 1487 | dev: true 1488 | optional: true 1489 | 1490 | /esbuild-windows-32/0.14.47: 1491 | resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==} 1492 | engines: {node: '>=12'} 1493 | cpu: [ia32] 1494 | os: [win32] 1495 | requiresBuild: true 1496 | dev: true 1497 | optional: true 1498 | 1499 | /esbuild-windows-64/0.14.47: 1500 | resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==} 1501 | engines: {node: '>=12'} 1502 | cpu: [x64] 1503 | os: [win32] 1504 | requiresBuild: true 1505 | dev: true 1506 | optional: true 1507 | 1508 | /esbuild-windows-arm64/0.14.47: 1509 | resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==} 1510 | engines: {node: '>=12'} 1511 | cpu: [arm64] 1512 | os: [win32] 1513 | requiresBuild: true 1514 | dev: true 1515 | optional: true 1516 | 1517 | /esbuild/0.14.47: 1518 | resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==} 1519 | engines: {node: '>=12'} 1520 | hasBin: true 1521 | requiresBuild: true 1522 | optionalDependencies: 1523 | esbuild-android-64: 0.14.47 1524 | esbuild-android-arm64: 0.14.47 1525 | esbuild-darwin-64: 0.14.47 1526 | esbuild-darwin-arm64: 0.14.47 1527 | esbuild-freebsd-64: 0.14.47 1528 | esbuild-freebsd-arm64: 0.14.47 1529 | esbuild-linux-32: 0.14.47 1530 | esbuild-linux-64: 0.14.47 1531 | esbuild-linux-arm: 0.14.47 1532 | esbuild-linux-arm64: 0.14.47 1533 | esbuild-linux-mips64le: 0.14.47 1534 | esbuild-linux-ppc64le: 0.14.47 1535 | esbuild-linux-riscv64: 0.14.47 1536 | esbuild-linux-s390x: 0.14.47 1537 | esbuild-netbsd-64: 0.14.47 1538 | esbuild-openbsd-64: 0.14.47 1539 | esbuild-sunos-64: 0.14.47 1540 | esbuild-windows-32: 0.14.47 1541 | esbuild-windows-64: 0.14.47 1542 | esbuild-windows-arm64: 0.14.47 1543 | dev: true 1544 | 1545 | /escalade/3.1.1: 1546 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1547 | engines: {node: '>=6'} 1548 | dev: true 1549 | 1550 | /escape-string-regexp/1.0.5: 1551 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1552 | engines: {node: '>=0.8.0'} 1553 | dev: true 1554 | 1555 | /escape-string-regexp/4.0.0: 1556 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1557 | engines: {node: '>=10'} 1558 | dev: true 1559 | 1560 | /eslint-config-airbnb-base/15.0.0_srrmf5la5dmnsfe2mpg6sboreu: 1561 | resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} 1562 | engines: {node: ^10.12.0 || >=12.0.0} 1563 | peerDependencies: 1564 | eslint: ^7.32.0 || ^8.2.0 1565 | eslint-plugin-import: ^2.25.2 1566 | dependencies: 1567 | confusing-browser-globals: 1.0.11 1568 | eslint: 8.18.0 1569 | eslint-plugin-import: 2.26.0_zgg5sxdhnxsuz2d3vdnwdtmcnu 1570 | object.assign: 4.1.2 1571 | object.entries: 1.1.5 1572 | semver: 6.3.0 1573 | dev: true 1574 | 1575 | /eslint-config-airbnb-typescript/17.0.0_5hz5uetpggdx7cisb4emmjbrn4: 1576 | resolution: {integrity: sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==} 1577 | peerDependencies: 1578 | '@typescript-eslint/eslint-plugin': ^5.13.0 1579 | '@typescript-eslint/parser': ^5.0.0 1580 | eslint: ^7.32.0 || ^8.2.0 1581 | eslint-plugin-import: ^2.25.3 1582 | dependencies: 1583 | '@typescript-eslint/eslint-plugin': 5.29.0_qqmbkyiaixvppdwswpytuf2hgm 1584 | '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 1585 | eslint: 8.18.0 1586 | eslint-config-airbnb-base: 15.0.0_srrmf5la5dmnsfe2mpg6sboreu 1587 | eslint-plugin-import: 2.26.0_zgg5sxdhnxsuz2d3vdnwdtmcnu 1588 | dev: true 1589 | 1590 | /eslint-config-prettier/8.5.0_eslint@8.18.0: 1591 | resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} 1592 | hasBin: true 1593 | peerDependencies: 1594 | eslint: '>=7.0.0' 1595 | dependencies: 1596 | eslint: 8.18.0 1597 | dev: true 1598 | 1599 | /eslint-import-resolver-node/0.3.6: 1600 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1601 | dependencies: 1602 | debug: 3.2.7 1603 | resolve: 1.22.1 1604 | transitivePeerDependencies: 1605 | - supports-color 1606 | dev: true 1607 | 1608 | /eslint-module-utils/2.7.3_tf5cicivm5w4o4owwu2j7i4y2u: 1609 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 1610 | engines: {node: '>=4'} 1611 | peerDependencies: 1612 | '@typescript-eslint/parser': '*' 1613 | eslint-import-resolver-node: '*' 1614 | eslint-import-resolver-typescript: '*' 1615 | eslint-import-resolver-webpack: '*' 1616 | peerDependenciesMeta: 1617 | '@typescript-eslint/parser': 1618 | optional: true 1619 | eslint-import-resolver-node: 1620 | optional: true 1621 | eslint-import-resolver-typescript: 1622 | optional: true 1623 | eslint-import-resolver-webpack: 1624 | optional: true 1625 | dependencies: 1626 | '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 1627 | debug: 3.2.7 1628 | eslint-import-resolver-node: 0.3.6 1629 | find-up: 2.1.0 1630 | transitivePeerDependencies: 1631 | - supports-color 1632 | dev: true 1633 | 1634 | /eslint-plugin-es/4.1.0_eslint@8.18.0: 1635 | resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} 1636 | engines: {node: '>=8.10.0'} 1637 | peerDependencies: 1638 | eslint: '>=4.19.1' 1639 | dependencies: 1640 | eslint: 8.18.0 1641 | eslint-utils: 2.1.0 1642 | regexpp: 3.2.0 1643 | dev: true 1644 | 1645 | /eslint-plugin-import/2.26.0_zgg5sxdhnxsuz2d3vdnwdtmcnu: 1646 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1647 | engines: {node: '>=4'} 1648 | peerDependencies: 1649 | '@typescript-eslint/parser': '*' 1650 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1651 | peerDependenciesMeta: 1652 | '@typescript-eslint/parser': 1653 | optional: true 1654 | dependencies: 1655 | '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e 1656 | array-includes: 3.1.5 1657 | array.prototype.flat: 1.3.0 1658 | debug: 2.6.9 1659 | doctrine: 2.1.0 1660 | eslint: 8.18.0 1661 | eslint-import-resolver-node: 0.3.6 1662 | eslint-module-utils: 2.7.3_tf5cicivm5w4o4owwu2j7i4y2u 1663 | has: 1.0.3 1664 | is-core-module: 2.9.0 1665 | is-glob: 4.0.3 1666 | minimatch: 3.1.2 1667 | object.values: 1.1.5 1668 | resolve: 1.22.1 1669 | tsconfig-paths: 3.14.1 1670 | transitivePeerDependencies: 1671 | - eslint-import-resolver-typescript 1672 | - eslint-import-resolver-webpack 1673 | - supports-color 1674 | dev: true 1675 | 1676 | /eslint-plugin-n/15.2.3_eslint@8.18.0: 1677 | resolution: {integrity: sha512-H+KC7U5R+3IWTeRnACm/4wlqLvS1Q7M6t7BGhn89qXDkZan8HTAEv3ouIONA0ifDwc2YzPFmyPzHuNLddNK4jw==} 1678 | engines: {node: '>=12.22.0'} 1679 | peerDependencies: 1680 | eslint: '>=7.0.0' 1681 | dependencies: 1682 | builtins: 5.0.1 1683 | eslint: 8.18.0 1684 | eslint-plugin-es: 4.1.0_eslint@8.18.0 1685 | eslint-utils: 3.0.0_eslint@8.18.0 1686 | ignore: 5.2.0 1687 | is-core-module: 2.9.0 1688 | minimatch: 3.1.2 1689 | resolve: 1.22.1 1690 | semver: 7.3.7 1691 | dev: true 1692 | 1693 | /eslint-plugin-prettier/4.0.0_xu6ewijrtliw5q5lksq5uixwby: 1694 | resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} 1695 | engines: {node: '>=6.0.0'} 1696 | peerDependencies: 1697 | eslint: '>=7.28.0' 1698 | eslint-config-prettier: '*' 1699 | prettier: '>=2.0.0' 1700 | peerDependenciesMeta: 1701 | eslint-config-prettier: 1702 | optional: true 1703 | dependencies: 1704 | eslint: 8.18.0 1705 | eslint-config-prettier: 8.5.0_eslint@8.18.0 1706 | prettier: 2.7.1 1707 | prettier-linter-helpers: 1.0.0 1708 | dev: true 1709 | 1710 | /eslint-plugin-promise/6.0.0_eslint@8.18.0: 1711 | resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} 1712 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1713 | peerDependencies: 1714 | eslint: ^7.0.0 || ^8.0.0 1715 | dependencies: 1716 | eslint: 8.18.0 1717 | dev: true 1718 | 1719 | /eslint-plugin-react/7.30.1_eslint@8.18.0: 1720 | resolution: {integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==} 1721 | engines: {node: '>=4'} 1722 | peerDependencies: 1723 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1724 | dependencies: 1725 | array-includes: 3.1.5 1726 | array.prototype.flatmap: 1.3.0 1727 | doctrine: 2.1.0 1728 | eslint: 8.18.0 1729 | estraverse: 5.3.0 1730 | jsx-ast-utils: 3.3.1 1731 | minimatch: 3.1.2 1732 | object.entries: 1.1.5 1733 | object.fromentries: 2.0.5 1734 | object.hasown: 1.1.1 1735 | object.values: 1.1.5 1736 | prop-types: 15.8.1 1737 | resolve: 2.0.0-next.4 1738 | semver: 6.3.0 1739 | string.prototype.matchall: 4.0.7 1740 | dev: true 1741 | 1742 | /eslint-scope/5.1.1: 1743 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1744 | engines: {node: '>=8.0.0'} 1745 | dependencies: 1746 | esrecurse: 4.3.0 1747 | estraverse: 4.3.0 1748 | dev: true 1749 | 1750 | /eslint-scope/7.1.1: 1751 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1752 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1753 | dependencies: 1754 | esrecurse: 4.3.0 1755 | estraverse: 5.3.0 1756 | dev: true 1757 | 1758 | /eslint-utils/2.1.0: 1759 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 1760 | engines: {node: '>=6'} 1761 | dependencies: 1762 | eslint-visitor-keys: 1.3.0 1763 | dev: true 1764 | 1765 | /eslint-utils/3.0.0_eslint@8.18.0: 1766 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1767 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1768 | peerDependencies: 1769 | eslint: '>=5' 1770 | dependencies: 1771 | eslint: 8.18.0 1772 | eslint-visitor-keys: 2.1.0 1773 | dev: true 1774 | 1775 | /eslint-visitor-keys/1.3.0: 1776 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 1777 | engines: {node: '>=4'} 1778 | dev: true 1779 | 1780 | /eslint-visitor-keys/2.1.0: 1781 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1782 | engines: {node: '>=10'} 1783 | dev: true 1784 | 1785 | /eslint-visitor-keys/3.3.0: 1786 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1787 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1788 | dev: true 1789 | 1790 | /eslint/8.18.0: 1791 | resolution: {integrity: sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==} 1792 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1793 | hasBin: true 1794 | dependencies: 1795 | '@eslint/eslintrc': 1.3.0 1796 | '@humanwhocodes/config-array': 0.9.5 1797 | ajv: 6.12.6 1798 | chalk: 4.1.2 1799 | cross-spawn: 7.0.3 1800 | debug: 4.3.4 1801 | doctrine: 3.0.0 1802 | escape-string-regexp: 4.0.0 1803 | eslint-scope: 7.1.1 1804 | eslint-utils: 3.0.0_eslint@8.18.0 1805 | eslint-visitor-keys: 3.3.0 1806 | espree: 9.3.2 1807 | esquery: 1.4.0 1808 | esutils: 2.0.3 1809 | fast-deep-equal: 3.1.3 1810 | file-entry-cache: 6.0.1 1811 | functional-red-black-tree: 1.0.1 1812 | glob-parent: 6.0.2 1813 | globals: 13.15.0 1814 | ignore: 5.2.0 1815 | import-fresh: 3.3.0 1816 | imurmurhash: 0.1.4 1817 | is-glob: 4.0.3 1818 | js-yaml: 4.1.0 1819 | json-stable-stringify-without-jsonify: 1.0.1 1820 | levn: 0.4.1 1821 | lodash.merge: 4.6.2 1822 | minimatch: 3.1.2 1823 | natural-compare: 1.4.0 1824 | optionator: 0.9.1 1825 | regexpp: 3.2.0 1826 | strip-ansi: 6.0.1 1827 | strip-json-comments: 3.1.1 1828 | text-table: 0.2.0 1829 | v8-compile-cache: 2.3.0 1830 | transitivePeerDependencies: 1831 | - supports-color 1832 | dev: true 1833 | 1834 | /espree/9.3.2: 1835 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} 1836 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1837 | dependencies: 1838 | acorn: 8.7.1 1839 | acorn-jsx: 5.3.2_acorn@8.7.1 1840 | eslint-visitor-keys: 3.3.0 1841 | dev: true 1842 | 1843 | /esquery/1.4.0: 1844 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1845 | engines: {node: '>=0.10'} 1846 | dependencies: 1847 | estraverse: 5.3.0 1848 | dev: true 1849 | 1850 | /esrecurse/4.3.0: 1851 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1852 | engines: {node: '>=4.0'} 1853 | dependencies: 1854 | estraverse: 5.3.0 1855 | dev: true 1856 | 1857 | /estraverse/4.3.0: 1858 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1859 | engines: {node: '>=4.0'} 1860 | dev: true 1861 | 1862 | /estraverse/5.3.0: 1863 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1864 | engines: {node: '>=4.0'} 1865 | dev: true 1866 | 1867 | /estree-walker/2.0.2: 1868 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1869 | dev: true 1870 | 1871 | /esutils/2.0.3: 1872 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1873 | engines: {node: '>=0.10.0'} 1874 | dev: true 1875 | 1876 | /fast-deep-equal/3.1.3: 1877 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1878 | dev: true 1879 | 1880 | /fast-diff/1.2.0: 1881 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} 1882 | dev: true 1883 | 1884 | /fast-glob/3.2.11: 1885 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1886 | engines: {node: '>=8.6.0'} 1887 | dependencies: 1888 | '@nodelib/fs.stat': 2.0.5 1889 | '@nodelib/fs.walk': 1.2.8 1890 | glob-parent: 5.1.2 1891 | merge2: 1.4.1 1892 | micromatch: 4.0.5 1893 | dev: true 1894 | 1895 | /fast-json-stable-stringify/2.1.0: 1896 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1897 | dev: true 1898 | 1899 | /fast-levenshtein/2.0.6: 1900 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1901 | dev: true 1902 | 1903 | /fastq/1.13.0: 1904 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1905 | dependencies: 1906 | reusify: 1.0.4 1907 | dev: true 1908 | 1909 | /file-entry-cache/6.0.1: 1910 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1911 | engines: {node: ^10.12.0 || >=12.0.0} 1912 | dependencies: 1913 | flat-cache: 3.0.4 1914 | dev: true 1915 | 1916 | /fill-range/7.0.1: 1917 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1918 | engines: {node: '>=8'} 1919 | dependencies: 1920 | to-regex-range: 5.0.1 1921 | dev: true 1922 | 1923 | /find-up/2.1.0: 1924 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 1925 | engines: {node: '>=4'} 1926 | dependencies: 1927 | locate-path: 2.0.0 1928 | dev: true 1929 | 1930 | /flat-cache/3.0.4: 1931 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1932 | engines: {node: ^10.12.0 || >=12.0.0} 1933 | dependencies: 1934 | flatted: 3.2.5 1935 | rimraf: 3.0.2 1936 | dev: true 1937 | 1938 | /flatted/3.2.5: 1939 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 1940 | dev: true 1941 | 1942 | /fs-extra/10.1.0: 1943 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1944 | engines: {node: '>=12'} 1945 | dependencies: 1946 | graceful-fs: 4.2.10 1947 | jsonfile: 6.1.0 1948 | universalify: 2.0.0 1949 | dev: true 1950 | 1951 | /fs.realpath/1.0.0: 1952 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1953 | 1954 | /fsevents/2.3.2: 1955 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1956 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1957 | os: [darwin] 1958 | requiresBuild: true 1959 | dev: true 1960 | optional: true 1961 | 1962 | /function-bind/1.1.1: 1963 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1964 | dev: true 1965 | 1966 | /function.prototype.name/1.1.5: 1967 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1968 | engines: {node: '>= 0.4'} 1969 | dependencies: 1970 | call-bind: 1.0.2 1971 | define-properties: 1.1.4 1972 | es-abstract: 1.20.1 1973 | functions-have-names: 1.2.3 1974 | dev: true 1975 | 1976 | /functional-red-black-tree/1.0.1: 1977 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1978 | dev: true 1979 | 1980 | /functions-have-names/1.2.3: 1981 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1982 | dev: true 1983 | 1984 | /gensync/1.0.0-beta.2: 1985 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1986 | engines: {node: '>=6.9.0'} 1987 | dev: true 1988 | 1989 | /get-intrinsic/1.1.2: 1990 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 1991 | dependencies: 1992 | function-bind: 1.1.1 1993 | has: 1.0.3 1994 | has-symbols: 1.0.3 1995 | dev: true 1996 | 1997 | /get-symbol-description/1.0.0: 1998 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1999 | engines: {node: '>= 0.4'} 2000 | dependencies: 2001 | call-bind: 1.0.2 2002 | get-intrinsic: 1.1.2 2003 | dev: true 2004 | 2005 | /glob-parent/5.1.2: 2006 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2007 | engines: {node: '>= 6'} 2008 | dependencies: 2009 | is-glob: 4.0.3 2010 | dev: true 2011 | 2012 | /glob-parent/6.0.2: 2013 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2014 | engines: {node: '>=10.13.0'} 2015 | dependencies: 2016 | is-glob: 4.0.3 2017 | dev: true 2018 | 2019 | /glob/7.2.3: 2020 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 2021 | dependencies: 2022 | fs.realpath: 1.0.0 2023 | inflight: 1.0.6 2024 | inherits: 2.0.4 2025 | minimatch: 3.1.2 2026 | once: 1.4.0 2027 | path-is-absolute: 1.0.1 2028 | 2029 | /globals/11.12.0: 2030 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2031 | engines: {node: '>=4'} 2032 | dev: true 2033 | 2034 | /globals/13.15.0: 2035 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} 2036 | engines: {node: '>=8'} 2037 | dependencies: 2038 | type-fest: 0.20.2 2039 | dev: true 2040 | 2041 | /globby/11.1.0: 2042 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2043 | engines: {node: '>=10'} 2044 | dependencies: 2045 | array-union: 2.1.0 2046 | dir-glob: 3.0.1 2047 | fast-glob: 3.2.11 2048 | ignore: 5.2.0 2049 | merge2: 1.4.1 2050 | slash: 3.0.0 2051 | dev: true 2052 | 2053 | /graceful-fs/4.2.10: 2054 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 2055 | requiresBuild: true 2056 | dev: true 2057 | 2058 | /has-bigints/1.0.2: 2059 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 2060 | dev: true 2061 | 2062 | /has-flag/3.0.0: 2063 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2064 | engines: {node: '>=4'} 2065 | dev: true 2066 | 2067 | /has-flag/4.0.0: 2068 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2069 | engines: {node: '>=8'} 2070 | dev: true 2071 | 2072 | /has-property-descriptors/1.0.0: 2073 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2074 | dependencies: 2075 | get-intrinsic: 1.1.2 2076 | dev: true 2077 | 2078 | /has-symbols/1.0.3: 2079 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2080 | engines: {node: '>= 0.4'} 2081 | dev: true 2082 | 2083 | /has-tostringtag/1.0.0: 2084 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 2085 | engines: {node: '>= 0.4'} 2086 | dependencies: 2087 | has-symbols: 1.0.3 2088 | dev: true 2089 | 2090 | /has/1.0.3: 2091 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2092 | engines: {node: '>= 0.4.0'} 2093 | dependencies: 2094 | function-bind: 1.1.1 2095 | dev: true 2096 | 2097 | /iconv-lite/0.6.3: 2098 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 2099 | engines: {node: '>=0.10.0'} 2100 | dependencies: 2101 | safer-buffer: 2.1.2 2102 | dev: true 2103 | optional: true 2104 | 2105 | /ignore/5.2.0: 2106 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 2107 | engines: {node: '>= 4'} 2108 | dev: true 2109 | 2110 | /image-size/0.5.5: 2111 | resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} 2112 | engines: {node: '>=0.10.0'} 2113 | hasBin: true 2114 | requiresBuild: true 2115 | dev: true 2116 | optional: true 2117 | 2118 | /import-fresh/3.3.0: 2119 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2120 | engines: {node: '>=6'} 2121 | dependencies: 2122 | parent-module: 1.0.1 2123 | resolve-from: 4.0.0 2124 | dev: true 2125 | 2126 | /imurmurhash/0.1.4: 2127 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2128 | engines: {node: '>=0.8.19'} 2129 | dev: true 2130 | 2131 | /inflight/1.0.6: 2132 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2133 | dependencies: 2134 | once: 1.4.0 2135 | wrappy: 1.0.2 2136 | 2137 | /inherits/2.0.4: 2138 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2139 | 2140 | /internal-slot/1.0.3: 2141 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 2142 | engines: {node: '>= 0.4'} 2143 | dependencies: 2144 | get-intrinsic: 1.1.2 2145 | has: 1.0.3 2146 | side-channel: 1.0.4 2147 | dev: true 2148 | 2149 | /invariant/2.2.4: 2150 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 2151 | dependencies: 2152 | loose-envify: 1.4.0 2153 | dev: false 2154 | 2155 | /is-bigint/1.0.4: 2156 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 2157 | dependencies: 2158 | has-bigints: 1.0.2 2159 | dev: true 2160 | 2161 | /is-binary-path/2.1.0: 2162 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2163 | engines: {node: '>=8'} 2164 | dependencies: 2165 | binary-extensions: 2.2.0 2166 | dev: true 2167 | 2168 | /is-boolean-object/1.1.2: 2169 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 2170 | engines: {node: '>= 0.4'} 2171 | dependencies: 2172 | call-bind: 1.0.2 2173 | has-tostringtag: 1.0.0 2174 | dev: true 2175 | 2176 | /is-callable/1.2.4: 2177 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 2178 | engines: {node: '>= 0.4'} 2179 | dev: true 2180 | 2181 | /is-core-module/2.9.0: 2182 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 2183 | dependencies: 2184 | has: 1.0.3 2185 | dev: true 2186 | 2187 | /is-date-object/1.0.5: 2188 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 2189 | engines: {node: '>= 0.4'} 2190 | dependencies: 2191 | has-tostringtag: 1.0.0 2192 | dev: true 2193 | 2194 | /is-extglob/2.1.1: 2195 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2196 | engines: {node: '>=0.10.0'} 2197 | dev: true 2198 | 2199 | /is-glob/4.0.3: 2200 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2201 | engines: {node: '>=0.10.0'} 2202 | dependencies: 2203 | is-extglob: 2.1.1 2204 | dev: true 2205 | 2206 | /is-negative-zero/2.0.2: 2207 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2208 | engines: {node: '>= 0.4'} 2209 | dev: true 2210 | 2211 | /is-number-object/1.0.7: 2212 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 2213 | engines: {node: '>= 0.4'} 2214 | dependencies: 2215 | has-tostringtag: 1.0.0 2216 | dev: true 2217 | 2218 | /is-number/7.0.0: 2219 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2220 | engines: {node: '>=0.12.0'} 2221 | dev: true 2222 | 2223 | /is-regex/1.1.4: 2224 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2225 | engines: {node: '>= 0.4'} 2226 | dependencies: 2227 | call-bind: 1.0.2 2228 | has-tostringtag: 1.0.0 2229 | dev: true 2230 | 2231 | /is-shared-array-buffer/1.0.2: 2232 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2233 | dependencies: 2234 | call-bind: 1.0.2 2235 | dev: true 2236 | 2237 | /is-string/1.0.7: 2238 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2239 | engines: {node: '>= 0.4'} 2240 | dependencies: 2241 | has-tostringtag: 1.0.0 2242 | dev: true 2243 | 2244 | /is-symbol/1.0.4: 2245 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2246 | engines: {node: '>= 0.4'} 2247 | dependencies: 2248 | has-symbols: 1.0.3 2249 | dev: true 2250 | 2251 | /is-weakref/1.0.2: 2252 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2253 | dependencies: 2254 | call-bind: 1.0.2 2255 | dev: true 2256 | 2257 | /is-what/3.14.1: 2258 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} 2259 | dev: true 2260 | 2261 | /isexe/2.0.0: 2262 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2263 | dev: true 2264 | 2265 | /js-tokens/4.0.0: 2266 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2267 | 2268 | /js-yaml/4.1.0: 2269 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2270 | hasBin: true 2271 | dependencies: 2272 | argparse: 2.0.1 2273 | dev: true 2274 | 2275 | /jsesc/2.5.2: 2276 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2277 | engines: {node: '>=4'} 2278 | hasBin: true 2279 | dev: true 2280 | 2281 | /json-schema-traverse/0.4.1: 2282 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2283 | dev: true 2284 | 2285 | /json-stable-stringify-without-jsonify/1.0.1: 2286 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2287 | dev: true 2288 | 2289 | /json5/1.0.1: 2290 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2291 | hasBin: true 2292 | dependencies: 2293 | minimist: 1.2.6 2294 | dev: true 2295 | 2296 | /json5/2.2.1: 2297 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2298 | engines: {node: '>=6'} 2299 | hasBin: true 2300 | dev: true 2301 | 2302 | /jsonfile/6.1.0: 2303 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2304 | dependencies: 2305 | universalify: 2.0.0 2306 | optionalDependencies: 2307 | graceful-fs: 4.2.10 2308 | dev: true 2309 | 2310 | /jsx-ast-utils/3.3.1: 2311 | resolution: {integrity: sha512-pxrjmNpeRw5wwVeWyEAk7QJu2GnBO3uzPFmHCKJJFPKK2Cy0cWL23krGtLdnMmbIi6/FjlrQpPyfQI19ByPOhQ==} 2312 | engines: {node: '>=4.0'} 2313 | dependencies: 2314 | array-includes: 3.1.5 2315 | object.assign: 4.1.2 2316 | dev: true 2317 | 2318 | /less/4.1.3: 2319 | resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} 2320 | engines: {node: '>=6'} 2321 | hasBin: true 2322 | dependencies: 2323 | copy-anything: 2.0.6 2324 | parse-node-version: 1.0.1 2325 | tslib: 2.4.0 2326 | optionalDependencies: 2327 | errno: 0.1.8 2328 | graceful-fs: 4.2.10 2329 | image-size: 0.5.5 2330 | make-dir: 2.1.0 2331 | mime: 1.6.0 2332 | needle: 3.1.0 2333 | source-map: 0.6.1 2334 | transitivePeerDependencies: 2335 | - supports-color 2336 | dev: true 2337 | 2338 | /levn/0.4.1: 2339 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2340 | engines: {node: '>= 0.8.0'} 2341 | dependencies: 2342 | prelude-ls: 1.2.1 2343 | type-check: 0.4.0 2344 | dev: true 2345 | 2346 | /locate-path/2.0.0: 2347 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 2348 | engines: {node: '>=4'} 2349 | dependencies: 2350 | p-locate: 2.0.0 2351 | path-exists: 3.0.0 2352 | dev: true 2353 | 2354 | /lodash.merge/4.6.2: 2355 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2356 | dev: true 2357 | 2358 | /lodash/4.17.21: 2359 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2360 | dev: false 2361 | 2362 | /loose-envify/1.4.0: 2363 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2364 | hasBin: true 2365 | dependencies: 2366 | js-tokens: 4.0.0 2367 | 2368 | /lru-cache/6.0.0: 2369 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2370 | engines: {node: '>=10'} 2371 | dependencies: 2372 | yallist: 4.0.0 2373 | dev: true 2374 | 2375 | /make-dir/2.1.0: 2376 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} 2377 | engines: {node: '>=6'} 2378 | requiresBuild: true 2379 | dependencies: 2380 | pify: 4.0.1 2381 | semver: 5.7.1 2382 | dev: true 2383 | optional: true 2384 | 2385 | /make-error/1.3.6: 2386 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 2387 | dev: true 2388 | 2389 | /memoize-one/5.2.1: 2390 | resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} 2391 | dev: false 2392 | 2393 | /merge2/1.4.1: 2394 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2395 | engines: {node: '>= 8'} 2396 | dev: true 2397 | 2398 | /micromatch/4.0.5: 2399 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2400 | engines: {node: '>=8.6'} 2401 | dependencies: 2402 | braces: 3.0.2 2403 | picomatch: 2.3.1 2404 | dev: true 2405 | 2406 | /mime/1.6.0: 2407 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 2408 | engines: {node: '>=4'} 2409 | hasBin: true 2410 | requiresBuild: true 2411 | dev: true 2412 | optional: true 2413 | 2414 | /minimatch/3.1.2: 2415 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2416 | dependencies: 2417 | brace-expansion: 1.1.11 2418 | 2419 | /minimist/1.2.6: 2420 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2421 | dev: true 2422 | 2423 | /ms/2.0.0: 2424 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2425 | dev: true 2426 | 2427 | /ms/2.1.2: 2428 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2429 | dev: true 2430 | 2431 | /ms/2.1.3: 2432 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2433 | dev: true 2434 | 2435 | /nanoid/3.3.4: 2436 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2437 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2438 | hasBin: true 2439 | dev: true 2440 | 2441 | /natural-compare/1.4.0: 2442 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2443 | dev: true 2444 | 2445 | /needle/3.1.0: 2446 | resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==} 2447 | engines: {node: '>= 4.4.x'} 2448 | hasBin: true 2449 | requiresBuild: true 2450 | dependencies: 2451 | debug: 3.2.7 2452 | iconv-lite: 0.6.3 2453 | sax: 1.2.4 2454 | transitivePeerDependencies: 2455 | - supports-color 2456 | dev: true 2457 | optional: true 2458 | 2459 | /node-releases/2.0.5: 2460 | resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} 2461 | dev: true 2462 | 2463 | /normalize-path/3.0.0: 2464 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2465 | engines: {node: '>=0.10.0'} 2466 | dev: true 2467 | 2468 | /object-assign/4.1.1: 2469 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2470 | engines: {node: '>=0.10.0'} 2471 | 2472 | /object-inspect/1.12.2: 2473 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2474 | dev: true 2475 | 2476 | /object-keys/1.1.1: 2477 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2478 | engines: {node: '>= 0.4'} 2479 | dev: true 2480 | 2481 | /object.assign/4.1.2: 2482 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2483 | engines: {node: '>= 0.4'} 2484 | dependencies: 2485 | call-bind: 1.0.2 2486 | define-properties: 1.1.4 2487 | has-symbols: 1.0.3 2488 | object-keys: 1.1.1 2489 | dev: true 2490 | 2491 | /object.entries/1.1.5: 2492 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 2493 | engines: {node: '>= 0.4'} 2494 | dependencies: 2495 | call-bind: 1.0.2 2496 | define-properties: 1.1.4 2497 | es-abstract: 1.20.1 2498 | dev: true 2499 | 2500 | /object.fromentries/2.0.5: 2501 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} 2502 | engines: {node: '>= 0.4'} 2503 | dependencies: 2504 | call-bind: 1.0.2 2505 | define-properties: 1.1.4 2506 | es-abstract: 1.20.1 2507 | dev: true 2508 | 2509 | /object.hasown/1.1.1: 2510 | resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} 2511 | dependencies: 2512 | define-properties: 1.1.4 2513 | es-abstract: 1.20.1 2514 | dev: true 2515 | 2516 | /object.values/1.1.5: 2517 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2518 | engines: {node: '>= 0.4'} 2519 | dependencies: 2520 | call-bind: 1.0.2 2521 | define-properties: 1.1.4 2522 | es-abstract: 1.20.1 2523 | dev: true 2524 | 2525 | /once/1.4.0: 2526 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2527 | dependencies: 2528 | wrappy: 1.0.2 2529 | 2530 | /optionator/0.9.1: 2531 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2532 | engines: {node: '>= 0.8.0'} 2533 | dependencies: 2534 | deep-is: 0.1.4 2535 | fast-levenshtein: 2.0.6 2536 | levn: 0.4.1 2537 | prelude-ls: 1.2.1 2538 | type-check: 0.4.0 2539 | word-wrap: 1.2.3 2540 | dev: true 2541 | 2542 | /p-limit/1.3.0: 2543 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2544 | engines: {node: '>=4'} 2545 | dependencies: 2546 | p-try: 1.0.0 2547 | dev: true 2548 | 2549 | /p-locate/2.0.0: 2550 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 2551 | engines: {node: '>=4'} 2552 | dependencies: 2553 | p-limit: 1.3.0 2554 | dev: true 2555 | 2556 | /p-try/1.0.0: 2557 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 2558 | engines: {node: '>=4'} 2559 | dev: true 2560 | 2561 | /parent-module/1.0.1: 2562 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2563 | engines: {node: '>=6'} 2564 | dependencies: 2565 | callsites: 3.1.0 2566 | dev: true 2567 | 2568 | /parse-node-version/1.0.1: 2569 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 2570 | engines: {node: '>= 0.10'} 2571 | dev: true 2572 | 2573 | /path-exists/3.0.0: 2574 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 2575 | engines: {node: '>=4'} 2576 | dev: true 2577 | 2578 | /path-is-absolute/1.0.1: 2579 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2580 | engines: {node: '>=0.10.0'} 2581 | 2582 | /path-key/3.1.1: 2583 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2584 | engines: {node: '>=8'} 2585 | dev: true 2586 | 2587 | /path-parse/1.0.7: 2588 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2589 | dev: true 2590 | 2591 | /path-type/4.0.0: 2592 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2593 | engines: {node: '>=8'} 2594 | dev: true 2595 | 2596 | /picocolors/1.0.0: 2597 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2598 | dev: true 2599 | 2600 | /picomatch/2.3.1: 2601 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2602 | engines: {node: '>=8.6'} 2603 | dev: true 2604 | 2605 | /pify/4.0.1: 2606 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2607 | engines: {node: '>=6'} 2608 | dev: true 2609 | optional: true 2610 | 2611 | /postcss/8.4.14: 2612 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 2613 | engines: {node: ^10 || ^12 || >=14} 2614 | dependencies: 2615 | nanoid: 3.3.4 2616 | picocolors: 1.0.0 2617 | source-map-js: 1.0.2 2618 | dev: true 2619 | 2620 | /prelude-ls/1.2.1: 2621 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2622 | engines: {node: '>= 0.8.0'} 2623 | dev: true 2624 | 2625 | /prettier-linter-helpers/1.0.0: 2626 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 2627 | engines: {node: '>=6.0.0'} 2628 | dependencies: 2629 | fast-diff: 1.2.0 2630 | dev: true 2631 | 2632 | /prettier/2.7.1: 2633 | resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} 2634 | engines: {node: '>=10.13.0'} 2635 | hasBin: true 2636 | dev: true 2637 | 2638 | /prop-types/15.7.2: 2639 | resolution: {integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==} 2640 | dependencies: 2641 | loose-envify: 1.4.0 2642 | object-assign: 4.1.1 2643 | react-is: 16.13.1 2644 | 2645 | /prop-types/15.8.1: 2646 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2647 | dependencies: 2648 | loose-envify: 1.4.0 2649 | object-assign: 4.1.1 2650 | react-is: 16.13.1 2651 | 2652 | /prr/1.0.1: 2653 | resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} 2654 | dev: true 2655 | optional: true 2656 | 2657 | /punycode/2.1.1: 2658 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2659 | engines: {node: '>=6'} 2660 | dev: true 2661 | 2662 | /queue-microtask/1.2.3: 2663 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2664 | dev: true 2665 | 2666 | /react-dom/18.2.0_react@18.2.0: 2667 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2668 | peerDependencies: 2669 | react: ^18.2.0 2670 | dependencies: 2671 | loose-envify: 1.4.0 2672 | react: 18.2.0 2673 | scheduler: 0.23.0 2674 | dev: false 2675 | 2676 | /react-draggable/4.4.5_biqbaboplfbrettd7655fr4n2y: 2677 | resolution: {integrity: sha512-OMHzJdyJbYTZo4uQE393fHcqqPYsEtkjfMgvCHr6rejT+Ezn4OZbNyGH50vv+SunC1RMvwOTSWkEODQLzw1M9g==} 2678 | peerDependencies: 2679 | react: '>= 16.3.0' 2680 | react-dom: '>= 16.3.0' 2681 | dependencies: 2682 | clsx: 1.1.1 2683 | prop-types: 15.8.1 2684 | react: 18.2.0 2685 | react-dom: 18.2.0_react@18.2.0 2686 | dev: false 2687 | 2688 | /react-is/16.13.1: 2689 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2690 | 2691 | /react-refresh/0.13.0: 2692 | resolution: {integrity: sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==} 2693 | engines: {node: '>=0.10.0'} 2694 | dev: true 2695 | 2696 | /react-resizable/1.11.1_biqbaboplfbrettd7655fr4n2y: 2697 | resolution: {integrity: sha512-S70gbLaAYqjuAd49utRHibtHLrHXInh7GuOR+6OO6RO6uleQfuBnWmZjRABfqNEx3C3Z6VPLg0/0uOYFrkfu9Q==} 2698 | peerDependencies: 2699 | react: 0.14.x || 15.x || 16.x || 17.x 2700 | react-dom: 0.14.x || 15.x || 16.x || 17.x 2701 | dependencies: 2702 | prop-types: 15.8.1 2703 | react: 18.2.0 2704 | react-dom: 18.2.0_react@18.2.0 2705 | react-draggable: 4.4.5_biqbaboplfbrettd7655fr4n2y 2706 | dev: false 2707 | 2708 | /react-sortable-hoc/2.0.0_biqbaboplfbrettd7655fr4n2y: 2709 | resolution: {integrity: sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==} 2710 | peerDependencies: 2711 | react: ^16.3.0 || ^17.0.0 2712 | react-dom: ^16.3.0 || ^17.0.0 2713 | dependencies: 2714 | '@babel/runtime': 7.18.3 2715 | invariant: 2.2.4 2716 | prop-types: 15.8.1 2717 | react: 18.2.0 2718 | react-dom: 18.2.0_react@18.2.0 2719 | dev: false 2720 | 2721 | /react-window/1.8.7_biqbaboplfbrettd7655fr4n2y: 2722 | resolution: {integrity: sha512-JHEZbPXBpKMmoNO1bNhoXOOLg/ujhL/BU4IqVU9r8eQPcy5KQnGHIHDRkJ0ns9IM5+Aq5LNwt3j8t3tIrePQzA==} 2723 | engines: {node: '>8.0.0'} 2724 | peerDependencies: 2725 | react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 2726 | react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 2727 | dependencies: 2728 | '@babel/runtime': 7.18.3 2729 | memoize-one: 5.2.1 2730 | react: 18.2.0 2731 | react-dom: 18.2.0_react@18.2.0 2732 | dev: false 2733 | 2734 | /react/18.2.0: 2735 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2736 | engines: {node: '>=0.10.0'} 2737 | dependencies: 2738 | loose-envify: 1.4.0 2739 | dev: false 2740 | 2741 | /readdirp/3.6.0: 2742 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2743 | engines: {node: '>=8.10.0'} 2744 | dependencies: 2745 | picomatch: 2.3.1 2746 | dev: true 2747 | 2748 | /regenerator-runtime/0.13.9: 2749 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 2750 | dev: false 2751 | 2752 | /regexp.prototype.flags/1.4.3: 2753 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2754 | engines: {node: '>= 0.4'} 2755 | dependencies: 2756 | call-bind: 1.0.2 2757 | define-properties: 1.1.4 2758 | functions-have-names: 1.2.3 2759 | dev: true 2760 | 2761 | /regexpp/3.2.0: 2762 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2763 | engines: {node: '>=8'} 2764 | dev: true 2765 | 2766 | /resize-observer-polyfill/1.5.1: 2767 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 2768 | dev: false 2769 | 2770 | /resolve-from/4.0.0: 2771 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2772 | engines: {node: '>=4'} 2773 | dev: true 2774 | 2775 | /resolve/1.22.1: 2776 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2777 | hasBin: true 2778 | dependencies: 2779 | is-core-module: 2.9.0 2780 | path-parse: 1.0.7 2781 | supports-preserve-symlinks-flag: 1.0.0 2782 | dev: true 2783 | 2784 | /resolve/2.0.0-next.4: 2785 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} 2786 | hasBin: true 2787 | dependencies: 2788 | is-core-module: 2.9.0 2789 | path-parse: 1.0.7 2790 | supports-preserve-symlinks-flag: 1.0.0 2791 | dev: true 2792 | 2793 | /reusify/1.0.4: 2794 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2795 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2796 | dev: true 2797 | 2798 | /rimraf/3.0.2: 2799 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2800 | hasBin: true 2801 | dependencies: 2802 | glob: 7.2.3 2803 | dev: true 2804 | 2805 | /rollup/2.75.7: 2806 | resolution: {integrity: sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==} 2807 | engines: {node: '>=10.0.0'} 2808 | hasBin: true 2809 | optionalDependencies: 2810 | fsevents: 2.3.2 2811 | dev: true 2812 | 2813 | /run-parallel/1.2.0: 2814 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2815 | dependencies: 2816 | queue-microtask: 1.2.3 2817 | dev: true 2818 | 2819 | /safe-buffer/5.1.2: 2820 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2821 | dev: true 2822 | 2823 | /safer-buffer/2.1.2: 2824 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2825 | dev: true 2826 | optional: true 2827 | 2828 | /sax/1.2.4: 2829 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 2830 | dev: true 2831 | optional: true 2832 | 2833 | /scheduler/0.23.0: 2834 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2835 | dependencies: 2836 | loose-envify: 1.4.0 2837 | dev: false 2838 | 2839 | /scroll-into-view-if-needed/2.2.29: 2840 | resolution: {integrity: sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==} 2841 | dependencies: 2842 | compute-scroll-into-view: 1.0.17 2843 | dev: false 2844 | 2845 | /semver/5.7.1: 2846 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2847 | hasBin: true 2848 | dev: true 2849 | optional: true 2850 | 2851 | /semver/6.3.0: 2852 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2853 | hasBin: true 2854 | dev: true 2855 | 2856 | /semver/7.3.7: 2857 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2858 | engines: {node: '>=10'} 2859 | hasBin: true 2860 | dependencies: 2861 | lru-cache: 6.0.0 2862 | dev: true 2863 | 2864 | /shebang-command/2.0.0: 2865 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2866 | engines: {node: '>=8'} 2867 | dependencies: 2868 | shebang-regex: 3.0.0 2869 | dev: true 2870 | 2871 | /shebang-regex/3.0.0: 2872 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2873 | engines: {node: '>=8'} 2874 | dev: true 2875 | 2876 | /side-channel/1.0.4: 2877 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2878 | dependencies: 2879 | call-bind: 1.0.2 2880 | get-intrinsic: 1.1.2 2881 | object-inspect: 1.12.2 2882 | dev: true 2883 | 2884 | /slash/3.0.0: 2885 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2886 | engines: {node: '>=8'} 2887 | dev: true 2888 | 2889 | /source-map-js/1.0.2: 2890 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2891 | engines: {node: '>=0.10.0'} 2892 | dev: true 2893 | 2894 | /source-map/0.6.1: 2895 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2896 | engines: {node: '>=0.10.0'} 2897 | requiresBuild: true 2898 | dev: true 2899 | optional: true 2900 | 2901 | /string.prototype.matchall/4.0.7: 2902 | resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} 2903 | dependencies: 2904 | call-bind: 1.0.2 2905 | define-properties: 1.1.4 2906 | es-abstract: 1.20.1 2907 | get-intrinsic: 1.1.2 2908 | has-symbols: 1.0.3 2909 | internal-slot: 1.0.3 2910 | regexp.prototype.flags: 1.4.3 2911 | side-channel: 1.0.4 2912 | dev: true 2913 | 2914 | /string.prototype.trimend/1.0.5: 2915 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 2916 | dependencies: 2917 | call-bind: 1.0.2 2918 | define-properties: 1.1.4 2919 | es-abstract: 1.20.1 2920 | dev: true 2921 | 2922 | /string.prototype.trimstart/1.0.5: 2923 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 2924 | dependencies: 2925 | call-bind: 1.0.2 2926 | define-properties: 1.1.4 2927 | es-abstract: 1.20.1 2928 | dev: true 2929 | 2930 | /strip-ansi/6.0.1: 2931 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2932 | engines: {node: '>=8'} 2933 | dependencies: 2934 | ansi-regex: 5.0.1 2935 | dev: true 2936 | 2937 | /strip-bom/3.0.0: 2938 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2939 | engines: {node: '>=4'} 2940 | dev: true 2941 | 2942 | /strip-json-comments/3.1.1: 2943 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2944 | engines: {node: '>=8'} 2945 | dev: true 2946 | 2947 | /style-mod/4.0.0: 2948 | resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} 2949 | dev: false 2950 | 2951 | /supports-color/5.5.0: 2952 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2953 | engines: {node: '>=4'} 2954 | dependencies: 2955 | has-flag: 3.0.0 2956 | dev: true 2957 | 2958 | /supports-color/7.2.0: 2959 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2960 | engines: {node: '>=8'} 2961 | dependencies: 2962 | has-flag: 4.0.0 2963 | dev: true 2964 | 2965 | /supports-preserve-symlinks-flag/1.0.0: 2966 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2967 | engines: {node: '>= 0.4'} 2968 | dev: true 2969 | 2970 | /text-table/0.2.0: 2971 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2972 | dev: true 2973 | 2974 | /to-fast-properties/2.0.0: 2975 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2976 | engines: {node: '>=4'} 2977 | dev: true 2978 | 2979 | /to-regex-range/5.0.1: 2980 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2981 | engines: {node: '>=8.0'} 2982 | dependencies: 2983 | is-number: 7.0.0 2984 | dev: true 2985 | 2986 | /ts-node/10.8.1_qiyc72axg2v44xl4yovan2v55u: 2987 | resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} 2988 | hasBin: true 2989 | peerDependencies: 2990 | '@swc/core': '>=1.2.50' 2991 | '@swc/wasm': '>=1.2.50' 2992 | '@types/node': '*' 2993 | typescript: '>=2.7' 2994 | peerDependenciesMeta: 2995 | '@swc/core': 2996 | optional: true 2997 | '@swc/wasm': 2998 | optional: true 2999 | dependencies: 3000 | '@cspotcode/source-map-support': 0.8.1 3001 | '@tsconfig/node10': 1.0.9 3002 | '@tsconfig/node12': 1.0.11 3003 | '@tsconfig/node14': 1.0.3 3004 | '@tsconfig/node16': 1.0.3 3005 | '@types/node': 18.0.0 3006 | acorn: 8.7.1 3007 | acorn-walk: 8.2.0 3008 | arg: 4.1.3 3009 | create-require: 1.1.1 3010 | diff: 4.0.2 3011 | make-error: 1.3.6 3012 | typescript: 4.7.4 3013 | v8-compile-cache-lib: 3.0.1 3014 | yn: 3.1.1 3015 | dev: true 3016 | 3017 | /tsconfig-paths/3.14.1: 3018 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3019 | dependencies: 3020 | '@types/json5': 0.0.29 3021 | json5: 1.0.1 3022 | minimist: 1.2.6 3023 | strip-bom: 3.0.0 3024 | dev: true 3025 | 3026 | /tslib/1.14.1: 3027 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3028 | dev: true 3029 | 3030 | /tslib/2.4.0: 3031 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 3032 | dev: true 3033 | 3034 | /tsutils/3.21.0_typescript@4.7.4: 3035 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3036 | engines: {node: '>= 6'} 3037 | peerDependencies: 3038 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3039 | dependencies: 3040 | tslib: 1.14.1 3041 | typescript: 4.7.4 3042 | dev: true 3043 | 3044 | /type-check/0.4.0: 3045 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3046 | engines: {node: '>= 0.8.0'} 3047 | dependencies: 3048 | prelude-ls: 1.2.1 3049 | dev: true 3050 | 3051 | /type-fest/0.20.2: 3052 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3053 | engines: {node: '>=10'} 3054 | dev: true 3055 | 3056 | /typescript/4.7.4: 3057 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 3058 | engines: {node: '>=4.2.0'} 3059 | hasBin: true 3060 | dev: true 3061 | 3062 | /unbox-primitive/1.0.2: 3063 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3064 | dependencies: 3065 | call-bind: 1.0.2 3066 | has-bigints: 1.0.2 3067 | has-symbols: 1.0.3 3068 | which-boxed-primitive: 1.0.2 3069 | dev: true 3070 | 3071 | /universalify/2.0.0: 3072 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 3073 | engines: {node: '>= 10.0.0'} 3074 | dev: true 3075 | 3076 | /update-browserslist-db/1.0.4_browserslist@4.21.0: 3077 | resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} 3078 | hasBin: true 3079 | peerDependencies: 3080 | browserslist: '>= 4.21.0' 3081 | dependencies: 3082 | browserslist: 4.21.0 3083 | escalade: 3.1.1 3084 | picocolors: 1.0.0 3085 | dev: true 3086 | 3087 | /uri-js/4.4.1: 3088 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3089 | dependencies: 3090 | punycode: 2.1.1 3091 | dev: true 3092 | 3093 | /utility-types/3.10.0: 3094 | resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==} 3095 | engines: {node: '>= 4'} 3096 | dev: false 3097 | 3098 | /v8-compile-cache-lib/3.0.1: 3099 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 3100 | dev: true 3101 | 3102 | /v8-compile-cache/2.3.0: 3103 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 3104 | dev: true 3105 | 3106 | /vite-plugin-static-copy/0.6.0_vite@2.9.12: 3107 | resolution: {integrity: sha512-KfNhy33p//M5Fq1RcZU+H+1KVagXR9JbAy6KIE8IiWj2j3wRtRPoyh8TYJvVgC+adyKj3Y+KiGUf0GwjI9JHtg==} 3108 | engines: {node: '>=12.2'} 3109 | peerDependencies: 3110 | vite: ^2.6.14 3111 | dependencies: 3112 | chokidar: 3.5.3 3113 | fast-glob: 3.2.11 3114 | fs-extra: 10.1.0 3115 | picocolors: 1.0.0 3116 | vite: 2.9.12_less@4.1.3 3117 | dev: true 3118 | 3119 | /vite/2.9.12_less@4.1.3: 3120 | resolution: {integrity: sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==} 3121 | engines: {node: '>=12.2.0'} 3122 | hasBin: true 3123 | peerDependencies: 3124 | less: '*' 3125 | sass: '*' 3126 | stylus: '*' 3127 | peerDependenciesMeta: 3128 | less: 3129 | optional: true 3130 | sass: 3131 | optional: true 3132 | stylus: 3133 | optional: true 3134 | dependencies: 3135 | esbuild: 0.14.47 3136 | less: 4.1.3 3137 | postcss: 8.4.14 3138 | resolve: 1.22.1 3139 | rollup: 2.75.7 3140 | optionalDependencies: 3141 | fsevents: 2.3.2 3142 | dev: true 3143 | 3144 | /w3c-keyname/2.2.4: 3145 | resolution: {integrity: sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==} 3146 | dev: false 3147 | 3148 | /which-boxed-primitive/1.0.2: 3149 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3150 | dependencies: 3151 | is-bigint: 1.0.4 3152 | is-boolean-object: 1.1.2 3153 | is-number-object: 1.0.7 3154 | is-string: 1.0.7 3155 | is-symbol: 1.0.4 3156 | dev: true 3157 | 3158 | /which/2.0.2: 3159 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3160 | engines: {node: '>= 8'} 3161 | hasBin: true 3162 | dependencies: 3163 | isexe: 2.0.0 3164 | dev: true 3165 | 3166 | /word-wrap/1.2.3: 3167 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3168 | engines: {node: '>=0.10.0'} 3169 | dev: true 3170 | 3171 | /wrappy/1.0.2: 3172 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3173 | 3174 | /yallist/4.0.0: 3175 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3176 | dev: true 3177 | 3178 | /yn/3.1.1: 3179 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 3180 | engines: {node: '>=6'} 3181 | dev: true 3182 | --------------------------------------------------------------------------------