├── .gitattributes ├── .github └── workflows │ └── main.yml ├── .gitignore ├── Assets └── banner.png ├── CHANGELOG.md ├── README.md ├── build ├── index.d.ts ├── paper.js └── paper.js.map ├── example ├── README.md ├── index.html ├── index.js ├── package.json ├── rollup.config.dev.js ├── rollup.config.js ├── src │ ├── App.css │ ├── App.js │ ├── Text.js │ └── three │ │ ├── lights.js │ │ ├── main.js │ │ └── setup.js ├── static │ ├── shaders │ │ ├── frag │ │ │ ├── defines.glsl │ │ │ ├── header.glsl │ │ │ └── main.glsl │ │ ├── particle_defines.glsl │ │ ├── particle_header.glsl │ │ └── particle_main.glsl │ └── textures │ │ └── circle-sprite.png └── yarn.lock ├── index.tsx ├── package.json ├── rollup.config.js ├── scripts └── getChange.sh ├── tsconfig.json └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | build/**/* linguist-vendored 2 | example/**/* linguist-vendored 3 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Main 🧠 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | build-and-deploy: 8 | runs-on: ubuntu-latest 9 | env: 10 | INPUT_TOKEN: "" 11 | steps: 12 | - name: Checkout repo 13 | uses: actions/checkout@v2 14 | 15 | - name: Build 16 | run: | 17 | yarn install 18 | yarn build 19 | 20 | - name: Publish to NPM 21 | uses: JS-DevTools/npm-publish@v1 22 | id: publish 23 | with: 24 | token: ${{ secrets.NPM_TOKEN }} 25 | 26 | - name: Generate example 27 | run: | 28 | cd example 29 | yarn install 30 | yarn build 31 | cd .. 32 | 33 | - name: Publish docs 34 | uses: JamesIves/github-pages-deploy-action@4.1.1 35 | with: 36 | branch: gh-pages 37 | folder: example/dist 38 | 39 | - name: Get changes from changelog 40 | run: | 41 | chmod +x scripts/getChange.sh 42 | ./scripts/getChange.sh ${{steps.publish.outputs.version}} CHANGELOG.md > CHANGELOG.txt 43 | 44 | - name: Release on GitHub 45 | uses: softprops/action-gh-release@v1 46 | if: ${{ steps.publish.outputs.type != 'none' }} 47 | with: 48 | body_path: CHANGELOG.txt 49 | files: build/* 50 | tag_name: ${{steps.publish.outputs.version}} 51 | env: 52 | GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | # /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | artifacts 26 | tmp 27 | extern 28 | dist -------------------------------------------------------------------------------- /Assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FarazzShaikh/react-three-paper/8a895f1080e1b6eab5c289d8127be9033b08e6b3/Assets/banner.png -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 | 8 | ## Version 1.0.4 9 | 10 | ### Fix 11 | 12 | - Patch #1 13 | 14 | ## Version 1.0.2 15 | 16 | ### Added 17 | 18 | - Typescript types 19 | 20 | ## Version 1.0.1 21 | 22 | ### Added 23 | 24 | - Initial Release! 🎉 25 | 26 | ## Version 1.0.0 27 | 28 | ### Chnaged 29 | 30 | - Initial Release! 🎉 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

3 | 4 |

react-three-paper

5 | 6 |

7 | A paper-thin (~800 bytes*) and position-aware wrapper for ThreeJS in React. 8 |
9 | View Demo 10 | · 11 | Report Bug 12 |

13 |

14 | 15 |

16 | 17 |

18 | My work is for and funded by the community. If you used this or found this helpful consider supporting me. 19 |

20 | 21 |

22 | 23 | 24 | 25 | 26 |

27 |

28 | 29 | 30 |
31 | 32 |

33 | 34 | 65k particles in React using Three.js via react-three-paper. 35 |

36 | 37 |
38 | 39 | * Not including the Source Map and types. 40 | 41 | ## But why? 42 | 43 | I use this component a lot when creating React-based apps. A prominent example is [my blog](https://github.com/FarazzShaikh/blog) and I am kinda sick of rewriting it again and again. 44 | 45 | But other than that, here are some actual uses over using something like `react-three-fiber`: 46 | 47 | - Very easily port Vanilla-JS scripts to React. 48 | - No special declarative syntax to learn. 49 | - Separate your UI logic from your core ThreeJS app. 50 | - It is **TINY**. 51 | 52 | In theory, all you have to do to convert Vanilla-JS examples to React ones via this library is wrap them in a `main()` function, tell ThreeJS to render on the given canvas, and return the render loop as a function. [Read more.](#your-script) 53 | 54 | ## Position aware...what? 55 | 56 | Yes, the canvas knows when it is out of the viewport and will pause your render loop. It will resume it when it is back in the viewport. This is **TREMENDOUSLY** helpful with performance. 57 | 58 | For example, when creating long pages where you have multiple ThreeJS canvas components coming in and going out of the viewport. 59 | 60 | You can also tap these events and define custom behavior. 61 | 62 | ## Installation 63 | 64 | ```bash 65 | npm install react-three-paper 66 | # or 67 | yarn add react-three-paper 68 | ``` 69 | 70 | **`react-three-paper` requires `react >=16.8.0`** 71 | 72 | ```bash 73 | npm install react 74 | # or 75 | yarn add react 76 | ``` 77 | 78 | ## Usage 79 | 80 | Import the `Paper` component and use it like this: 81 | 82 | ```jsx 83 | import { Paper } from "paper"; 84 | import { main } from "./main.js"; // 👈 Your ThreeJS script 85 | 86 | export default function App() { 87 | return ( 88 | 91 | ) 92 | } 93 | ``` 94 | 95 | ### Your script 96 | 97 | The `script` prop accepts a function, here is how that function should look. 98 | 99 | ```js 100 | export async function main(canvas) { 101 | //...Do ThreeJS stuff 102 | const renderer = new THREE.WebGLRenderer({ 103 | canvas: canvas, // 👈 Use canvas as the ThreeJS canvas 104 | }); 105 | 106 | // 👇 Use canavs dimentions insted of window 107 | const aspectRatio = canvas.clientWidth / canvas.clientHeight; 108 | renderer.setSize(canvas.clientWidth, canvas.clientHeight); 109 | 110 | function render() {...} //...Render loop without requestAnimationFrame() 111 | function cleanup() {...} //...Any cleanup youd like (optional) 112 | 113 | return { render, cleanup } 114 | } 115 | ``` 116 | 117 | Essentially, a function that receives a `canvas` element (that is used as the ThreeJS canvas) and returns a promise which resolves to a couple of functions. 118 | 119 | - `render`: Your render loop without `requestAnimationFrame` as this is handled by `react-three-paper`. 120 | - `cleanup`: An optional cleanup function without `cancleAnimationFrame`. 121 | 122 | **Pass this function directly into the `script` prop.** 123 | 124 | ### Example 125 | 126 | An example app can be found within the `example` directory. It is also hosted [here](https://farazzshaikh.github.io/react-three-paper/example). See: 127 | 128 | - `example/src/App.js`: For `Paper` component usage. 129 | - `example/src/three/main.js`: For an example of how to format your main function. 130 | 131 | ### Advanced Usage 132 | 133 | Here are some other props that `react-three-paper` provides. 134 | 135 | ```jsx 136 | import { Paper } from "../../build/index"; 137 | import { main } from "./three/main.js"; 138 | 139 | export default function App() { 140 | return ( 141 | 144 | 145 | // 👇 Events 146 | onExit={(entry, ID) => {...}} // 👈 Fired when canvas exits the viewport 147 | onEntry={(entry, ID) => {...}} // 👈 Fired when canvas enters the viewport 148 | onError={(error, ID) => {...}} // 👈 Fired when there is a error 149 | /> 150 | ) 151 | } 152 | ``` 153 | 154 | | Prop | Required | Type | Discription | Default | 155 | |-|-|-|-|-| 156 | | script | Yes | [`tPaperScript`](#tpaperscript) | Your ThreeJS script | No default behaviour | 157 | | style | No | [`React.CSSProperties`](https://reactjs.org/docs/faq-styling.html) | CSS styles for the underlying `` | Makes the canvas dimensions 100% of its container. | 158 | | onExit | No | [`tPaperPositionEvent`](#tpaperpositionevent) | Fired when canvas exits the viewport | Stops the render loop when canvas exits viewport. | 159 | | onEntry | No | [`tPaperPositionEvent`](#tpaperpositionevent) | Fired when canvas enters the viewport | Start the render loop when canvas enters viewport. | 160 | | onError | No | [`tPaperErrorEvent`](#tpapererrorevent) | Fired when there is a error | Logs the error and stops the render loop. | 161 | 162 | **Note: Default behaviour cannot be overwritten, only extended.** 163 | 164 | ### Types 165 | 166 | #### `tPaperRenderLoop` 167 | 168 | A function that receives current time. By default, it is run every frame. 169 | 170 | ```js 171 | (time?: number) => void 172 | ``` 173 | 174 | #### `tPaperCleanup` 175 | 176 | An optional cleanup function. 177 | 178 | ```js 179 | () => void 180 | ``` 181 | 182 | #### `tPaperScriptReturn` 183 | 184 | The return value of the function is passed to the `script` prop. 185 | 186 | ```ts 187 | type tPaperScriptReturn = { 188 | render: tPaperRenderLoop; 189 | cleanup: tPaperCleanup; 190 | }; 191 | ``` 192 | 193 | #### `tPaperScript` 194 | 195 | A function that recieves a HTML canvas and returns a promise that resolves to [tPaperScriptReturn](#tpaperscriptreturn) (your render loop). 196 | 197 | ```js 198 | (canvas?: HTMLCanvasElement) => Promise 199 | ``` 200 | 201 | #### `tPaperPositionEvent` 202 | 203 | A function that receives the Intersection observer event's entry object. Use this to have custom behavior when the canvas goes out of and comes into the viewport. This function is called when the canvas enters or leaves the viewport. 204 | 205 | ```js 206 | (entry: IntersectionObserverEntry) => void; 207 | ``` 208 | 209 | #### `tPaperErrorEvent` 210 | 211 | This function is called when an error occurs. It receives the error. 212 | 213 | ```js 214 | (error: Error) => void; 215 | ``` 216 | 217 | This module provides TypeScript type definitions. -------------------------------------------------------------------------------- /build/index.d.ts: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | declare type tPaperRenderLoop = (time?: number) => void; 3 | declare type tPaperCleanup = () => void; 4 | declare type tPaperScriptReturn = { 5 | render: tPaperRenderLoop; 6 | cleanup?: tPaperCleanup; 7 | }; 8 | declare type tPaperScript = (canvas?: HTMLCanvasElement) => Promise; 9 | declare type tPaperPositionEvent = (entry: IntersectionObserverEntry) => void; 10 | declare type tPaperErrorEvent = (error: Error) => void; 11 | interface iPaperPropTypes { 12 | script: tPaperScript; 13 | onExit?: tPaperPositionEvent; 14 | onEntry?: tPaperPositionEvent; 15 | onError?: tPaperErrorEvent; 16 | style?: React.CSSProperties; 17 | } 18 | export declare function Paper({ script, style, onExit, onEntry, onError }: iPaperPropTypes): JSX.Element; 19 | export {}; 20 | -------------------------------------------------------------------------------- /build/paper.js: -------------------------------------------------------------------------------- 1 | import n,{useRef as e,useState as t,useCallback as r,useEffect as c}from"react";const o={threshold:.01};function i({script:i,style:a,onExit:s,onEntry:l,onError:m}){const u=e(null),[h,f]=t(null),y=r((async(n,e)=>{try{const e=await n;f(e)}catch(n){e(n)}}),[]);return c((()=>{let n=0;if(null!==h){const{render:t,cleanup:r}=h;function e(r){t(r),n=requestAnimationFrame(e)}let c=new IntersectionObserver((([t])=>{const{isIntersecting:r}=t;r?(l&&l(t),n=requestAnimationFrame(e)):(s&&s(t),cancelAnimationFrame(n))}),o);return c.observe(u.current),()=>{c.disconnect(),n&&cancelAnimationFrame(n),r&&r()}}y(i(u.current),(e=>{console.error(e),cancelAnimationFrame(n),m&&m(e)}))}),[i,u,h]),n.createElement("canvas",{ref:u,style:{width:"100%",height:"100%",...a}})}export{i as Paper}; 2 | //# sourceMappingURL=paper.js.map 3 | -------------------------------------------------------------------------------- /build/paper.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"paper.js","sources":["../index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useCallback, useState } from \"react\";\n\ntype tPaperRenderLoop = (time?: number) => void;\ntype tPaperCleanup = () => void;\n\ntype tPaperScriptReturn = {\n render: tPaperRenderLoop;\n cleanup?: tPaperCleanup;\n};\n\ntype tPaperScript = (canvas?: HTMLCanvasElement) => Promise;\ntype tPaperPositionEvent = (entry: IntersectionObserverEntry) => void;\ntype tPaperErrorEvent = (error: Error) => void;\n\ninterface iPaperPropTypes {\n script: tPaperScript;\n onExit?: tPaperPositionEvent;\n onEntry?: tPaperPositionEvent;\n onError?: tPaperErrorEvent;\n style?: React.CSSProperties;\n}\n\nconst IntersectionObserverOptions = {\n threshold: 0.01,\n};\n\nexport function Paper({ script, style, onExit, onEntry, onError }: iPaperPropTypes) {\n const ref = useRef(null);\n const [scriptReturn, setScriptReturn] = useState(null as tPaperScriptReturn);\n\n const execScript = useCallback(async (promise: Promise, callback: tPaperErrorEvent) => {\n try {\n const r = await promise;\n setScriptReturn(r);\n } catch (error) {\n callback(error);\n }\n }, []);\n\n useEffect(() => {\n let ID: number = 0;\n\n if (scriptReturn === null) {\n execScript(script(ref.current), (error: Error) => {\n console.error(error);\n cancelAnimationFrame(ID);\n if (onError) onError(error);\n });\n } else {\n const { render, cleanup } = scriptReturn;\n\n function animate(time: number) {\n render(time);\n ID = requestAnimationFrame(animate);\n }\n\n let observer = new IntersectionObserver(([entry]) => {\n const { isIntersecting } = entry;\n if (isIntersecting) {\n if (onEntry) onEntry(entry);\n ID = requestAnimationFrame(animate);\n } else {\n if (onExit) onExit(entry);\n cancelAnimationFrame(ID);\n }\n }, IntersectionObserverOptions);\n\n observer.observe(ref.current);\n\n return () => {\n observer.disconnect();\n if (ID) cancelAnimationFrame(ID);\n if (cleanup) cleanup();\n };\n }\n }, [script, ref, scriptReturn]);\n\n return (\n \n );\n}\n"],"names":["IntersectionObserverOptions","threshold","Paper","script","style","onExit","onEntry","onError","ref","useRef","scriptReturn","setScriptReturn","useState","execScript","useCallback","async","promise","callback","r","error","useEffect","ID","render","cleanup","animate","time","requestAnimationFrame","observer","IntersectionObserver","entry","isIntersecting","cancelAnimationFrame","observe","current","disconnect","console","React","width","height"],"mappings":"gFAsBA,MAAMA,EAA8B,CAClCC,UAAW,cAGGC,GAAMC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,EAAOC,QAAEA,IACtD,MAAMC,EAAMC,EAAO,OACZC,EAAcC,GAAmBC,EAAS,MAE3CC,EAAaC,GAAYC,MAAOC,EAAsCC,KAC1E,IACE,MAAMC,QAAUF,EAChBL,EAAgBO,GAChB,MAAOC,GACPF,EAASE,MAEV,IAwCH,OAtCAC,GAAU,KACR,IAAIC,EAAa,EAEjB,GAAqB,OAAjBX,EAMG,CACL,MAAMY,OAAEA,EAAMC,QAAEA,GAAYb,EAE5B,SAASc,EAAQC,GACfH,EAAOG,GACPJ,EAAKK,sBAAsBF,GAG7B,IAAIG,EAAW,IAAIC,sBAAqB,EAAEC,MACxC,MAAMC,eAAEA,GAAmBD,EACvBC,GACExB,GAASA,EAAQuB,GACrBR,EAAKK,sBAAsBF,KAEvBnB,GAAQA,EAAOwB,GACnBE,qBAAqBV,MAEtBrB,GAIH,OAFA2B,EAASK,QAAQxB,EAAIyB,SAEd,KACLN,EAASO,aACLb,GAAIU,qBAAqBV,GACzBE,GAASA,KA7BfV,EAAWV,EAAOK,EAAIyB,UAAWd,IAC/BgB,QAAQhB,MAAMA,GACdY,qBAAqBV,GACjBd,GAASA,EAAQY,QA6BxB,CAAChB,EAAQK,EAAKE,IAGf0B,0BACE5B,IAAKA,EACLJ,MAAO,CACLiC,MAAO,OACPC,OAAQ,UACLlC"} -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- 1 |
2 |

3 | 4 |

Example

5 | 6 |

7 | This example uses React with Rollup and plays a ThreeJS based app within it using react-three-paper 8 |
9 | View Demo 10 | · 11 | Report Bug 12 |

13 |

14 | 15 |

16 |

17 | 18 | 19 |
20 | 21 |

22 | 23 | 65k particles in React using Three.js via react-three-paper. 24 |

25 | 26 |
27 | 28 | ## Directories 29 | 30 | - `src`: 31 | - `three` 32 | - Main ThreeJS code 33 | - `App.js`: 34 | - Connecting ThreeJS and React using `react-three-paper` 35 | 36 | ## To run 37 | 38 | ```bash 39 | $ git clone https://github.com/FarazzShaikh/react-three-paper.git 40 | $ cd examples 41 | $ yarn install 42 | $ yarn start # http://localhost:5000 43 | ``` -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | React - Rollup Test 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /example/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import App from "./src/App"; 4 | import { Text } from "./src/Text"; 5 | 6 | ReactDOM.render( 7 | <> 8 | 9 | 10 | , 11 | 12 | document.querySelector("#root") 13 | ); 14 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "private": true, 4 | "scripts": { 5 | "start": "rollup -c rollup.config.dev.js -w", 6 | "build": "rollup -c && cp -R static dist && cp index.html dist/index.html" 7 | }, 8 | "devDependencies": { 9 | "@babel/core": "^7.14.8", 10 | "@babel/preset-react": "^7.14.5", 11 | "@rollup/plugin-babel": "^5.3.0", 12 | "@rollup/plugin-commonjs": "^19.0.2", 13 | "@rollup/plugin-node-resolve": "^13.0.4", 14 | "@rollup/plugin-replace": "^3.0.0", 15 | "postcss": "^8.3.6", 16 | "rollup": "^2.55.0", 17 | "rollup-plugin-livereload": "^2.0.5", 18 | "rollup-plugin-postcss": "^4.0.0", 19 | "rollup-plugin-serve": "^1.1.0" 20 | }, 21 | "dependencies": { 22 | "gl-noise": "^1.4.2", 23 | "react": "^17.0.2", 24 | "react-dom": "^17.0.2", 25 | "react-three-paper": "^1.0.3", 26 | "stats.js": "^0.17.0", 27 | "three": "^0.130.1", 28 | "three-custom-shader-material": "^2.4.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /example/rollup.config.dev.js: -------------------------------------------------------------------------------- 1 | import serve from "rollup-plugin-serve"; 2 | import livereload from "rollup-plugin-livereload"; 3 | import babel from "@rollup/plugin-babel"; 4 | import { nodeResolve } from "@rollup/plugin-node-resolve"; 5 | import commonjs from "@rollup/plugin-commonjs"; 6 | import replace from "@rollup/plugin-replace"; 7 | import postcss from "rollup-plugin-postcss"; 8 | 9 | export default { 10 | input: "./index.js", 11 | output: { 12 | file: "dist/bundle.js", 13 | format: "iife", 14 | sourcemap: true, 15 | }, 16 | plugins: [ 17 | nodeResolve({ 18 | extensions: [".js"], 19 | }), 20 | postcss({ 21 | extensions: [".css"], 22 | }), 23 | replace({ 24 | "process.env.NODE_ENV": JSON.stringify("development"), 25 | }), 26 | babel({ 27 | presets: ["@babel/preset-react"], 28 | }), 29 | commonjs(), 30 | serve({ 31 | open: true, 32 | verbose: true, 33 | contentBase: ["", "public"], 34 | host: "localhost", 35 | port: 5000, 36 | }), 37 | livereload({ watch: "dist" }), 38 | ], 39 | }; 40 | -------------------------------------------------------------------------------- /example/rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from "@rollup/plugin-babel"; 2 | import { nodeResolve } from "@rollup/plugin-node-resolve"; 3 | import commonjs from "@rollup/plugin-commonjs"; 4 | import replace from "@rollup/plugin-replace"; 5 | import postcss from "rollup-plugin-postcss"; 6 | 7 | export default { 8 | input: "./index.js", 9 | output: { 10 | file: "dist/bundle.js", 11 | format: "iife", 12 | sourcemap: true, 13 | }, 14 | plugins: [ 15 | nodeResolve({ 16 | extensions: [".js"], 17 | }), 18 | postcss({ 19 | extensions: [".css"], 20 | }), 21 | replace({ 22 | "process.env.NODE_ENV": JSON.stringify("production"), 23 | }), 24 | babel({ 25 | presets: ["@babel/preset-react"], 26 | }), 27 | commonjs(), 28 | ], 29 | }; 30 | -------------------------------------------------------------------------------- /example/src/App.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | height: 200vh; 5 | width: 100vw; 6 | } 7 | 8 | #root { 9 | width: 100%; 10 | height: 100%; 11 | } 12 | 13 | .main { 14 | width: 100%; 15 | height: 100vh; 16 | } 17 | 18 | canvas { 19 | cursor: grab; 20 | cursor: -moz-grab; 21 | cursor:-webkit-grab; 22 | } 23 | 24 | canvas:active { 25 | cursor: grabbing; 26 | cursor: -moz-grabbing; 27 | cursor:-webkit-grabbing 28 | } 29 | 30 | code { 31 | color: rgb(255, 128, 128); 32 | } 33 | 34 | a { 35 | color: rgb(116, 116, 255); 36 | } 37 | 38 | .text-container { 39 | height: 100vh; 40 | padding: 25%; 41 | text-align: justify; 42 | background-color: rgba(43,48,50,1); 43 | color: white; 44 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 45 | 46 | display: flex; 47 | justify-content: center; 48 | align-items: center; 49 | flex-direction: column; 50 | } 51 | 52 | @media only screen and (max-width: 768px) { 53 | .text-container { 54 | padding: 2em; 55 | } 56 | } -------------------------------------------------------------------------------- /example/src/App.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Paper } from "react-three-paper"; 3 | import "./App.css"; 4 | import { main } from "./three/main"; 5 | 6 | function App() { 7 | return ( 8 |
9 | console.log("Paper has entered the viewport!")} 15 | onExit={() => console.log("Paper has left the viewport!")} 16 | onError={() => console.log("Oops! Something went wrong")} 17 | /> 18 |
19 | ); 20 | } 21 | 22 | export default App; 23 | -------------------------------------------------------------------------------- /example/src/Text.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export function Text() { 4 | return ( 5 | <> 6 |
7 |

65k particles in React using Three.js

8 |

9 | ThreeJS demo run using react-three-paper within a React app compiled with react-static. Canvas size and color set via JSX. Cursor set via CSS. 10 |
11 |
12 | After scrolling, notice the FPS count stop. This means the render loop has paused. When scrolling back up, the counter should start at 0, indecating it has resumed from a paused state. 13 |

14 |

15 | React-Three-Paper 16 |  •  17 | Source code 18 |

19 |
20 |
30 | 42 |
43 | 44 | ); 45 | } 46 | -------------------------------------------------------------------------------- /example/src/three/lights.js: -------------------------------------------------------------------------------- 1 | import * as THREE from "three"; 2 | 3 | export default function lights(scene) { 4 | const directionalLight = new THREE.DirectionalLight(0xffffff, 0.5, 100); 5 | const light = new THREE.HemisphereLight(0xffffff, 0xffffff, 0.9); 6 | 7 | scene.add(light); 8 | scene.add(directionalLight); 9 | 10 | directionalLight.position.set(8, 8, 2); 11 | directionalLight.castShadow = true; 12 | 13 | directionalLight.shadow.mapSize.width = 512; // default 14 | directionalLight.shadow.mapSize.height = 512; // default 15 | directionalLight.shadow.camera.near = 0.5; // default 16 | directionalLight.shadow.camera.far = 500; 17 | 18 | return { light, directionalLight }; 19 | } 20 | -------------------------------------------------------------------------------- /example/src/three/main.js: -------------------------------------------------------------------------------- 1 | import * as THREE from "three"; 2 | import { CustomShaderMaterial, TYPES } from "three-custom-shader-material"; 3 | import { loadShadersCSM } from "gl-noise"; 4 | import { initScene } from "./setup.js"; 5 | import lights from "./lights.js"; 6 | import Stats from "stats.js"; 7 | 8 | const v = { 9 | defines: "./static/shaders/particle_defines.glsl", 10 | header: "./static/shaders/particle_header.glsl", 11 | main: "./static/shaders/particle_main.glsl", 12 | }; 13 | 14 | const f = { 15 | defines: "./static/shaders/frag/defines.glsl", 16 | header: "./static/shaders/frag/header.glsl", 17 | main: "./static/shaders/frag/main.glsl", 18 | }; 19 | 20 | export async function main(canvas) { 21 | const { defines: vdefines, header: vheader, main: vmain } = await loadShadersCSM(v); 22 | const { defines: fdefines, header: fheader, main: fmain } = await loadShadersCSM(f); 23 | 24 | const { scene, renderer, camera, controls } = initScene(canvas); 25 | camera.position.set(10, 10, 10); 26 | 27 | lights(scene); 28 | 29 | const loader = new THREE.TextureLoader(); 30 | const disk = loader.load("./static/textures/circle-sprite.png"); 31 | 32 | const geometry = new THREE.IcosahedronGeometry(4, 32); 33 | console.log(geometry.attributes.position.count); 34 | const material = new CustomShaderMaterial({ 35 | baseMaterial: TYPES.POINTS, 36 | vShader: { 37 | defines: vdefines, 38 | header: vheader, 39 | main: vmain, 40 | }, 41 | fShader: { 42 | defines: fdefines, 43 | header: fheader, 44 | main: fmain, 45 | }, 46 | uniforms: { 47 | uShift: { 48 | value: 0, 49 | }, 50 | uShape: { 51 | value: disk, 52 | }, 53 | uScale: { 54 | value: window.innerHeight / 2, 55 | }, 56 | uTime: { 57 | value: 0, 58 | }, 59 | uTargetPos: { 60 | value: new THREE.Vector3(0), 61 | }, 62 | }, 63 | passthrough: { 64 | size: 0.1, 65 | }, 66 | }); 67 | 68 | const points = new THREE.Points(geometry, material); 69 | 70 | scene.add(points); 71 | 72 | const targetPos = new THREE.Vector3(); 73 | 74 | renderer.domElement.addEventListener("pointermove", (event) => { 75 | var vec = new THREE.Vector3(); // create once and reuse 76 | var pos = new THREE.Vector3(); // create once and reuse 77 | vec.set((event.clientX / window.innerWidth) * 2 - 1, -(event.clientY / window.innerHeight) * 2 + 1, 0.5); 78 | vec.unproject(camera); 79 | vec.sub(camera.position).normalize(); 80 | var distance = -camera.position.z / vec.z; 81 | pos.copy(camera.position).add(vec.multiplyScalar(distance)); 82 | targetPos.x = pos.x; 83 | targetPos.y = pos.y; 84 | targetPos.z = pos.z; 85 | }); 86 | 87 | var stats = new Stats(); 88 | stats.showPanel(0); // 0: fps, 1: ms, 2: mb, 3+: custom 89 | document.body.appendChild(stats.dom); 90 | 91 | function render(time) { 92 | stats.begin(); 93 | if (material && material.uniforms) { 94 | material.uniforms.uTime.value = time * 0.001; 95 | material.uniforms.uTargetPos.value = targetPos; 96 | } 97 | 98 | controls.update(); 99 | 100 | renderer.render(scene, camera); 101 | stats.end(); 102 | } 103 | 104 | function cleanup() { 105 | stats.dom.remove(); 106 | } 107 | 108 | return { render, cleanup }; 109 | } 110 | -------------------------------------------------------------------------------- /example/src/three/setup.js: -------------------------------------------------------------------------------- 1 | import * as THREE from "three"; 2 | import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; 3 | 4 | let renderer, scene, camera, controls; 5 | 6 | /** 7 | * 8 | * @returns {THREE.Scene} 9 | */ 10 | export function initScene(canvas) { 11 | // Creating a scene 12 | scene = new THREE.Scene(); 13 | 14 | // Defining options 15 | const fov = 45; 16 | const aspectRatio = canvas.clientWidth / canvas.clientHeight; 17 | const nearPlane = 0.1; 18 | const farPlane = 1000; 19 | 20 | // Creating a camera 21 | camera = new THREE.PerspectiveCamera(fov, aspectRatio, nearPlane, farPlane); 22 | 23 | camera.position.set(5, 7, 5); 24 | camera.lookAt(0, 0, 0); 25 | 26 | // Creating a Renderer 27 | renderer = new THREE.WebGLRenderer({ 28 | antialias: true, // 👈 Enable Antialiasing 29 | alpha: true, 30 | canvas: canvas, 31 | }); 32 | renderer.shadowMap.enabled = true; 33 | renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap 34 | 35 | // Setting the Renderer's size to the entire window 36 | renderer.setSize(canvas.clientWidth, canvas.clientHeight); 37 | 38 | // Append Renderer to the body 39 | // document.body.appendChild(renderer.domElement); 40 | 41 | controls = new OrbitControls(camera, renderer.domElement); 42 | controls.enableDamping = true; // Enables inertia on the camera making it come to a more gradual stop. 43 | controls.dampingFactor = 0.25; // Inertia factor 44 | 45 | return { scene, renderer, camera, controls }; 46 | } 47 | 48 | export function initHelpers() { 49 | const size = 10; 50 | const divisions = 10; 51 | 52 | const gridHelper = new THREE.GridHelper(size, divisions); 53 | scene.add(gridHelper); 54 | 55 | const axesHelper = new THREE.AxesHelper(5); 56 | scene.add(axesHelper); 57 | } 58 | -------------------------------------------------------------------------------- /example/static/shaders/frag/defines.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FarazzShaikh/react-three-paper/8a895f1080e1b6eab5c289d8127be9033b08e6b3/example/static/shaders/frag/defines.glsl -------------------------------------------------------------------------------- /example/static/shaders/frag/header.glsl: -------------------------------------------------------------------------------- 1 | 2 | uniform float uShift; 3 | uniform sampler2D uShape; 4 | 5 | varying vec2 vUv; 6 | varying vec3 vPosition; 7 | -------------------------------------------------------------------------------- /example/static/shaders/frag/main.glsl: -------------------------------------------------------------------------------- 1 | 2 | vec2 uv = vUv; 3 | uv.x += uShift; 4 | 5 | vec4 shapeData = texture2D(uShape, gl_PointCoord); 6 | if (shapeData.a < 0.0625) 7 | discard; 8 | 9 | vec4 newColor = vec4(vPosition, 1.0); 10 | newColor = newColor * shapeData; 11 | -------------------------------------------------------------------------------- /example/static/shaders/particle_defines.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FarazzShaikh/react-three-paper/8a895f1080e1b6eab5c289d8127be9033b08e6b3/example/static/shaders/particle_defines.glsl -------------------------------------------------------------------------------- /example/static/shaders/particle_header.glsl: -------------------------------------------------------------------------------- 1 | uniform float uScale; 2 | uniform float uTime; 3 | uniform vec3 uTargetPos; 4 | 5 | varying vec2 vUv; 6 | varying vec3 vPosition; 7 | -------------------------------------------------------------------------------- /example/static/shaders/particle_main.glsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | vec3 p = position; 4 | // p += uTargetPos * 0.1; 5 | 6 | vec3 f = gln_curl((p * 0.2) + uTime * 0.05); 7 | 8 | vUv = uv; 9 | 10 | vec3 newPos = position + f; 11 | 12 | vec3 seg = newPos - uTargetPos; 13 | vec3 dir = normalize(seg); 14 | float dist = length(seg); 15 | if (dist < 3.) { 16 | float force = clamp(1. / (dist * dist), 0., 1.); 17 | newPos += dir * force; 18 | } 19 | 20 | vPosition = newPos; 21 | vec3 newNormal = normal; 22 | -------------------------------------------------------------------------------- /example/static/textures/circle-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FarazzShaikh/react-three-paper/8a895f1080e1b6eab5c289d8127be9033b08e6b3/example/static/textures/circle-sprite.png -------------------------------------------------------------------------------- /example/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.14.5": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/compat-data@^7.14.5": 13 | version "7.14.7" 14 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" 15 | integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== 16 | 17 | "@babel/core@^7.14.8": 18 | version "7.14.8" 19 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz#20cdf7c84b5d86d83fac8710a8bc605a7ba3f010" 20 | integrity sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== 21 | dependencies: 22 | "@babel/code-frame" "^7.14.5" 23 | "@babel/generator" "^7.14.8" 24 | "@babel/helper-compilation-targets" "^7.14.5" 25 | "@babel/helper-module-transforms" "^7.14.8" 26 | "@babel/helpers" "^7.14.8" 27 | "@babel/parser" "^7.14.8" 28 | "@babel/template" "^7.14.5" 29 | "@babel/traverse" "^7.14.8" 30 | "@babel/types" "^7.14.8" 31 | convert-source-map "^1.7.0" 32 | debug "^4.1.0" 33 | gensync "^1.0.0-beta.2" 34 | json5 "^2.1.2" 35 | semver "^6.3.0" 36 | source-map "^0.5.0" 37 | 38 | "@babel/generator@^7.14.8": 39 | version "7.14.8" 40 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" 41 | integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== 42 | dependencies: 43 | "@babel/types" "^7.14.8" 44 | jsesc "^2.5.1" 45 | source-map "^0.5.0" 46 | 47 | "@babel/helper-annotate-as-pure@^7.14.5": 48 | version "7.14.5" 49 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" 50 | integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== 51 | dependencies: 52 | "@babel/types" "^7.14.5" 53 | 54 | "@babel/helper-compilation-targets@^7.14.5": 55 | version "7.14.5" 56 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" 57 | integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== 58 | dependencies: 59 | "@babel/compat-data" "^7.14.5" 60 | "@babel/helper-validator-option" "^7.14.5" 61 | browserslist "^4.16.6" 62 | semver "^6.3.0" 63 | 64 | "@babel/helper-function-name@^7.14.5": 65 | version "7.14.5" 66 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" 67 | integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== 68 | dependencies: 69 | "@babel/helper-get-function-arity" "^7.14.5" 70 | "@babel/template" "^7.14.5" 71 | "@babel/types" "^7.14.5" 72 | 73 | "@babel/helper-get-function-arity@^7.14.5": 74 | version "7.14.5" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" 76 | integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== 77 | dependencies: 78 | "@babel/types" "^7.14.5" 79 | 80 | "@babel/helper-hoist-variables@^7.14.5": 81 | version "7.14.5" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" 83 | integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== 84 | dependencies: 85 | "@babel/types" "^7.14.5" 86 | 87 | "@babel/helper-member-expression-to-functions@^7.14.5": 88 | version "7.14.7" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" 90 | integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== 91 | dependencies: 92 | "@babel/types" "^7.14.5" 93 | 94 | "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.14.5": 95 | version "7.14.5" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" 97 | integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== 98 | dependencies: 99 | "@babel/types" "^7.14.5" 100 | 101 | "@babel/helper-module-transforms@^7.14.8": 102 | version "7.14.8" 103 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz#d4279f7e3fd5f4d5d342d833af36d4dd87d7dc49" 104 | integrity sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== 105 | dependencies: 106 | "@babel/helper-module-imports" "^7.14.5" 107 | "@babel/helper-replace-supers" "^7.14.5" 108 | "@babel/helper-simple-access" "^7.14.8" 109 | "@babel/helper-split-export-declaration" "^7.14.5" 110 | "@babel/helper-validator-identifier" "^7.14.8" 111 | "@babel/template" "^7.14.5" 112 | "@babel/traverse" "^7.14.8" 113 | "@babel/types" "^7.14.8" 114 | 115 | "@babel/helper-optimise-call-expression@^7.14.5": 116 | version "7.14.5" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" 118 | integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== 119 | dependencies: 120 | "@babel/types" "^7.14.5" 121 | 122 | "@babel/helper-plugin-utils@^7.14.5": 123 | version "7.14.5" 124 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 125 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 126 | 127 | "@babel/helper-replace-supers@^7.14.5": 128 | version "7.14.5" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" 130 | integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== 131 | dependencies: 132 | "@babel/helper-member-expression-to-functions" "^7.14.5" 133 | "@babel/helper-optimise-call-expression" "^7.14.5" 134 | "@babel/traverse" "^7.14.5" 135 | "@babel/types" "^7.14.5" 136 | 137 | "@babel/helper-simple-access@^7.14.8": 138 | version "7.14.8" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" 140 | integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== 141 | dependencies: 142 | "@babel/types" "^7.14.8" 143 | 144 | "@babel/helper-split-export-declaration@^7.14.5": 145 | version "7.14.5" 146 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" 147 | integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== 148 | dependencies: 149 | "@babel/types" "^7.14.5" 150 | 151 | "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.8": 152 | version "7.14.8" 153 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" 154 | integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== 155 | 156 | "@babel/helper-validator-option@^7.14.5": 157 | version "7.14.5" 158 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 159 | integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 160 | 161 | "@babel/helpers@^7.14.8": 162 | version "7.14.8" 163 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.8.tgz#839f88f463025886cff7f85a35297007e2da1b77" 164 | integrity sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== 165 | dependencies: 166 | "@babel/template" "^7.14.5" 167 | "@babel/traverse" "^7.14.8" 168 | "@babel/types" "^7.14.8" 169 | 170 | "@babel/highlight@^7.14.5": 171 | version "7.14.5" 172 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 173 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 174 | dependencies: 175 | "@babel/helper-validator-identifier" "^7.14.5" 176 | chalk "^2.0.0" 177 | js-tokens "^4.0.0" 178 | 179 | "@babel/parser@^7.14.5", "@babel/parser@^7.14.8": 180 | version "7.14.8" 181 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz#66fd41666b2d7b840bd5ace7f7416d5ac60208d4" 182 | integrity sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== 183 | 184 | "@babel/plugin-syntax-jsx@^7.14.5": 185 | version "7.14.5" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" 187 | integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.14.5" 190 | 191 | "@babel/plugin-transform-react-display-name@^7.14.5": 192 | version "7.14.5" 193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz#baa92d15c4570411301a85a74c13534873885b65" 194 | integrity sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.14.5" 197 | 198 | "@babel/plugin-transform-react-jsx-development@^7.14.5": 199 | version "7.14.5" 200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af" 201 | integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== 202 | dependencies: 203 | "@babel/plugin-transform-react-jsx" "^7.14.5" 204 | 205 | "@babel/plugin-transform-react-jsx@^7.14.5": 206 | version "7.14.5" 207 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz#39749f0ee1efd8a1bd729152cf5f78f1d247a44a" 208 | integrity sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q== 209 | dependencies: 210 | "@babel/helper-annotate-as-pure" "^7.14.5" 211 | "@babel/helper-module-imports" "^7.14.5" 212 | "@babel/helper-plugin-utils" "^7.14.5" 213 | "@babel/plugin-syntax-jsx" "^7.14.5" 214 | "@babel/types" "^7.14.5" 215 | 216 | "@babel/plugin-transform-react-pure-annotations@^7.14.5": 217 | version "7.14.5" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc" 219 | integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== 220 | dependencies: 221 | "@babel/helper-annotate-as-pure" "^7.14.5" 222 | "@babel/helper-plugin-utils" "^7.14.5" 223 | 224 | "@babel/preset-react@^7.14.5": 225 | version "7.14.5" 226 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c" 227 | integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== 228 | dependencies: 229 | "@babel/helper-plugin-utils" "^7.14.5" 230 | "@babel/helper-validator-option" "^7.14.5" 231 | "@babel/plugin-transform-react-display-name" "^7.14.5" 232 | "@babel/plugin-transform-react-jsx" "^7.14.5" 233 | "@babel/plugin-transform-react-jsx-development" "^7.14.5" 234 | "@babel/plugin-transform-react-pure-annotations" "^7.14.5" 235 | 236 | "@babel/template@^7.14.5": 237 | version "7.14.5" 238 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" 239 | integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== 240 | dependencies: 241 | "@babel/code-frame" "^7.14.5" 242 | "@babel/parser" "^7.14.5" 243 | "@babel/types" "^7.14.5" 244 | 245 | "@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8": 246 | version "7.14.8" 247 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce" 248 | integrity sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== 249 | dependencies: 250 | "@babel/code-frame" "^7.14.5" 251 | "@babel/generator" "^7.14.8" 252 | "@babel/helper-function-name" "^7.14.5" 253 | "@babel/helper-hoist-variables" "^7.14.5" 254 | "@babel/helper-split-export-declaration" "^7.14.5" 255 | "@babel/parser" "^7.14.8" 256 | "@babel/types" "^7.14.8" 257 | debug "^4.1.0" 258 | globals "^11.1.0" 259 | 260 | "@babel/types@^7.14.5", "@babel/types@^7.14.8": 261 | version "7.14.8" 262 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz#38109de8fcadc06415fbd9b74df0065d4d41c728" 263 | integrity sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== 264 | dependencies: 265 | "@babel/helper-validator-identifier" "^7.14.8" 266 | to-fast-properties "^2.0.0" 267 | 268 | "@rollup/plugin-babel@^5.3.0": 269 | version "5.3.0" 270 | resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" 271 | integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== 272 | dependencies: 273 | "@babel/helper-module-imports" "^7.10.4" 274 | "@rollup/pluginutils" "^3.1.0" 275 | 276 | "@rollup/plugin-commonjs@^19.0.2": 277 | version "19.0.2" 278 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.2.tgz#1ccc3d63878d1bc9846f8969f09dd3b3e4ecc244" 279 | integrity sha512-gBjarfqlC7qs0AutpRW/hrFNm+cd2/QKxhwyFa+srbg1oX7rDsEU3l+W7LAUhsAp9mPJMAkXDhLbQaVwEaE8bA== 280 | dependencies: 281 | "@rollup/pluginutils" "^3.1.0" 282 | commondir "^1.0.1" 283 | estree-walker "^2.0.1" 284 | glob "^7.1.6" 285 | is-reference "^1.2.1" 286 | magic-string "^0.25.7" 287 | resolve "^1.17.0" 288 | 289 | "@rollup/plugin-node-resolve@^13.0.4": 290 | version "13.0.4" 291 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0" 292 | integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w== 293 | dependencies: 294 | "@rollup/pluginutils" "^3.1.0" 295 | "@types/resolve" "1.17.1" 296 | builtin-modules "^3.1.0" 297 | deepmerge "^4.2.2" 298 | is-module "^1.0.0" 299 | resolve "^1.19.0" 300 | 301 | "@rollup/plugin-replace@^3.0.0": 302 | version "3.0.0" 303 | resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-3.0.0.tgz#3a4c9665d4e7a4ce2c360cf021232784892f3fac" 304 | integrity sha512-3c7JCbMuYXM4PbPWT4+m/4Y6U60SgsnDT/cCyAyUKwFHg7pTSfsSQzIpETha3a3ig6OdOKzZz87D9ZXIK3qsDg== 305 | dependencies: 306 | "@rollup/pluginutils" "^3.1.0" 307 | magic-string "^0.25.7" 308 | 309 | "@rollup/pluginutils@^3.1.0": 310 | version "3.1.0" 311 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 312 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 313 | dependencies: 314 | "@types/estree" "0.0.39" 315 | estree-walker "^1.0.1" 316 | picomatch "^2.2.2" 317 | 318 | "@types/estree@*": 319 | version "0.0.50" 320 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 321 | integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 322 | 323 | "@types/estree@0.0.39": 324 | version "0.0.39" 325 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 326 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 327 | 328 | "@types/node@*": 329 | version "16.4.6" 330 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.6.tgz#1734d119dfa8fede5606d35ae10f9fc9c84d889b" 331 | integrity sha512-FKyawK3o5KL16AwbeFajen8G4K3mmqUrQsehn5wNKs8IzlKHE8TfnSmILXVMVziAEcnB23u1RCFU1NT6hSyr7Q== 332 | 333 | "@types/q@^1.5.1": 334 | version "1.5.5" 335 | resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" 336 | integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== 337 | 338 | "@types/resolve@1.17.1": 339 | version "1.17.1" 340 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 341 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 342 | dependencies: 343 | "@types/node" "*" 344 | 345 | alphanum-sort@^1.0.0: 346 | version "1.0.2" 347 | resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" 348 | integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= 349 | 350 | ansi-styles@^3.2.1: 351 | version "3.2.1" 352 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 353 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 354 | dependencies: 355 | color-convert "^1.9.0" 356 | 357 | ansi-styles@^4.1.0: 358 | version "4.3.0" 359 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 360 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 361 | dependencies: 362 | color-convert "^2.0.1" 363 | 364 | anymatch@~3.1.2: 365 | version "3.1.2" 366 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 367 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 368 | dependencies: 369 | normalize-path "^3.0.0" 370 | picomatch "^2.0.4" 371 | 372 | argparse@^1.0.7: 373 | version "1.0.10" 374 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 375 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 376 | dependencies: 377 | sprintf-js "~1.0.2" 378 | 379 | balanced-match@^1.0.0: 380 | version "1.0.2" 381 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 382 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 383 | 384 | big.js@^5.2.2: 385 | version "5.2.2" 386 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 387 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 388 | 389 | binary-extensions@^2.0.0: 390 | version "2.2.0" 391 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 392 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 393 | 394 | boolbase@^1.0.0, boolbase@~1.0.0: 395 | version "1.0.0" 396 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 397 | integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= 398 | 399 | brace-expansion@^1.1.7: 400 | version "1.1.11" 401 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 402 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 403 | dependencies: 404 | balanced-match "^1.0.0" 405 | concat-map "0.0.1" 406 | 407 | braces@~3.0.2: 408 | version "3.0.2" 409 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 410 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 411 | dependencies: 412 | fill-range "^7.0.1" 413 | 414 | browserslist@^4.0.0, browserslist@^4.16.6: 415 | version "4.16.6" 416 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 417 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 418 | dependencies: 419 | caniuse-lite "^1.0.30001219" 420 | colorette "^1.2.2" 421 | electron-to-chromium "^1.3.723" 422 | escalade "^3.1.1" 423 | node-releases "^1.1.71" 424 | 425 | builtin-modules@^3.1.0: 426 | version "3.2.0" 427 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 428 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 429 | 430 | call-bind@^1.0.0, call-bind@^1.0.2: 431 | version "1.0.2" 432 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 433 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 434 | dependencies: 435 | function-bind "^1.1.1" 436 | get-intrinsic "^1.0.2" 437 | 438 | caller-callsite@^2.0.0: 439 | version "2.0.0" 440 | resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" 441 | integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= 442 | dependencies: 443 | callsites "^2.0.0" 444 | 445 | caller-path@^2.0.0: 446 | version "2.0.0" 447 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" 448 | integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= 449 | dependencies: 450 | caller-callsite "^2.0.0" 451 | 452 | callsites@^2.0.0: 453 | version "2.0.0" 454 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 455 | integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= 456 | 457 | caniuse-api@^3.0.0: 458 | version "3.0.0" 459 | resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" 460 | integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== 461 | dependencies: 462 | browserslist "^4.0.0" 463 | caniuse-lite "^1.0.0" 464 | lodash.memoize "^4.1.2" 465 | lodash.uniq "^4.5.0" 466 | 467 | caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219: 468 | version "1.0.30001248" 469 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz#26ab45e340f155ea5da2920dadb76a533cb8ebce" 470 | integrity sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw== 471 | 472 | chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: 473 | version "2.4.2" 474 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 475 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 476 | dependencies: 477 | ansi-styles "^3.2.1" 478 | escape-string-regexp "^1.0.5" 479 | supports-color "^5.3.0" 480 | 481 | chalk@^4.1.0: 482 | version "4.1.1" 483 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" 484 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 485 | dependencies: 486 | ansi-styles "^4.1.0" 487 | supports-color "^7.1.0" 488 | 489 | chokidar@^3.5.0: 490 | version "3.5.2" 491 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" 492 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== 493 | dependencies: 494 | anymatch "~3.1.2" 495 | braces "~3.0.2" 496 | glob-parent "~5.1.2" 497 | is-binary-path "~2.1.0" 498 | is-glob "~4.0.1" 499 | normalize-path "~3.0.0" 500 | readdirp "~3.6.0" 501 | optionalDependencies: 502 | fsevents "~2.3.2" 503 | 504 | coa@^2.0.2: 505 | version "2.0.2" 506 | resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" 507 | integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== 508 | dependencies: 509 | "@types/q" "^1.5.1" 510 | chalk "^2.4.1" 511 | q "^1.1.2" 512 | 513 | color-convert@^1.9.0, color-convert@^1.9.3: 514 | version "1.9.3" 515 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 516 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 517 | dependencies: 518 | color-name "1.1.3" 519 | 520 | color-convert@^2.0.1: 521 | version "2.0.1" 522 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 523 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 524 | dependencies: 525 | color-name "~1.1.4" 526 | 527 | color-name@1.1.3: 528 | version "1.1.3" 529 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 530 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 531 | 532 | color-name@^1.0.0, color-name@~1.1.4: 533 | version "1.1.4" 534 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 535 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 536 | 537 | color-string@^1.6.0: 538 | version "1.6.0" 539 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" 540 | integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== 541 | dependencies: 542 | color-name "^1.0.0" 543 | simple-swizzle "^0.2.2" 544 | 545 | color@^3.0.0: 546 | version "3.2.1" 547 | resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" 548 | integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== 549 | dependencies: 550 | color-convert "^1.9.3" 551 | color-string "^1.6.0" 552 | 553 | colorette@^1.2.2: 554 | version "1.2.2" 555 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 556 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 557 | 558 | commondir@^1.0.1: 559 | version "1.0.1" 560 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 561 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 562 | 563 | concat-map@0.0.1: 564 | version "0.0.1" 565 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 566 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 567 | 568 | concat-with-sourcemaps@^1.1.0: 569 | version "1.1.0" 570 | resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" 571 | integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== 572 | dependencies: 573 | source-map "^0.6.1" 574 | 575 | convert-source-map@^1.7.0: 576 | version "1.8.0" 577 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 578 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 579 | dependencies: 580 | safe-buffer "~5.1.1" 581 | 582 | cosmiconfig@^5.0.0: 583 | version "5.2.1" 584 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" 585 | integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== 586 | dependencies: 587 | import-fresh "^2.0.0" 588 | is-directory "^0.3.1" 589 | js-yaml "^3.13.1" 590 | parse-json "^4.0.0" 591 | 592 | css-color-names@0.0.4, css-color-names@^0.0.4: 593 | version "0.0.4" 594 | resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" 595 | integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= 596 | 597 | css-declaration-sorter@^4.0.1: 598 | version "4.0.1" 599 | resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" 600 | integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== 601 | dependencies: 602 | postcss "^7.0.1" 603 | timsort "^0.3.0" 604 | 605 | css-select-base-adapter@^0.1.1: 606 | version "0.1.1" 607 | resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" 608 | integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== 609 | 610 | css-select@^2.0.0: 611 | version "2.1.0" 612 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" 613 | integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== 614 | dependencies: 615 | boolbase "^1.0.0" 616 | css-what "^3.2.1" 617 | domutils "^1.7.0" 618 | nth-check "^1.0.2" 619 | 620 | css-tree@1.0.0-alpha.37: 621 | version "1.0.0-alpha.37" 622 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" 623 | integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== 624 | dependencies: 625 | mdn-data "2.0.4" 626 | source-map "^0.6.1" 627 | 628 | css-tree@^1.1.2: 629 | version "1.1.3" 630 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" 631 | integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== 632 | dependencies: 633 | mdn-data "2.0.14" 634 | source-map "^0.6.1" 635 | 636 | css-what@^3.2.1: 637 | version "3.4.2" 638 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" 639 | integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== 640 | 641 | cssesc@^3.0.0: 642 | version "3.0.0" 643 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 644 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 645 | 646 | cssnano-preset-default@^4.0.8: 647 | version "4.0.8" 648 | resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" 649 | integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== 650 | dependencies: 651 | css-declaration-sorter "^4.0.1" 652 | cssnano-util-raw-cache "^4.0.1" 653 | postcss "^7.0.0" 654 | postcss-calc "^7.0.1" 655 | postcss-colormin "^4.0.3" 656 | postcss-convert-values "^4.0.1" 657 | postcss-discard-comments "^4.0.2" 658 | postcss-discard-duplicates "^4.0.2" 659 | postcss-discard-empty "^4.0.1" 660 | postcss-discard-overridden "^4.0.1" 661 | postcss-merge-longhand "^4.0.11" 662 | postcss-merge-rules "^4.0.3" 663 | postcss-minify-font-values "^4.0.2" 664 | postcss-minify-gradients "^4.0.2" 665 | postcss-minify-params "^4.0.2" 666 | postcss-minify-selectors "^4.0.2" 667 | postcss-normalize-charset "^4.0.1" 668 | postcss-normalize-display-values "^4.0.2" 669 | postcss-normalize-positions "^4.0.2" 670 | postcss-normalize-repeat-style "^4.0.2" 671 | postcss-normalize-string "^4.0.2" 672 | postcss-normalize-timing-functions "^4.0.2" 673 | postcss-normalize-unicode "^4.0.1" 674 | postcss-normalize-url "^4.0.1" 675 | postcss-normalize-whitespace "^4.0.2" 676 | postcss-ordered-values "^4.1.2" 677 | postcss-reduce-initial "^4.0.3" 678 | postcss-reduce-transforms "^4.0.2" 679 | postcss-svgo "^4.0.3" 680 | postcss-unique-selectors "^4.0.1" 681 | 682 | cssnano-util-get-arguments@^4.0.0: 683 | version "4.0.0" 684 | resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" 685 | integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= 686 | 687 | cssnano-util-get-match@^4.0.0: 688 | version "4.0.0" 689 | resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" 690 | integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= 691 | 692 | cssnano-util-raw-cache@^4.0.1: 693 | version "4.0.1" 694 | resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" 695 | integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== 696 | dependencies: 697 | postcss "^7.0.0" 698 | 699 | cssnano-util-same-parent@^4.0.0: 700 | version "4.0.1" 701 | resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" 702 | integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== 703 | 704 | cssnano@^4.1.10: 705 | version "4.1.11" 706 | resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" 707 | integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== 708 | dependencies: 709 | cosmiconfig "^5.0.0" 710 | cssnano-preset-default "^4.0.8" 711 | is-resolvable "^1.0.0" 712 | postcss "^7.0.0" 713 | 714 | csso@^4.0.2: 715 | version "4.2.0" 716 | resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" 717 | integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== 718 | dependencies: 719 | css-tree "^1.1.2" 720 | 721 | debug@^4.1.0: 722 | version "4.3.2" 723 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 724 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 725 | dependencies: 726 | ms "2.1.2" 727 | 728 | deepmerge@^4.2.2: 729 | version "4.2.2" 730 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 731 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 732 | 733 | define-properties@^1.1.3: 734 | version "1.1.3" 735 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 736 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 737 | dependencies: 738 | object-keys "^1.0.12" 739 | 740 | dom-serializer@0: 741 | version "0.2.2" 742 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" 743 | integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== 744 | dependencies: 745 | domelementtype "^2.0.1" 746 | entities "^2.0.0" 747 | 748 | domelementtype@1: 749 | version "1.3.1" 750 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" 751 | integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== 752 | 753 | domelementtype@^2.0.1: 754 | version "2.2.0" 755 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" 756 | integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== 757 | 758 | domutils@^1.7.0: 759 | version "1.7.0" 760 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" 761 | integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== 762 | dependencies: 763 | dom-serializer "0" 764 | domelementtype "1" 765 | 766 | dot-prop@^5.2.0: 767 | version "5.3.0" 768 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" 769 | integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== 770 | dependencies: 771 | is-obj "^2.0.0" 772 | 773 | electron-to-chromium@^1.3.723: 774 | version "1.3.790" 775 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.790.tgz#5c569290929d92c8094fa08c79bc9393ca9e94e7" 776 | integrity sha512-epMH/S2MkhBv+Y0+nHK8dC7bzmOaPwcmiYqt+VwxSUJLgPzkqZnGUEQ8eVhy5zGmgWm9tDDdXkHDzOEsVU979A== 777 | 778 | emojis-list@^3.0.0: 779 | version "3.0.0" 780 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" 781 | integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== 782 | 783 | entities@^2.0.0: 784 | version "2.2.0" 785 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" 786 | integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 787 | 788 | error-ex@^1.3.1: 789 | version "1.3.2" 790 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 791 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 792 | dependencies: 793 | is-arrayish "^0.2.1" 794 | 795 | es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: 796 | version "1.18.3" 797 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" 798 | integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== 799 | dependencies: 800 | call-bind "^1.0.2" 801 | es-to-primitive "^1.2.1" 802 | function-bind "^1.1.1" 803 | get-intrinsic "^1.1.1" 804 | has "^1.0.3" 805 | has-symbols "^1.0.2" 806 | is-callable "^1.2.3" 807 | is-negative-zero "^2.0.1" 808 | is-regex "^1.1.3" 809 | is-string "^1.0.6" 810 | object-inspect "^1.10.3" 811 | object-keys "^1.1.1" 812 | object.assign "^4.1.2" 813 | string.prototype.trimend "^1.0.4" 814 | string.prototype.trimstart "^1.0.4" 815 | unbox-primitive "^1.0.1" 816 | 817 | es-to-primitive@^1.2.1: 818 | version "1.2.1" 819 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 820 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 821 | dependencies: 822 | is-callable "^1.1.4" 823 | is-date-object "^1.0.1" 824 | is-symbol "^1.0.2" 825 | 826 | escalade@^3.1.1: 827 | version "3.1.1" 828 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 829 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 830 | 831 | escape-string-regexp@^1.0.5: 832 | version "1.0.5" 833 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 834 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 835 | 836 | esprima@^4.0.0: 837 | version "4.0.1" 838 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 839 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 840 | 841 | estree-walker@^0.6.1: 842 | version "0.6.1" 843 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 844 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 845 | 846 | estree-walker@^1.0.1: 847 | version "1.0.1" 848 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 849 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 850 | 851 | estree-walker@^2.0.1: 852 | version "2.0.2" 853 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 854 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 855 | 856 | eventemitter3@^4.0.4: 857 | version "4.0.7" 858 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 859 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 860 | 861 | fill-range@^7.0.1: 862 | version "7.0.1" 863 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 864 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 865 | dependencies: 866 | to-regex-range "^5.0.1" 867 | 868 | fs.realpath@^1.0.0: 869 | version "1.0.0" 870 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 871 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 872 | 873 | fsevents@~2.3.2: 874 | version "2.3.2" 875 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 876 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 877 | 878 | function-bind@^1.1.1: 879 | version "1.1.1" 880 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 881 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 882 | 883 | generic-names@^2.0.1: 884 | version "2.0.1" 885 | resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" 886 | integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== 887 | dependencies: 888 | loader-utils "^1.1.0" 889 | 890 | gensync@^1.0.0-beta.2: 891 | version "1.0.0-beta.2" 892 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 893 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 894 | 895 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 896 | version "1.1.1" 897 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 898 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 899 | dependencies: 900 | function-bind "^1.1.1" 901 | has "^1.0.3" 902 | has-symbols "^1.0.1" 903 | 904 | gl-noise@^1.4.2: 905 | version "1.4.2" 906 | resolved "https://registry.yarnpkg.com/gl-noise/-/gl-noise-1.4.2.tgz#3502331604b9c40c4ccda6a0215fda36a2847625" 907 | integrity sha512-S4euhmrfWAdbI54gtuoIoMFlVqem5aTL40bhyw3ZRlsx6lhWgRIGGG3e0YWeE8RRIani9+FNtpVH7xLoVj42uQ== 908 | 909 | glob-parent@~5.1.2: 910 | version "5.1.2" 911 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 912 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 913 | dependencies: 914 | is-glob "^4.0.1" 915 | 916 | glob@^7.1.6: 917 | version "7.1.7" 918 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 919 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 920 | dependencies: 921 | fs.realpath "^1.0.0" 922 | inflight "^1.0.4" 923 | inherits "2" 924 | minimatch "^3.0.4" 925 | once "^1.3.0" 926 | path-is-absolute "^1.0.0" 927 | 928 | globals@^11.1.0: 929 | version "11.12.0" 930 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 931 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 932 | 933 | has-bigints@^1.0.1: 934 | version "1.0.1" 935 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 936 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 937 | 938 | has-flag@^3.0.0: 939 | version "3.0.0" 940 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 941 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 942 | 943 | has-flag@^4.0.0: 944 | version "4.0.0" 945 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 946 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 947 | 948 | has-symbols@^1.0.1, has-symbols@^1.0.2: 949 | version "1.0.2" 950 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 951 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 952 | 953 | has@^1.0.0, has@^1.0.3: 954 | version "1.0.3" 955 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 956 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 957 | dependencies: 958 | function-bind "^1.1.1" 959 | 960 | hex-color-regex@^1.1.0: 961 | version "1.1.0" 962 | resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" 963 | integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== 964 | 965 | hsl-regex@^1.0.0: 966 | version "1.0.0" 967 | resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" 968 | integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= 969 | 970 | hsla-regex@^1.0.0: 971 | version "1.0.0" 972 | resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" 973 | integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= 974 | 975 | icss-replace-symbols@^1.1.0: 976 | version "1.1.0" 977 | resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" 978 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= 979 | 980 | icss-utils@^5.0.0: 981 | version "5.1.0" 982 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" 983 | integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== 984 | 985 | import-cwd@^3.0.0: 986 | version "3.0.0" 987 | resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" 988 | integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== 989 | dependencies: 990 | import-from "^3.0.0" 991 | 992 | import-fresh@^2.0.0: 993 | version "2.0.0" 994 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" 995 | integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= 996 | dependencies: 997 | caller-path "^2.0.0" 998 | resolve-from "^3.0.0" 999 | 1000 | import-from@^3.0.0: 1001 | version "3.0.0" 1002 | resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" 1003 | integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== 1004 | dependencies: 1005 | resolve-from "^5.0.0" 1006 | 1007 | indexes-of@^1.0.1: 1008 | version "1.0.1" 1009 | resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" 1010 | integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= 1011 | 1012 | inflight@^1.0.4: 1013 | version "1.0.6" 1014 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1015 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1016 | dependencies: 1017 | once "^1.3.0" 1018 | wrappy "1" 1019 | 1020 | inherits@2: 1021 | version "2.0.4" 1022 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1023 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1024 | 1025 | is-absolute-url@^2.0.0: 1026 | version "2.1.0" 1027 | resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" 1028 | integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= 1029 | 1030 | is-arrayish@^0.2.1: 1031 | version "0.2.1" 1032 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1033 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1034 | 1035 | is-arrayish@^0.3.1: 1036 | version "0.3.2" 1037 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" 1038 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== 1039 | 1040 | is-bigint@^1.0.1: 1041 | version "1.0.2" 1042 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" 1043 | integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== 1044 | 1045 | is-binary-path@~2.1.0: 1046 | version "2.1.0" 1047 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1048 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1049 | dependencies: 1050 | binary-extensions "^2.0.0" 1051 | 1052 | is-boolean-object@^1.1.0: 1053 | version "1.1.1" 1054 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" 1055 | integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== 1056 | dependencies: 1057 | call-bind "^1.0.2" 1058 | 1059 | is-callable@^1.1.4, is-callable@^1.2.3: 1060 | version "1.2.3" 1061 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 1062 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 1063 | 1064 | is-color-stop@^1.0.0: 1065 | version "1.1.0" 1066 | resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" 1067 | integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= 1068 | dependencies: 1069 | css-color-names "^0.0.4" 1070 | hex-color-regex "^1.1.0" 1071 | hsl-regex "^1.0.0" 1072 | hsla-regex "^1.0.0" 1073 | rgb-regex "^1.0.1" 1074 | rgba-regex "^1.0.0" 1075 | 1076 | is-core-module@^2.2.0: 1077 | version "2.5.0" 1078 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" 1079 | integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== 1080 | dependencies: 1081 | has "^1.0.3" 1082 | 1083 | is-date-object@^1.0.1: 1084 | version "1.0.4" 1085 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" 1086 | integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== 1087 | 1088 | is-directory@^0.3.1: 1089 | version "0.3.1" 1090 | resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" 1091 | integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= 1092 | 1093 | is-extglob@^2.1.1: 1094 | version "2.1.1" 1095 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1096 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1097 | 1098 | is-glob@^4.0.1, is-glob@~4.0.1: 1099 | version "4.0.1" 1100 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1101 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1102 | dependencies: 1103 | is-extglob "^2.1.1" 1104 | 1105 | is-module@^1.0.0: 1106 | version "1.0.0" 1107 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1108 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 1109 | 1110 | is-negative-zero@^2.0.1: 1111 | version "2.0.1" 1112 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 1113 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 1114 | 1115 | is-number-object@^1.0.4: 1116 | version "1.0.5" 1117 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" 1118 | integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== 1119 | 1120 | is-number@^7.0.0: 1121 | version "7.0.0" 1122 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1123 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1124 | 1125 | is-obj@^2.0.0: 1126 | version "2.0.0" 1127 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 1128 | integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 1129 | 1130 | is-reference@^1.2.1: 1131 | version "1.2.1" 1132 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 1133 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1134 | dependencies: 1135 | "@types/estree" "*" 1136 | 1137 | is-regex@^1.1.3: 1138 | version "1.1.3" 1139 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" 1140 | integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== 1141 | dependencies: 1142 | call-bind "^1.0.2" 1143 | has-symbols "^1.0.2" 1144 | 1145 | is-resolvable@^1.0.0: 1146 | version "1.1.0" 1147 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 1148 | integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== 1149 | 1150 | is-string@^1.0.5, is-string@^1.0.6: 1151 | version "1.0.6" 1152 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" 1153 | integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== 1154 | 1155 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1156 | version "1.0.4" 1157 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1158 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1159 | dependencies: 1160 | has-symbols "^1.0.2" 1161 | 1162 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1163 | version "4.0.0" 1164 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1165 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1166 | 1167 | js-yaml@^3.13.1: 1168 | version "3.14.1" 1169 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1170 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1171 | dependencies: 1172 | argparse "^1.0.7" 1173 | esprima "^4.0.0" 1174 | 1175 | jsesc@^2.5.1: 1176 | version "2.5.2" 1177 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1178 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1179 | 1180 | json-parse-better-errors@^1.0.1: 1181 | version "1.0.2" 1182 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1183 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1184 | 1185 | json5@^1.0.1: 1186 | version "1.0.1" 1187 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1188 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 1189 | dependencies: 1190 | minimist "^1.2.0" 1191 | 1192 | json5@^2.1.2: 1193 | version "2.2.0" 1194 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1195 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1196 | dependencies: 1197 | minimist "^1.2.5" 1198 | 1199 | lilconfig@^2.0.3: 1200 | version "2.0.3" 1201 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" 1202 | integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== 1203 | 1204 | livereload-js@^3.3.1: 1205 | version "3.3.2" 1206 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.3.2.tgz#c88b009c6e466b15b91faa26fd7c99d620e12651" 1207 | integrity sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA== 1208 | 1209 | livereload@^0.9.1: 1210 | version "0.9.3" 1211 | resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.9.3.tgz#a714816375ed52471408bede8b49b2ee6a0c55b1" 1212 | integrity sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw== 1213 | dependencies: 1214 | chokidar "^3.5.0" 1215 | livereload-js "^3.3.1" 1216 | opts ">= 1.2.0" 1217 | ws "^7.4.3" 1218 | 1219 | loader-utils@^1.1.0: 1220 | version "1.4.0" 1221 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" 1222 | integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== 1223 | dependencies: 1224 | big.js "^5.2.2" 1225 | emojis-list "^3.0.0" 1226 | json5 "^1.0.1" 1227 | 1228 | lodash.camelcase@^4.3.0: 1229 | version "4.3.0" 1230 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1231 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= 1232 | 1233 | lodash.memoize@^4.1.2: 1234 | version "4.1.2" 1235 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" 1236 | integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= 1237 | 1238 | lodash.uniq@^4.5.0: 1239 | version "4.5.0" 1240 | resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" 1241 | integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= 1242 | 1243 | loose-envify@^1.1.0: 1244 | version "1.4.0" 1245 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1246 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1247 | dependencies: 1248 | js-tokens "^3.0.0 || ^4.0.0" 1249 | 1250 | magic-string@^0.25.7: 1251 | version "0.25.7" 1252 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 1253 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 1254 | dependencies: 1255 | sourcemap-codec "^1.4.4" 1256 | 1257 | mdn-data@2.0.14: 1258 | version "2.0.14" 1259 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" 1260 | integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== 1261 | 1262 | mdn-data@2.0.4: 1263 | version "2.0.4" 1264 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" 1265 | integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== 1266 | 1267 | mime@>=2.4.6: 1268 | version "2.5.2" 1269 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" 1270 | integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== 1271 | 1272 | minimatch@^3.0.4: 1273 | version "3.0.4" 1274 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1275 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1276 | dependencies: 1277 | brace-expansion "^1.1.7" 1278 | 1279 | minimist@^1.2.0, minimist@^1.2.5: 1280 | version "1.2.5" 1281 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1282 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1283 | 1284 | mkdirp@~0.5.1: 1285 | version "0.5.5" 1286 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 1287 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 1288 | dependencies: 1289 | minimist "^1.2.5" 1290 | 1291 | ms@2.1.2: 1292 | version "2.1.2" 1293 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1294 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1295 | 1296 | nanoid@^3.1.23: 1297 | version "3.1.23" 1298 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" 1299 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== 1300 | 1301 | node-releases@^1.1.71: 1302 | version "1.1.73" 1303 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" 1304 | integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== 1305 | 1306 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1307 | version "3.0.0" 1308 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1309 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1310 | 1311 | normalize-url@^3.0.0: 1312 | version "3.3.0" 1313 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" 1314 | integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== 1315 | 1316 | nth-check@^1.0.2: 1317 | version "1.0.2" 1318 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" 1319 | integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== 1320 | dependencies: 1321 | boolbase "~1.0.0" 1322 | 1323 | object-assign@^4.1.1: 1324 | version "4.1.1" 1325 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1326 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1327 | 1328 | object-inspect@^1.10.3: 1329 | version "1.11.0" 1330 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" 1331 | integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== 1332 | 1333 | object-keys@^1.0.12, object-keys@^1.1.1: 1334 | version "1.1.1" 1335 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1336 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1337 | 1338 | object.assign@^4.1.2: 1339 | version "4.1.2" 1340 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1341 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1342 | dependencies: 1343 | call-bind "^1.0.0" 1344 | define-properties "^1.1.3" 1345 | has-symbols "^1.0.1" 1346 | object-keys "^1.1.1" 1347 | 1348 | object.getownpropertydescriptors@^2.1.0: 1349 | version "2.1.2" 1350 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" 1351 | integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== 1352 | dependencies: 1353 | call-bind "^1.0.2" 1354 | define-properties "^1.1.3" 1355 | es-abstract "^1.18.0-next.2" 1356 | 1357 | object.values@^1.1.0: 1358 | version "1.1.4" 1359 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" 1360 | integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== 1361 | dependencies: 1362 | call-bind "^1.0.2" 1363 | define-properties "^1.1.3" 1364 | es-abstract "^1.18.2" 1365 | 1366 | once@^1.3.0: 1367 | version "1.4.0" 1368 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1369 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1370 | dependencies: 1371 | wrappy "1" 1372 | 1373 | opener@1: 1374 | version "1.5.2" 1375 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" 1376 | integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== 1377 | 1378 | "opts@>= 1.2.0": 1379 | version "2.0.2" 1380 | resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" 1381 | integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== 1382 | 1383 | p-finally@^1.0.0: 1384 | version "1.0.0" 1385 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1386 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 1387 | 1388 | p-queue@^6.6.2: 1389 | version "6.6.2" 1390 | resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" 1391 | integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== 1392 | dependencies: 1393 | eventemitter3 "^4.0.4" 1394 | p-timeout "^3.2.0" 1395 | 1396 | p-timeout@^3.2.0: 1397 | version "3.2.0" 1398 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" 1399 | integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== 1400 | dependencies: 1401 | p-finally "^1.0.0" 1402 | 1403 | parse-json@^4.0.0: 1404 | version "4.0.0" 1405 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 1406 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 1407 | dependencies: 1408 | error-ex "^1.3.1" 1409 | json-parse-better-errors "^1.0.1" 1410 | 1411 | path-is-absolute@^1.0.0: 1412 | version "1.0.1" 1413 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1414 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1415 | 1416 | path-parse@^1.0.6: 1417 | version "1.0.7" 1418 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1419 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1420 | 1421 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2: 1422 | version "2.3.0" 1423 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1424 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1425 | 1426 | pify@^5.0.0: 1427 | version "5.0.0" 1428 | resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" 1429 | integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== 1430 | 1431 | postcss-calc@^7.0.1: 1432 | version "7.0.5" 1433 | resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" 1434 | integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== 1435 | dependencies: 1436 | postcss "^7.0.27" 1437 | postcss-selector-parser "^6.0.2" 1438 | postcss-value-parser "^4.0.2" 1439 | 1440 | postcss-colormin@^4.0.3: 1441 | version "4.0.3" 1442 | resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" 1443 | integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== 1444 | dependencies: 1445 | browserslist "^4.0.0" 1446 | color "^3.0.0" 1447 | has "^1.0.0" 1448 | postcss "^7.0.0" 1449 | postcss-value-parser "^3.0.0" 1450 | 1451 | postcss-convert-values@^4.0.1: 1452 | version "4.0.1" 1453 | resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" 1454 | integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== 1455 | dependencies: 1456 | postcss "^7.0.0" 1457 | postcss-value-parser "^3.0.0" 1458 | 1459 | postcss-discard-comments@^4.0.2: 1460 | version "4.0.2" 1461 | resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" 1462 | integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== 1463 | dependencies: 1464 | postcss "^7.0.0" 1465 | 1466 | postcss-discard-duplicates@^4.0.2: 1467 | version "4.0.2" 1468 | resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" 1469 | integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== 1470 | dependencies: 1471 | postcss "^7.0.0" 1472 | 1473 | postcss-discard-empty@^4.0.1: 1474 | version "4.0.1" 1475 | resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" 1476 | integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== 1477 | dependencies: 1478 | postcss "^7.0.0" 1479 | 1480 | postcss-discard-overridden@^4.0.1: 1481 | version "4.0.1" 1482 | resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" 1483 | integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== 1484 | dependencies: 1485 | postcss "^7.0.0" 1486 | 1487 | postcss-load-config@^3.0.0: 1488 | version "3.1.0" 1489 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829" 1490 | integrity sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g== 1491 | dependencies: 1492 | import-cwd "^3.0.0" 1493 | lilconfig "^2.0.3" 1494 | yaml "^1.10.2" 1495 | 1496 | postcss-merge-longhand@^4.0.11: 1497 | version "4.0.11" 1498 | resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" 1499 | integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== 1500 | dependencies: 1501 | css-color-names "0.0.4" 1502 | postcss "^7.0.0" 1503 | postcss-value-parser "^3.0.0" 1504 | stylehacks "^4.0.0" 1505 | 1506 | postcss-merge-rules@^4.0.3: 1507 | version "4.0.3" 1508 | resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" 1509 | integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== 1510 | dependencies: 1511 | browserslist "^4.0.0" 1512 | caniuse-api "^3.0.0" 1513 | cssnano-util-same-parent "^4.0.0" 1514 | postcss "^7.0.0" 1515 | postcss-selector-parser "^3.0.0" 1516 | vendors "^1.0.0" 1517 | 1518 | postcss-minify-font-values@^4.0.2: 1519 | version "4.0.2" 1520 | resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" 1521 | integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== 1522 | dependencies: 1523 | postcss "^7.0.0" 1524 | postcss-value-parser "^3.0.0" 1525 | 1526 | postcss-minify-gradients@^4.0.2: 1527 | version "4.0.2" 1528 | resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" 1529 | integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== 1530 | dependencies: 1531 | cssnano-util-get-arguments "^4.0.0" 1532 | is-color-stop "^1.0.0" 1533 | postcss "^7.0.0" 1534 | postcss-value-parser "^3.0.0" 1535 | 1536 | postcss-minify-params@^4.0.2: 1537 | version "4.0.2" 1538 | resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" 1539 | integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== 1540 | dependencies: 1541 | alphanum-sort "^1.0.0" 1542 | browserslist "^4.0.0" 1543 | cssnano-util-get-arguments "^4.0.0" 1544 | postcss "^7.0.0" 1545 | postcss-value-parser "^3.0.0" 1546 | uniqs "^2.0.0" 1547 | 1548 | postcss-minify-selectors@^4.0.2: 1549 | version "4.0.2" 1550 | resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" 1551 | integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== 1552 | dependencies: 1553 | alphanum-sort "^1.0.0" 1554 | has "^1.0.0" 1555 | postcss "^7.0.0" 1556 | postcss-selector-parser "^3.0.0" 1557 | 1558 | postcss-modules-extract-imports@^3.0.0: 1559 | version "3.0.0" 1560 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" 1561 | integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== 1562 | 1563 | postcss-modules-local-by-default@^4.0.0: 1564 | version "4.0.0" 1565 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" 1566 | integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== 1567 | dependencies: 1568 | icss-utils "^5.0.0" 1569 | postcss-selector-parser "^6.0.2" 1570 | postcss-value-parser "^4.1.0" 1571 | 1572 | postcss-modules-scope@^3.0.0: 1573 | version "3.0.0" 1574 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" 1575 | integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== 1576 | dependencies: 1577 | postcss-selector-parser "^6.0.4" 1578 | 1579 | postcss-modules-values@^4.0.0: 1580 | version "4.0.0" 1581 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" 1582 | integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== 1583 | dependencies: 1584 | icss-utils "^5.0.0" 1585 | 1586 | postcss-modules@^4.0.0: 1587 | version "4.2.2" 1588 | resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5" 1589 | integrity sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg== 1590 | dependencies: 1591 | generic-names "^2.0.1" 1592 | icss-replace-symbols "^1.1.0" 1593 | lodash.camelcase "^4.3.0" 1594 | postcss-modules-extract-imports "^3.0.0" 1595 | postcss-modules-local-by-default "^4.0.0" 1596 | postcss-modules-scope "^3.0.0" 1597 | postcss-modules-values "^4.0.0" 1598 | string-hash "^1.1.1" 1599 | 1600 | postcss-normalize-charset@^4.0.1: 1601 | version "4.0.1" 1602 | resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" 1603 | integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== 1604 | dependencies: 1605 | postcss "^7.0.0" 1606 | 1607 | postcss-normalize-display-values@^4.0.2: 1608 | version "4.0.2" 1609 | resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" 1610 | integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== 1611 | dependencies: 1612 | cssnano-util-get-match "^4.0.0" 1613 | postcss "^7.0.0" 1614 | postcss-value-parser "^3.0.0" 1615 | 1616 | postcss-normalize-positions@^4.0.2: 1617 | version "4.0.2" 1618 | resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" 1619 | integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== 1620 | dependencies: 1621 | cssnano-util-get-arguments "^4.0.0" 1622 | has "^1.0.0" 1623 | postcss "^7.0.0" 1624 | postcss-value-parser "^3.0.0" 1625 | 1626 | postcss-normalize-repeat-style@^4.0.2: 1627 | version "4.0.2" 1628 | resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" 1629 | integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== 1630 | dependencies: 1631 | cssnano-util-get-arguments "^4.0.0" 1632 | cssnano-util-get-match "^4.0.0" 1633 | postcss "^7.0.0" 1634 | postcss-value-parser "^3.0.0" 1635 | 1636 | postcss-normalize-string@^4.0.2: 1637 | version "4.0.2" 1638 | resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" 1639 | integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== 1640 | dependencies: 1641 | has "^1.0.0" 1642 | postcss "^7.0.0" 1643 | postcss-value-parser "^3.0.0" 1644 | 1645 | postcss-normalize-timing-functions@^4.0.2: 1646 | version "4.0.2" 1647 | resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" 1648 | integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== 1649 | dependencies: 1650 | cssnano-util-get-match "^4.0.0" 1651 | postcss "^7.0.0" 1652 | postcss-value-parser "^3.0.0" 1653 | 1654 | postcss-normalize-unicode@^4.0.1: 1655 | version "4.0.1" 1656 | resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" 1657 | integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== 1658 | dependencies: 1659 | browserslist "^4.0.0" 1660 | postcss "^7.0.0" 1661 | postcss-value-parser "^3.0.0" 1662 | 1663 | postcss-normalize-url@^4.0.1: 1664 | version "4.0.1" 1665 | resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" 1666 | integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== 1667 | dependencies: 1668 | is-absolute-url "^2.0.0" 1669 | normalize-url "^3.0.0" 1670 | postcss "^7.0.0" 1671 | postcss-value-parser "^3.0.0" 1672 | 1673 | postcss-normalize-whitespace@^4.0.2: 1674 | version "4.0.2" 1675 | resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" 1676 | integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== 1677 | dependencies: 1678 | postcss "^7.0.0" 1679 | postcss-value-parser "^3.0.0" 1680 | 1681 | postcss-ordered-values@^4.1.2: 1682 | version "4.1.2" 1683 | resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" 1684 | integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== 1685 | dependencies: 1686 | cssnano-util-get-arguments "^4.0.0" 1687 | postcss "^7.0.0" 1688 | postcss-value-parser "^3.0.0" 1689 | 1690 | postcss-reduce-initial@^4.0.3: 1691 | version "4.0.3" 1692 | resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" 1693 | integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== 1694 | dependencies: 1695 | browserslist "^4.0.0" 1696 | caniuse-api "^3.0.0" 1697 | has "^1.0.0" 1698 | postcss "^7.0.0" 1699 | 1700 | postcss-reduce-transforms@^4.0.2: 1701 | version "4.0.2" 1702 | resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" 1703 | integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== 1704 | dependencies: 1705 | cssnano-util-get-match "^4.0.0" 1706 | has "^1.0.0" 1707 | postcss "^7.0.0" 1708 | postcss-value-parser "^3.0.0" 1709 | 1710 | postcss-selector-parser@^3.0.0: 1711 | version "3.1.2" 1712 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" 1713 | integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== 1714 | dependencies: 1715 | dot-prop "^5.2.0" 1716 | indexes-of "^1.0.1" 1717 | uniq "^1.0.1" 1718 | 1719 | postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: 1720 | version "6.0.6" 1721 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" 1722 | integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== 1723 | dependencies: 1724 | cssesc "^3.0.0" 1725 | util-deprecate "^1.0.2" 1726 | 1727 | postcss-svgo@^4.0.3: 1728 | version "4.0.3" 1729 | resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" 1730 | integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== 1731 | dependencies: 1732 | postcss "^7.0.0" 1733 | postcss-value-parser "^3.0.0" 1734 | svgo "^1.0.0" 1735 | 1736 | postcss-unique-selectors@^4.0.1: 1737 | version "4.0.1" 1738 | resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" 1739 | integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== 1740 | dependencies: 1741 | alphanum-sort "^1.0.0" 1742 | postcss "^7.0.0" 1743 | uniqs "^2.0.0" 1744 | 1745 | postcss-value-parser@^3.0.0: 1746 | version "3.3.1" 1747 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" 1748 | integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== 1749 | 1750 | postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: 1751 | version "4.1.0" 1752 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" 1753 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== 1754 | 1755 | postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: 1756 | version "7.0.36" 1757 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" 1758 | integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== 1759 | dependencies: 1760 | chalk "^2.4.2" 1761 | source-map "^0.6.1" 1762 | supports-color "^6.1.0" 1763 | 1764 | postcss@^8.3.6: 1765 | version "8.3.6" 1766 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" 1767 | integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== 1768 | dependencies: 1769 | colorette "^1.2.2" 1770 | nanoid "^3.1.23" 1771 | source-map-js "^0.6.2" 1772 | 1773 | promise.series@^0.2.0: 1774 | version "0.2.0" 1775 | resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" 1776 | integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= 1777 | 1778 | q@^1.1.2: 1779 | version "1.5.1" 1780 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 1781 | integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= 1782 | 1783 | react-dom@^17.0.2: 1784 | version "17.0.2" 1785 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1786 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1787 | dependencies: 1788 | loose-envify "^1.1.0" 1789 | object-assign "^4.1.1" 1790 | scheduler "^0.20.2" 1791 | 1792 | react-three-paper@^1.0.3: 1793 | version "1.0.3" 1794 | resolved "https://registry.yarnpkg.com/react-three-paper/-/react-three-paper-1.0.3.tgz#579c44b5702b0050b32a220dbaf475eec7e08441" 1795 | integrity sha512-UYq2A8CZBTUYeYXDOBe1nYUtkwf7SBItzBA4oeh5JfXOPhvV2pbaPxErvFx/fNnOvGfa0bJoXiEk+prpFc2BTw== 1796 | 1797 | react@^17.0.2: 1798 | version "17.0.2" 1799 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1800 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1801 | dependencies: 1802 | loose-envify "^1.1.0" 1803 | object-assign "^4.1.1" 1804 | 1805 | readdirp@~3.6.0: 1806 | version "3.6.0" 1807 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1808 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1809 | dependencies: 1810 | picomatch "^2.2.1" 1811 | 1812 | resolve-from@^3.0.0: 1813 | version "3.0.0" 1814 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 1815 | integrity sha1-six699nWiBvItuZTM17rywoYh0g= 1816 | 1817 | resolve-from@^5.0.0: 1818 | version "5.0.0" 1819 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1820 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1821 | 1822 | resolve@^1.17.0, resolve@^1.19.0: 1823 | version "1.20.0" 1824 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 1825 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1826 | dependencies: 1827 | is-core-module "^2.2.0" 1828 | path-parse "^1.0.6" 1829 | 1830 | rgb-regex@^1.0.1: 1831 | version "1.0.1" 1832 | resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" 1833 | integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= 1834 | 1835 | rgba-regex@^1.0.0: 1836 | version "1.0.0" 1837 | resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" 1838 | integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= 1839 | 1840 | rollup-plugin-livereload@^2.0.5: 1841 | version "2.0.5" 1842 | resolved "https://registry.yarnpkg.com/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.5.tgz#4747fa292a2cceb0c972c573d71b3d66b4252b37" 1843 | integrity sha512-vqQZ/UQowTW7VoiKEM5ouNW90wE5/GZLfdWuR0ELxyKOJUIaj+uismPZZaICU4DnWPVjnpCDDxEqwU7pcKY/PA== 1844 | dependencies: 1845 | livereload "^0.9.1" 1846 | 1847 | rollup-plugin-postcss@^4.0.0: 1848 | version "4.0.0" 1849 | resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.0.tgz#2131fb6db0d5dce01a37235e4f6ad4523c681cea" 1850 | integrity sha512-OQzT+YspV01/6dxfyEw8lBO2px3hyL8Xn+k2QGctL7V/Yx2Z1QaMKdYVslP1mqv7RsKt6DROIlnbpmgJ3yxf6g== 1851 | dependencies: 1852 | chalk "^4.1.0" 1853 | concat-with-sourcemaps "^1.1.0" 1854 | cssnano "^4.1.10" 1855 | import-cwd "^3.0.0" 1856 | p-queue "^6.6.2" 1857 | pify "^5.0.0" 1858 | postcss-load-config "^3.0.0" 1859 | postcss-modules "^4.0.0" 1860 | promise.series "^0.2.0" 1861 | resolve "^1.19.0" 1862 | rollup-pluginutils "^2.8.2" 1863 | safe-identifier "^0.4.2" 1864 | style-inject "^0.3.0" 1865 | 1866 | rollup-plugin-serve@^1.1.0: 1867 | version "1.1.0" 1868 | resolved "https://registry.yarnpkg.com/rollup-plugin-serve/-/rollup-plugin-serve-1.1.0.tgz#0654a57021a21b903340c69940f7463706e8288d" 1869 | integrity sha512-pYkSsuA0/psKqhhictkJw1c2klya5b+LlCvipWqI9OE1aG2M97mRumZCbBlry5CMEOzYBBgSDgd1694sNbmyIw== 1870 | dependencies: 1871 | mime ">=2.4.6" 1872 | opener "1" 1873 | 1874 | rollup-pluginutils@^2.8.2: 1875 | version "2.8.2" 1876 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 1877 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 1878 | dependencies: 1879 | estree-walker "^0.6.1" 1880 | 1881 | rollup@^2.55.0: 1882 | version "2.55.0" 1883 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.55.0.tgz#e23bb51194d9706b4661515a14feeefaaa1830c2" 1884 | integrity sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA== 1885 | optionalDependencies: 1886 | fsevents "~2.3.2" 1887 | 1888 | safe-buffer@~5.1.1: 1889 | version "5.1.2" 1890 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1891 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1892 | 1893 | safe-identifier@^0.4.2: 1894 | version "0.4.2" 1895 | resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" 1896 | integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== 1897 | 1898 | sax@~1.2.4: 1899 | version "1.2.4" 1900 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 1901 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 1902 | 1903 | scheduler@^0.20.2: 1904 | version "0.20.2" 1905 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1906 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1907 | dependencies: 1908 | loose-envify "^1.1.0" 1909 | object-assign "^4.1.1" 1910 | 1911 | semver@^6.3.0: 1912 | version "6.3.0" 1913 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1914 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1915 | 1916 | simple-swizzle@^0.2.2: 1917 | version "0.2.2" 1918 | resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" 1919 | integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= 1920 | dependencies: 1921 | is-arrayish "^0.3.1" 1922 | 1923 | source-map-js@^0.6.2: 1924 | version "0.6.2" 1925 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" 1926 | integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== 1927 | 1928 | source-map@^0.5.0: 1929 | version "0.5.7" 1930 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1931 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1932 | 1933 | source-map@^0.6.1: 1934 | version "0.6.1" 1935 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1936 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1937 | 1938 | sourcemap-codec@^1.4.4: 1939 | version "1.4.8" 1940 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1941 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1942 | 1943 | sprintf-js@~1.0.2: 1944 | version "1.0.3" 1945 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1946 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1947 | 1948 | stable@^0.1.8: 1949 | version "0.1.8" 1950 | resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" 1951 | integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== 1952 | 1953 | stats.js@^0.17.0: 1954 | version "0.17.0" 1955 | resolved "https://registry.yarnpkg.com/stats.js/-/stats.js-0.17.0.tgz#b1c3dc46d94498b578b7fd3985b81ace7131cc7d" 1956 | integrity sha1-scPcRtlEmLV4t/05hbgaznExzH0= 1957 | 1958 | string-hash@^1.1.1: 1959 | version "1.1.3" 1960 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 1961 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 1962 | 1963 | string.prototype.trimend@^1.0.4: 1964 | version "1.0.4" 1965 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1966 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1967 | dependencies: 1968 | call-bind "^1.0.2" 1969 | define-properties "^1.1.3" 1970 | 1971 | string.prototype.trimstart@^1.0.4: 1972 | version "1.0.4" 1973 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1974 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1975 | dependencies: 1976 | call-bind "^1.0.2" 1977 | define-properties "^1.1.3" 1978 | 1979 | style-inject@^0.3.0: 1980 | version "0.3.0" 1981 | resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" 1982 | integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== 1983 | 1984 | stylehacks@^4.0.0: 1985 | version "4.0.3" 1986 | resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" 1987 | integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== 1988 | dependencies: 1989 | browserslist "^4.0.0" 1990 | postcss "^7.0.0" 1991 | postcss-selector-parser "^3.0.0" 1992 | 1993 | supports-color@^5.3.0: 1994 | version "5.5.0" 1995 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1996 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1997 | dependencies: 1998 | has-flag "^3.0.0" 1999 | 2000 | supports-color@^6.1.0: 2001 | version "6.1.0" 2002 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 2003 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 2004 | dependencies: 2005 | has-flag "^3.0.0" 2006 | 2007 | supports-color@^7.1.0: 2008 | version "7.2.0" 2009 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2010 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2011 | dependencies: 2012 | has-flag "^4.0.0" 2013 | 2014 | svgo@^1.0.0: 2015 | version "1.3.2" 2016 | resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" 2017 | integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== 2018 | dependencies: 2019 | chalk "^2.4.1" 2020 | coa "^2.0.2" 2021 | css-select "^2.0.0" 2022 | css-select-base-adapter "^0.1.1" 2023 | css-tree "1.0.0-alpha.37" 2024 | csso "^4.0.2" 2025 | js-yaml "^3.13.1" 2026 | mkdirp "~0.5.1" 2027 | object.values "^1.1.0" 2028 | sax "~1.2.4" 2029 | stable "^0.1.8" 2030 | unquote "~1.1.1" 2031 | util.promisify "~1.0.0" 2032 | 2033 | three-custom-shader-material@^2.4.1: 2034 | version "2.4.1" 2035 | resolved "https://registry.yarnpkg.com/three-custom-shader-material/-/three-custom-shader-material-2.4.1.tgz#d0d29f6bb56a7ef2549f2a75f840c20bc64a69c5" 2036 | integrity sha512-O932SHWc63sUJKc+DksSPZgu7biBd/LGUyH3zP8/2laOYMn1ySw0yN2o5zQO9235+4VdVNPUgbE3Uf2x0PgGnA== 2037 | dependencies: 2038 | three "^0.129.0" 2039 | 2040 | three@^0.129.0: 2041 | version "0.129.0" 2042 | resolved "https://registry.yarnpkg.com/three/-/three-0.129.0.tgz#f5e530bbc96eac5d5b4749cb5da886ef0d42f554" 2043 | integrity sha512-wiWio1yVRg2Oj6WEWsTHQo5eSzYpEwSBtPSi3OofNpvFbf26HFfb9kw4FZJNjII4qxzp0b1xLB11+tKkBGB1ZA== 2044 | 2045 | three@^0.130.1: 2046 | version "0.130.1" 2047 | resolved "https://registry.yarnpkg.com/three/-/three-0.130.1.tgz#797588b2877ace31603bbbc864eb2e3022f0b3b4" 2048 | integrity sha512-OSPPKcGvFSiGkG3jFrwwC76PBV/ZSrGxpBbg28bW8s9GU8r/y2spNGtEXHEb/CVqo0Ctf5Lx2rVaxQZB6OasaA== 2049 | 2050 | timsort@^0.3.0: 2051 | version "0.3.0" 2052 | resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" 2053 | integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= 2054 | 2055 | to-fast-properties@^2.0.0: 2056 | version "2.0.0" 2057 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2058 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2059 | 2060 | to-regex-range@^5.0.1: 2061 | version "5.0.1" 2062 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2063 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2064 | dependencies: 2065 | is-number "^7.0.0" 2066 | 2067 | unbox-primitive@^1.0.1: 2068 | version "1.0.1" 2069 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 2070 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 2071 | dependencies: 2072 | function-bind "^1.1.1" 2073 | has-bigints "^1.0.1" 2074 | has-symbols "^1.0.2" 2075 | which-boxed-primitive "^1.0.2" 2076 | 2077 | uniq@^1.0.1: 2078 | version "1.0.1" 2079 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 2080 | integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= 2081 | 2082 | uniqs@^2.0.0: 2083 | version "2.0.0" 2084 | resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" 2085 | integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= 2086 | 2087 | unquote@~1.1.1: 2088 | version "1.1.1" 2089 | resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" 2090 | integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= 2091 | 2092 | util-deprecate@^1.0.2: 2093 | version "1.0.2" 2094 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2095 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2096 | 2097 | util.promisify@~1.0.0: 2098 | version "1.0.1" 2099 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" 2100 | integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== 2101 | dependencies: 2102 | define-properties "^1.1.3" 2103 | es-abstract "^1.17.2" 2104 | has-symbols "^1.0.1" 2105 | object.getownpropertydescriptors "^2.1.0" 2106 | 2107 | vendors@^1.0.0: 2108 | version "1.0.4" 2109 | resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" 2110 | integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== 2111 | 2112 | which-boxed-primitive@^1.0.2: 2113 | version "1.0.2" 2114 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 2115 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 2116 | dependencies: 2117 | is-bigint "^1.0.1" 2118 | is-boolean-object "^1.1.0" 2119 | is-number-object "^1.0.4" 2120 | is-string "^1.0.5" 2121 | is-symbol "^1.0.3" 2122 | 2123 | wrappy@1: 2124 | version "1.0.2" 2125 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2126 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2127 | 2128 | ws@^7.4.3: 2129 | version "7.5.3" 2130 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" 2131 | integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== 2132 | 2133 | yaml@^1.10.2: 2134 | version "1.10.2" 2135 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2136 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2137 | -------------------------------------------------------------------------------- /index.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useRef, useCallback, useState } from "react"; 2 | 3 | type tPaperRenderLoop = (time?: number) => void; 4 | type tPaperCleanup = () => void; 5 | 6 | type tPaperScriptReturn = { 7 | render: tPaperRenderLoop; 8 | cleanup?: tPaperCleanup; 9 | }; 10 | 11 | type tPaperScript = (canvas?: HTMLCanvasElement) => Promise; 12 | type tPaperPositionEvent = (entry: IntersectionObserverEntry) => void; 13 | type tPaperErrorEvent = (error: Error) => void; 14 | 15 | interface iPaperPropTypes { 16 | script: tPaperScript; 17 | onExit?: tPaperPositionEvent; 18 | onEntry?: tPaperPositionEvent; 19 | onError?: tPaperErrorEvent; 20 | style?: React.CSSProperties; 21 | } 22 | 23 | const IntersectionObserverOptions = { 24 | threshold: 0.01, 25 | }; 26 | 27 | export function Paper({ script, style, onExit, onEntry, onError }: iPaperPropTypes) { 28 | const ref = useRef(null); 29 | const [scriptReturn, setScriptReturn] = useState(null as tPaperScriptReturn); 30 | 31 | const execScript = useCallback(async (promise: Promise, callback: tPaperErrorEvent) => { 32 | try { 33 | const r = await promise; 34 | setScriptReturn(r); 35 | } catch (error) { 36 | callback(error); 37 | } 38 | }, []); 39 | 40 | useEffect(() => { 41 | let ID: number = 0; 42 | 43 | if (scriptReturn === null) { 44 | execScript(script(ref.current), (error: Error) => { 45 | console.error(error); 46 | cancelAnimationFrame(ID); 47 | if (onError) onError(error); 48 | }); 49 | } else { 50 | const { render, cleanup } = scriptReturn; 51 | 52 | function animate(time: number) { 53 | render(time); 54 | ID = requestAnimationFrame(animate); 55 | } 56 | 57 | let observer = new IntersectionObserver(([entry]) => { 58 | const { isIntersecting } = entry; 59 | if (isIntersecting) { 60 | if (onEntry) onEntry(entry); 61 | ID = requestAnimationFrame(animate); 62 | } else { 63 | if (onExit) onExit(entry); 64 | cancelAnimationFrame(ID); 65 | } 66 | }, IntersectionObserverOptions); 67 | 68 | observer.observe(ref.current); 69 | 70 | return () => { 71 | observer.disconnect(); 72 | if (ID) cancelAnimationFrame(ID); 73 | if (cleanup) cleanup(); 74 | }; 75 | } 76 | }, [script, ref, scriptReturn]); 77 | 78 | return ( 79 | 87 | ); 88 | } 89 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-three-paper", 3 | "version": "1.0.4", 4 | "description": "A paper-thin (~800 bytes) and position-aware wrapper for ThreeJS in React.", 5 | "scripts": { 6 | "build": "rollup -c" 7 | }, 8 | "type": "module", 9 | "main": "build/paper.js", 10 | "types": "build/index.d.ts", 11 | "files": [ 12 | "build/*", 13 | "README.md", 14 | "package.json" 15 | ], 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/FarazzShaikh/react-three-paper" 19 | }, 20 | "homepage": "https://github.com/FarazzShaikh/react-three-paper", 21 | "keywords": [ 22 | "react", 23 | "threejs", 24 | "wrapper", 25 | "component" 26 | ], 27 | "author": "Faraz Shaikh", 28 | "license": "MIT", 29 | "devDependencies": { 30 | "@rollup/plugin-commonjs": "^19.0.2", 31 | "@rollup/plugin-node-resolve": "^13.0.4", 32 | "@types/react": "^17.0.15", 33 | "react": "^17.0.2", 34 | "rollup": "^2.54.0", 35 | "rollup-plugin-cleanup": "^3.2.1", 36 | "rollup-plugin-peer-deps-external": "^2.2.4", 37 | "rollup-plugin-terser": "^7.0.2", 38 | "rollup-plugin-typescript2": "^0.30.0", 39 | "typescript": "^4.3.5" 40 | }, 41 | "peerDependencies": { 42 | "react": ">=16.8.0" 43 | }, 44 | "dependencies": {} 45 | } 46 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import peerDepsExternal from "rollup-plugin-peer-deps-external"; 2 | import resolve from "@rollup/plugin-node-resolve"; 3 | import typescript from "rollup-plugin-typescript2"; 4 | import { terser } from "rollup-plugin-terser"; 5 | import cleanup from "rollup-plugin-cleanup"; 6 | 7 | const packageJson = require("./package.json"); 8 | 9 | export default { 10 | input: "index.tsx", 11 | output: [ 12 | { 13 | file: packageJson.main, 14 | format: "esm", 15 | sourcemap: true, 16 | strict: false, 17 | }, 18 | ], 19 | plugins: [peerDepsExternal(), resolve(), typescript({ useTsconfigDeclarationDir: true }), terser(), cleanup({ comments: "none" })], 20 | }; 21 | -------------------------------------------------------------------------------- /scripts/getChange.sh: -------------------------------------------------------------------------------- 1 | awk -v version="$1" '/## Version / {printit = $3 == version}; printit;' "$2" -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "declarationDir": "build", 5 | "module": "esnext", 6 | "target": "ES2018", 7 | "lib": ["es6", "dom", "es2016", "es2017"], 8 | "sourceMap": true, 9 | "jsx": "react", 10 | "moduleResolution": "node", 11 | "allowSyntheticDefaultImports": true, 12 | "esModuleInterop": true 13 | }, 14 | "include": ["index.tsx"], 15 | "exclude": [ 16 | "node_modules", 17 | "build", 18 | ] 19 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.10.4": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/helper-validator-identifier@^7.14.5": 13 | version "7.14.8" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" 15 | integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== 16 | 17 | "@babel/highlight@^7.14.5": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 20 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.5" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@rollup/plugin-commonjs@^19.0.2": 27 | version "19.0.2" 28 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.2.tgz#1ccc3d63878d1bc9846f8969f09dd3b3e4ecc244" 29 | integrity sha512-gBjarfqlC7qs0AutpRW/hrFNm+cd2/QKxhwyFa+srbg1oX7rDsEU3l+W7LAUhsAp9mPJMAkXDhLbQaVwEaE8bA== 30 | dependencies: 31 | "@rollup/pluginutils" "^3.1.0" 32 | commondir "^1.0.1" 33 | estree-walker "^2.0.1" 34 | glob "^7.1.6" 35 | is-reference "^1.2.1" 36 | magic-string "^0.25.7" 37 | resolve "^1.17.0" 38 | 39 | "@rollup/plugin-node-resolve@^13.0.4": 40 | version "13.0.4" 41 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0" 42 | integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w== 43 | dependencies: 44 | "@rollup/pluginutils" "^3.1.0" 45 | "@types/resolve" "1.17.1" 46 | builtin-modules "^3.1.0" 47 | deepmerge "^4.2.2" 48 | is-module "^1.0.0" 49 | resolve "^1.19.0" 50 | 51 | "@rollup/pluginutils@^3.1.0": 52 | version "3.1.0" 53 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 54 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 55 | dependencies: 56 | "@types/estree" "0.0.39" 57 | estree-walker "^1.0.1" 58 | picomatch "^2.2.2" 59 | 60 | "@rollup/pluginutils@^4.1.0": 61 | version "4.1.1" 62 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" 63 | integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== 64 | dependencies: 65 | estree-walker "^2.0.1" 66 | picomatch "^2.2.2" 67 | 68 | "@types/estree@*": 69 | version "0.0.50" 70 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 71 | integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 72 | 73 | "@types/estree@0.0.39": 74 | version "0.0.39" 75 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 76 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 77 | 78 | "@types/node@*": 79 | version "16.4.3" 80 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.3.tgz#c01c1a215721f6dec71b47d88b4687463601ba48" 81 | integrity sha512-GKM4FLMkWDc0sfx7tXqPWkM6NBow1kge0fgQh0bOnlqo4iT1kvTvMEKE0c1RtUGnbLlGRXiAA8SumE//90uKAg== 82 | 83 | "@types/prop-types@*": 84 | version "15.7.4" 85 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 86 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== 87 | 88 | "@types/react@^17.0.15": 89 | version "17.0.15" 90 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.15.tgz#c7533dc38025677e312606502df7656a6ea626d0" 91 | integrity sha512-uTKHDK9STXFHLaKv6IMnwp52fm0hwU+N89w/p9grdUqcFA6WuqDyPhaWopbNyE1k/VhgzmHl8pu1L4wITtmlLw== 92 | dependencies: 93 | "@types/prop-types" "*" 94 | "@types/scheduler" "*" 95 | csstype "^3.0.2" 96 | 97 | "@types/resolve@1.17.1": 98 | version "1.17.1" 99 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 100 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 101 | dependencies: 102 | "@types/node" "*" 103 | 104 | "@types/scheduler@*": 105 | version "0.16.2" 106 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 107 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 108 | 109 | ansi-styles@^3.2.1: 110 | version "3.2.1" 111 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 112 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 113 | dependencies: 114 | color-convert "^1.9.0" 115 | 116 | balanced-match@^1.0.0: 117 | version "1.0.2" 118 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 119 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 120 | 121 | brace-expansion@^1.1.7: 122 | version "1.1.11" 123 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 124 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 125 | dependencies: 126 | balanced-match "^1.0.0" 127 | concat-map "0.0.1" 128 | 129 | buffer-from@^1.0.0: 130 | version "1.1.1" 131 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 132 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 133 | 134 | builtin-modules@^3.1.0: 135 | version "3.2.0" 136 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 137 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 138 | 139 | chalk@^2.0.0: 140 | version "2.4.2" 141 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 142 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 143 | dependencies: 144 | ansi-styles "^3.2.1" 145 | escape-string-regexp "^1.0.5" 146 | supports-color "^5.3.0" 147 | 148 | color-convert@^1.9.0: 149 | version "1.9.3" 150 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 151 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 152 | dependencies: 153 | color-name "1.1.3" 154 | 155 | color-name@1.1.3: 156 | version "1.1.3" 157 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 158 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 159 | 160 | commander@^2.20.0: 161 | version "2.20.3" 162 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 163 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 164 | 165 | commondir@^1.0.1: 166 | version "1.0.1" 167 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 168 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 169 | 170 | concat-map@0.0.1: 171 | version "0.0.1" 172 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 173 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 174 | 175 | csstype@^3.0.2: 176 | version "3.0.8" 177 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" 178 | integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== 179 | 180 | deepmerge@^4.2.2: 181 | version "4.2.2" 182 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 183 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 184 | 185 | escape-string-regexp@^1.0.5: 186 | version "1.0.5" 187 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 188 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 189 | 190 | estree-walker@^0.6.1: 191 | version "0.6.1" 192 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 193 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 194 | 195 | estree-walker@^1.0.1: 196 | version "1.0.1" 197 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 198 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 199 | 200 | estree-walker@^2.0.1: 201 | version "2.0.2" 202 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 203 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 204 | 205 | find-cache-dir@^3.3.1: 206 | version "3.3.1" 207 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" 208 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== 209 | dependencies: 210 | commondir "^1.0.1" 211 | make-dir "^3.0.2" 212 | pkg-dir "^4.1.0" 213 | 214 | find-up@^4.0.0: 215 | version "4.1.0" 216 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 217 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 218 | dependencies: 219 | locate-path "^5.0.0" 220 | path-exists "^4.0.0" 221 | 222 | fs-extra@8.1.0: 223 | version "8.1.0" 224 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 225 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== 226 | dependencies: 227 | graceful-fs "^4.2.0" 228 | jsonfile "^4.0.0" 229 | universalify "^0.1.0" 230 | 231 | fs.realpath@^1.0.0: 232 | version "1.0.0" 233 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 234 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 235 | 236 | fsevents@~2.3.2: 237 | version "2.3.2" 238 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 239 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 240 | 241 | function-bind@^1.1.1: 242 | version "1.1.1" 243 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 244 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 245 | 246 | glob@^7.1.6: 247 | version "7.1.7" 248 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 249 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 250 | dependencies: 251 | fs.realpath "^1.0.0" 252 | inflight "^1.0.4" 253 | inherits "2" 254 | minimatch "^3.0.4" 255 | once "^1.3.0" 256 | path-is-absolute "^1.0.0" 257 | 258 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 259 | version "4.2.6" 260 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 261 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 262 | 263 | has-flag@^3.0.0: 264 | version "3.0.0" 265 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 266 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 267 | 268 | has-flag@^4.0.0: 269 | version "4.0.0" 270 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 271 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 272 | 273 | has@^1.0.3: 274 | version "1.0.3" 275 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 276 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 277 | dependencies: 278 | function-bind "^1.1.1" 279 | 280 | inflight@^1.0.4: 281 | version "1.0.6" 282 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 283 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 284 | dependencies: 285 | once "^1.3.0" 286 | wrappy "1" 287 | 288 | inherits@2: 289 | version "2.0.4" 290 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 291 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 292 | 293 | is-core-module@^2.2.0: 294 | version "2.5.0" 295 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" 296 | integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== 297 | dependencies: 298 | has "^1.0.3" 299 | 300 | is-module@^1.0.0: 301 | version "1.0.0" 302 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 303 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 304 | 305 | is-reference@^1.2.1: 306 | version "1.2.1" 307 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 308 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 309 | dependencies: 310 | "@types/estree" "*" 311 | 312 | jest-worker@^26.2.1: 313 | version "26.6.2" 314 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" 315 | integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== 316 | dependencies: 317 | "@types/node" "*" 318 | merge-stream "^2.0.0" 319 | supports-color "^7.0.0" 320 | 321 | js-cleanup@^1.2.0: 322 | version "1.2.0" 323 | resolved "https://registry.yarnpkg.com/js-cleanup/-/js-cleanup-1.2.0.tgz#8dbc65954b1d38b255f1e8cf02cd17b3f7a053f9" 324 | integrity sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ== 325 | dependencies: 326 | magic-string "^0.25.7" 327 | perf-regexes "^1.0.1" 328 | skip-regex "^1.0.2" 329 | 330 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 331 | version "4.0.0" 332 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 333 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 334 | 335 | jsonfile@^4.0.0: 336 | version "4.0.0" 337 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 338 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 339 | optionalDependencies: 340 | graceful-fs "^4.1.6" 341 | 342 | locate-path@^5.0.0: 343 | version "5.0.0" 344 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 345 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 346 | dependencies: 347 | p-locate "^4.1.0" 348 | 349 | loose-envify@^1.1.0: 350 | version "1.4.0" 351 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 352 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 353 | dependencies: 354 | js-tokens "^3.0.0 || ^4.0.0" 355 | 356 | magic-string@^0.25.7: 357 | version "0.25.7" 358 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 359 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 360 | dependencies: 361 | sourcemap-codec "^1.4.4" 362 | 363 | make-dir@^3.0.2: 364 | version "3.1.0" 365 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 366 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 367 | dependencies: 368 | semver "^6.0.0" 369 | 370 | merge-stream@^2.0.0: 371 | version "2.0.0" 372 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 373 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 374 | 375 | minimatch@^3.0.4: 376 | version "3.0.4" 377 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 378 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 379 | dependencies: 380 | brace-expansion "^1.1.7" 381 | 382 | object-assign@^4.1.1: 383 | version "4.1.1" 384 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 385 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 386 | 387 | once@^1.3.0: 388 | version "1.4.0" 389 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 390 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 391 | dependencies: 392 | wrappy "1" 393 | 394 | p-limit@^2.2.0: 395 | version "2.3.0" 396 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 397 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 398 | dependencies: 399 | p-try "^2.0.0" 400 | 401 | p-locate@^4.1.0: 402 | version "4.1.0" 403 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 404 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 405 | dependencies: 406 | p-limit "^2.2.0" 407 | 408 | p-try@^2.0.0: 409 | version "2.2.0" 410 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 411 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 412 | 413 | path-exists@^4.0.0: 414 | version "4.0.0" 415 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 416 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 417 | 418 | path-is-absolute@^1.0.0: 419 | version "1.0.1" 420 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 421 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 422 | 423 | path-parse@^1.0.6: 424 | version "1.0.7" 425 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 426 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 427 | 428 | perf-regexes@^1.0.1: 429 | version "1.0.1" 430 | resolved "https://registry.yarnpkg.com/perf-regexes/-/perf-regexes-1.0.1.tgz#6da1d62f5a94bf9353a0451bccacf69068b75d0b" 431 | integrity sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng== 432 | 433 | picomatch@^2.2.2: 434 | version "2.3.0" 435 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 436 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 437 | 438 | pkg-dir@^4.1.0: 439 | version "4.2.0" 440 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 441 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 442 | dependencies: 443 | find-up "^4.0.0" 444 | 445 | randombytes@^2.1.0: 446 | version "2.1.0" 447 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 448 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 449 | dependencies: 450 | safe-buffer "^5.1.0" 451 | 452 | react@^17.0.2: 453 | version "17.0.2" 454 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 455 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 456 | dependencies: 457 | loose-envify "^1.1.0" 458 | object-assign "^4.1.1" 459 | 460 | resolve@1.20.0, resolve@^1.17.0, resolve@^1.19.0: 461 | version "1.20.0" 462 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 463 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 464 | dependencies: 465 | is-core-module "^2.2.0" 466 | path-parse "^1.0.6" 467 | 468 | rollup-plugin-cleanup@^3.2.1: 469 | version "3.2.1" 470 | resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.2.1.tgz#8cbc92ecf58babd7c210051929797f137bbf777c" 471 | integrity sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ== 472 | dependencies: 473 | js-cleanup "^1.2.0" 474 | rollup-pluginutils "^2.8.2" 475 | 476 | rollup-plugin-peer-deps-external@^2.2.4: 477 | version "2.2.4" 478 | resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz#8a420bbfd6dccc30aeb68c9bf57011f2f109570d" 479 | integrity sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g== 480 | 481 | rollup-plugin-terser@^7.0.2: 482 | version "7.0.2" 483 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" 484 | integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== 485 | dependencies: 486 | "@babel/code-frame" "^7.10.4" 487 | jest-worker "^26.2.1" 488 | serialize-javascript "^4.0.0" 489 | terser "^5.0.0" 490 | 491 | rollup-plugin-typescript2@^0.30.0: 492 | version "0.30.0" 493 | resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.30.0.tgz#1cc99ac2309bf4b9d0a3ebdbc2002aecd56083d3" 494 | integrity sha512-NUFszIQyhgDdhRS9ya/VEmsnpTe+GERDMmFo0Y+kf8ds51Xy57nPNGglJY+W6x1vcouA7Au7nsTgsLFj2I0PxQ== 495 | dependencies: 496 | "@rollup/pluginutils" "^4.1.0" 497 | find-cache-dir "^3.3.1" 498 | fs-extra "8.1.0" 499 | resolve "1.20.0" 500 | tslib "2.1.0" 501 | 502 | rollup-pluginutils@^2.8.2: 503 | version "2.8.2" 504 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 505 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 506 | dependencies: 507 | estree-walker "^0.6.1" 508 | 509 | rollup@^2.54.0: 510 | version "2.54.0" 511 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.54.0.tgz#99ea816e8e9b1c6af3ab957a4e7a8f78dbd87773" 512 | integrity sha512-RHzvstAVwm9A751NxWIbGPFXs3zL4qe/eYg+N7WwGtIXVLy1cK64MiU37+hXeFm1jqipK6DGgMi6Z2hhPuCC3A== 513 | optionalDependencies: 514 | fsevents "~2.3.2" 515 | 516 | safe-buffer@^5.1.0: 517 | version "5.2.1" 518 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 519 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 520 | 521 | semver@^6.0.0: 522 | version "6.3.0" 523 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 524 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 525 | 526 | serialize-javascript@^4.0.0: 527 | version "4.0.0" 528 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 529 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 530 | dependencies: 531 | randombytes "^2.1.0" 532 | 533 | skip-regex@^1.0.2: 534 | version "1.0.2" 535 | resolved "https://registry.yarnpkg.com/skip-regex/-/skip-regex-1.0.2.tgz#ac655d77e7c771ac2b9f37585fea37bff56ad65b" 536 | integrity sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA== 537 | 538 | source-map-support@~0.5.19: 539 | version "0.5.19" 540 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 541 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 542 | dependencies: 543 | buffer-from "^1.0.0" 544 | source-map "^0.6.0" 545 | 546 | source-map@^0.6.0: 547 | version "0.6.1" 548 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 549 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 550 | 551 | source-map@~0.7.2: 552 | version "0.7.3" 553 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 554 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 555 | 556 | sourcemap-codec@^1.4.4: 557 | version "1.4.8" 558 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 559 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 560 | 561 | supports-color@^5.3.0: 562 | version "5.5.0" 563 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 564 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 565 | dependencies: 566 | has-flag "^3.0.0" 567 | 568 | supports-color@^7.0.0: 569 | version "7.2.0" 570 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 571 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 572 | dependencies: 573 | has-flag "^4.0.0" 574 | 575 | terser@^5.0.0: 576 | version "5.7.1" 577 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" 578 | integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== 579 | dependencies: 580 | commander "^2.20.0" 581 | source-map "~0.7.2" 582 | source-map-support "~0.5.19" 583 | 584 | tslib@2.1.0: 585 | version "2.1.0" 586 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" 587 | integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== 588 | 589 | typescript@^4.3.5: 590 | version "4.3.5" 591 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" 592 | integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== 593 | 594 | universalify@^0.1.0: 595 | version "0.1.2" 596 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 597 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 598 | 599 | wrappy@1: 600 | version "1.0.2" 601 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 602 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 603 | --------------------------------------------------------------------------------