├── .editorconfig ├── .github └── workflows │ └── actions.yml ├── .gitignore ├── .npmignore ├── .tool-versions ├── index.js ├── package-lock.json ├── package.json ├── readme.md ├── src ├── email-to-name.js └── email-to-name.test.js ├── types └── index.d.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Unix-style newlines with a newline ending every file 7 | [*] 8 | end_of_line = lf 9 | insert_final_newline = true 10 | 11 | # Matches multiple files with brace expansion notation 12 | # Set default charset 13 | [*.{js,py}] 14 | charset = utf-8 15 | 16 | # 4 space indentation 17 | [*.js] 18 | indent_style = space 19 | indent_size = 4 20 | 21 | # Tab indentation (no size specified) 22 | [Makefile] 23 | indent_style = tab 24 | 25 | # Matches the exact files either package.json or .travis.yml 26 | [{package.json,.travis.yml}] 27 | indent_style = space 28 | indent_size = 2 29 | -------------------------------------------------------------------------------- /.github/workflows/actions.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | on: [push, pull_request] 3 | jobs: 4 | install-node: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v2 8 | - uses: actions/setup-node@v2 9 | with: 10 | node-version: '16' 11 | - name: Install dependencies 12 | run: npm ci 13 | - name: Run tests 14 | run: npm run test -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | yarn.lock 4 | coverage 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | src/ 3 | .gitignore 4 | .tool-versions 5 | yarn.lock 6 | 7 | #editor settings 8 | .editorconfig 9 | 10 | #build tools 11 | .travis.yml 12 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | nodejs 16 2 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./dist'); 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "email-to-name", 3 | "version": "2.0.7", 4 | "engines": { 5 | "node": ">=16" 6 | }, 7 | "main": "index.js", 8 | "types": "types/index.d.ts", 9 | "description": "A Node.js and web browser compatible script that takes an email address and tries to generate a name.", 10 | "devDependencies": { 11 | "esbuild": "^0.25.0", 12 | "jest": "^29.7.0" 13 | }, 14 | "keywords": [], 15 | "author": "Tait Brown ", 16 | "license": "MIT", 17 | "scripts": { 18 | "test": "jest --coverage", 19 | "build": "esbuild src/email-to-name.js --minify --sourcemap --target=chrome58,firefox57,safari11,edge16 --outfile=dist/index.js && cp types/index.d.ts dist/", 20 | "release": "npm run build && npm publish" 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "git+https://github.com/taitems/email-to-name.git" 25 | }, 26 | "bugs": { 27 | "url": "https://github.com/taitems/email-to-name/issues" 28 | }, 29 | "homepage": "https://github.com/taitems/email-to-name#readme", 30 | "dependencies": {} 31 | } 32 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | [![Tests](https://github.com/taitems/email-to-name/actions/workflows/actions.yml/badge.svg)](https://github.com/taitems/email-to-name/actions/workflows/actions.yml) 2 | ![npm bundle size](https://img.shields.io/bundlephobia/min/email-to-name) 3 | ![npm](https://img.shields.io/npm/v/email-to-name) 4 | 5 | # Email to Name 6 | 7 | A Node.js and web browser compatible script that takes an email address and tries to generate a name. 8 | 9 | ![image](https://i.imgur.com/dgshroz.png) 10 | 11 | ## Company Names 12 | 13 | Privacy conscious individuals often use the name of website as the email identifier. If Jane Smith has her own domain name with an email server, she might sign up as `suspiciouswebsite@janesmith.com`. That way if "Suspicious Website" ends up selling her email address on to a third party, if they send this exact email address spam, it's possible to see who leaked her email address. 14 | 15 | It's also therefore possible to invert this method and detect the personal domain if the email identifier matches your company/website name. 16 | 17 | **No Company Names** 18 | 19 | - `emailToName.process('acloudguru@janesmith.com')` 20 | - Output: `Acloudguru` 21 | 22 | **With Company Names** 23 | 24 | - `emailToName.process('acloudguru@janesmith.com', { companyNames: ['acg', 'acloudguru'] })` 25 | - Output: `Janesmith` 26 | 27 | ## Common Email Identifiers 28 | 29 | Users who operate a personal email domain sometimes use prefixes like `contact`, `hello`, `me` and others. This script also tries to invert those. 30 | 31 | ## Parameters 32 | 33 | | Value | Default | Example (Input) | Example (On) | Example (Off) | 34 | | -------------------------------- | ------- | ------------------------------- | --------------------- | --------------------- | 35 | | `removePlusWords` | `true` | `tait.brown+test@gmail.com` | `Tait Brown` | `Tait Brown+test` | 36 | | `removeNumbers` | `true` | `tait123@gmail.com` | `Tait` | `Tait123` | 37 | | `titleCase` | `true` | `tait.brown@gmail.com` | `Tait Brown` | `tait brown` | 38 | | `caseMc` | `true` | `john.mckim@gmail.com` | `John McKim` | `John Mckim` | 39 | | `caseLetterApostrophe` | `true` | `flannery.o'connor@gmail.com` | `Flannery O'Connor` | `Flannery O'connor` | 40 | | `uppercaseGenerationalNumbers` | `true` | `tait.brown.iii@gmail.com` | `Tait Brown III` | `Tait Brown Iii` | 41 | | `commaPrependGenerationalPhrase` | `true` | `tait.brown.jr@gmail.com` | `Tait Brown, Jr.` | `Tait Brown Jr` | 42 | | `appendPeriodToTitlePrefix` | `true` | `prof.tait.brown@gmail.com` | `Prof. Tait Brown` | `Prof Tait Brown` | 43 | | `lowercaseFamilyParticle` | `true` | `dutch.van.der.linde@gmail.com` | `Dutch van der Linde` | `Dutch Van Der Linde` | 44 | 45 | ## Default Values 46 | 47 | #### Common Personal Identifiers 48 | 49 | Attempt to use the domain name as the personal identifier when these common email identifiers are used `'hello', 'me', 'email', 'contact'` 50 | 51 | #### Generational Suffixes 52 | 53 | Prepend a comma and append a period for the following, when at the end of a string and preceded by a space `'jr', 'jnr', 'sr', 'snr'` 54 | 55 | #### Generational Numbers 56 | 57 | Uppercase these whe at the end of a string and preceded by a space `'ii', 'iii', 'iv'` 58 | 59 | #### Titles 60 | 61 | Append a period when the following occur at the beginning of a string and are followed by a space `'mr', 'mrs', 'ms', 'dr', 'prof'` 62 | 63 | ## Development 64 | 65 | Run tests. Requires yarn. 66 | 67 | `yarn test` 68 | 69 | ## Contributors 70 | 71 | - [@taitems](https://github.com/taitems) - Package creator, maintainer 72 | - [@felipehertzer](https://github.com/felipehertzer) - Added types 73 | 74 | ## Changelog 75 | 76 | - `2.0.7` - Added types (thanks [@felipehertzer](https://github.com/felipehertzer) ) 77 | - `2.0.[1..6]` - Adding `release` task wasted commits 78 | - `2.0.0` - Building with `esbuild` with browser targets `chrome58,firefox57,safari11,edge16` 79 | - `1.1.0` - Borrowed heavily from `namecase` libraries 80 | - **ADDED:** Various lowercase conjunctions "son/daughter of" as per namecase 81 | - `1.0.0` **Breaking Change:** Relocated company names and common personal identifiers to `params` 82 | - `0.2.0` **Bugfix:** Couldn't use in browser due to `module` check 83 | - `0.1.0` added generational handling (Jr, Sr, III etc) as well as titles (Mr, Mrs, Dr, Prof) 84 | - `0.0.0` init commit 85 | -------------------------------------------------------------------------------- /src/email-to-name.js: -------------------------------------------------------------------------------- 1 | const emailToName = (function () { 2 | 3 | const defaults = { 4 | removeNumbers: true, 5 | removePlusWords: true, 6 | titleCase: true, 7 | caseMc: true, 8 | caseLetterApostrophe: true, 9 | uppercaseGenerationalNumbers: true, 10 | commaPrependGenerationalPhrase: true, 11 | appendPeriodToTitlePrefix: true, 12 | lowercaseFamilyParticle: true, 13 | commonPersonalIdentifiers: ['hello', 'hi', 'me', 'email', 'contact'], 14 | reverseCommonEmailAddresses: true, 15 | companyNames: [], 16 | }; 17 | 18 | const titles = ['mr', 'mrs', 'ms', 'dr', 'prof']; 19 | const suffixes = ['jr', 'jnr', 'sr', 'snr']; 20 | const suffixesUpper = ['ii', 'iii', 'iv']; 21 | 22 | return { 23 | process: process 24 | }; 25 | 26 | ////////////////// 27 | 28 | function process(str, params) { 29 | 30 | let output = ''; 31 | 32 | const settings = Object.assign({}, defaults, params); 33 | 34 | // Is the email address identified a common "hello" type string? 35 | const identifierIsCommon = matchIdentifierToList(str, settings.commonPersonalIdentifiers); 36 | 37 | // Is the email address from someone with a personal domain? 38 | // Checks email address for company name as the identifier 39 | const domainIsIdentifier = matchIdentifierToList(str, settings.companyNames); 40 | 41 | // Get the true identifier 42 | // -> `companyname@personaldomain.com`. to `personaldomain` 43 | // -> `john.smith@gmail.com` to `john.smith` 44 | if (settings.reverseCommonEmailAddresses && (identifierIsCommon || domainIsIdentifier) && str.indexOf('@') > -1) { 45 | output = reverseDomainAndIdentifier(str); 46 | } else { 47 | output = str.split('@')[0]; 48 | } 49 | 50 | // Drop everything after the '+' 51 | // `john.smith+test` to `john.smith` 52 | if (settings.removePlusWords) { 53 | output = output.split('+')[0]; 54 | } 55 | 56 | if (settings.removeNumbers) { 57 | output = output.replace(/\d/g, ''); 58 | } 59 | 60 | // Replace periods with spaces 61 | // `john.smith` to `john smith` 62 | output = output.replace(/\./g, ' '); 63 | 64 | // Replace underscores with spaces 65 | // `john_smith` to `john smith` 66 | output = output.replace(/_/g, ' '); 67 | 68 | // Replace duplicate strings from inside 69 | // `john smith` to `john smith` 70 | output = output.replace(/\s\s+/g, ' '); 71 | 72 | // Replace whitespace from both sites of string 73 | // ` john smith ` to `john smith` 74 | output = output.trim(); 75 | 76 | // Title case 77 | // `john smith` to `John Smith` 78 | if (settings.titleCase) { 79 | output = titleCase(output); 80 | } 81 | 82 | // Handle Generational (The Third) names 83 | // `John Smith Iii` to `John Smith III` 84 | if (settings.uppercaseGenerationalNumbers) { 85 | suffixesUpper.forEach(function (suffix) { 86 | var rx = new RegExp('\\s(' + suffix + ')$', 'gi'); 87 | output = output.replace(rx, function (s) { 88 | return s.toUpperCase(); 89 | }); 90 | }); 91 | } 92 | 93 | // Handle 'Jr/Sr' names 94 | // `John Smith Jr` to `John Smith, Jr.` 95 | if (settings.commaPrependGenerationalPhrase) { 96 | suffixes.forEach(function (suffix) { 97 | var rx = new RegExp('\\s(' + suffix + ')$', 'gi'); 98 | output = output.replace(rx, function (s) { 99 | return ',' + s + '.'; 100 | }); 101 | }); 102 | } 103 | 104 | // Handle title prefixes names 105 | // `Dr John Smith` to `Dr. John Smith` 106 | if (settings.appendPeriodToTitlePrefix) { 107 | titles.forEach(function (prefix) { 108 | var rx = new RegExp('^(' + prefix + ')\\s', 'gi'); 109 | output = output.replace(rx, function (s) { 110 | return s.replace(' ', '. '); 111 | }); 112 | }); 113 | } 114 | 115 | // Handle "son/daughter" of pattern 116 | if (settings.lowercaseFamilyParticle) { 117 | output = output 118 | .replace(/\bAl(?=\s+\w)/g, "al") // al Arabic or forename Al. 119 | .replace(/\bAp\b/g, "ap") // ap Welsh. 120 | .replace(/\bBen(?=\s+\w)\b/g, "ben") // ben Hebrew or forename Ben. 121 | .replace(/\bDell([ae])\b/g, "dell$1") // della and delle Italian. 122 | .replace(/\bD([aeiu])\b/g, "d$1") // da, de, di Italian; du French. 123 | .replace(/\bDe([lr])\b/g, "de$1") // del Italian; der Dutch/Flemish. 124 | .replace(/\bEl\b/g, "el") // el Greek 125 | .replace(/\bLa\b/g, "la") // la French 126 | .replace(/\bL([eo])\b/g, "l$1") // lo Italian; le French. 127 | .replace(/\bVan(?=\s+\w)/g, "van") // van German or forename Van. 128 | .replace(/\bVon\b/g, "von") // von Dutch/Flemish 129 | } 130 | 131 | // Handle 'Mc' names 132 | // `Marty Mcfly` to `Marty McFly` 133 | if (settings.titleCase && settings.caseMc) { 134 | output = output.replace(/Mc(.)/g, function (m, m1) { 135 | return 'Mc' + m1.toUpperCase(); 136 | }); 137 | } 138 | 139 | // Handle 'O'Connor' type names 140 | // `Flannery O'connor` to `Flannery O'Connor` 141 | if (settings.titleCase && settings.caseLetterApostrophe) { 142 | output = output.replace(/[A-Z]\'(.)/g, function (m, m1) { 143 | return 'O\'' + m1.toUpperCase(); 144 | }); 145 | } 146 | 147 | return output; 148 | 149 | } 150 | 151 | function matchIdentifierToList(str, identifiers) { 152 | if (!identifiers || !identifiers.length) { 153 | return false; 154 | } 155 | const identifier = str.split('@')[0]; 156 | let match = false; 157 | for (let i = 0; i < identifiers.length; i++) { 158 | if (identifier === identifiers[i]) { 159 | match = true; 160 | break; 161 | } 162 | } 163 | return match; 164 | } 165 | 166 | function reverseDomainAndIdentifier(str) { 167 | const provider = str.split('@')[1]; 168 | const host = provider.split('.')[0]; 169 | return host; 170 | } 171 | 172 | function titleCase(str) { 173 | return str.toLowerCase().split(' ').map(function (word) { 174 | return (word.charAt(0).toUpperCase() + word.slice(1)); 175 | }).join(' '); 176 | } 177 | 178 | 179 | }()); 180 | 181 | module.exports = emailToName; 182 | module.exports.default = emailToName; 183 | -------------------------------------------------------------------------------- /src/email-to-name.test.js: -------------------------------------------------------------------------------- 1 | const emailToName = require('./email-to-name'); 2 | 3 | const companyNames = ['acloudguru', 'acg']; 4 | 5 | const data = [{ 6 | input: 'TAIT.BROWN@GMAIL.COM', 7 | output: 'Tait Brown', 8 | title: 'Handle uppercase' 9 | }, { 10 | input: 'tait.brown@gmail.com', 11 | output: 'Tait Brown', 12 | title: 'Handle happy path' 13 | }, { 14 | input: 'tait_brown@gmail.com', 15 | output: 'Tait Brown', 16 | title: 'Handle underscores' 17 | }, { 18 | input: 'tait.o\'connor@gmail.com', 19 | output: 'Tait O\'Connor', 20 | title: 'Handle O\'Connor case' 21 | }, { 22 | input: 'contact', 23 | output: 'Contact', 24 | title: 'Handle not an email yet' 25 | }, { 26 | input: 'tait', 27 | output: 'Tait', 28 | title: 'Handle not an email' 29 | }, { 30 | input: 'tait.o\'connor@gmail.com', 31 | output: 'Tait O\'connor', 32 | params: { 33 | caseLetterApostrophe: false 34 | }, 35 | title: ' -> Reverse Setting: Don\'t uppercase letter following "O\'"' 36 | }, { 37 | input: 'tait...brown@gmail.com', 38 | output: 'Tait Brown', 39 | title: 'Handle excessive dots' 40 | }, { 41 | input: 'tait.brown267@gmail.com', 42 | output: 'Tait Brown', 43 | title: 'Handle numbers' 44 | }, { 45 | input: 'tait.brown123@gmail.com', 46 | output: 'Tait Brown123', 47 | params: { 48 | removeNumbers: false 49 | }, 50 | title: ' -> Reverse Setting: Leave numbers in' 51 | }, { 52 | input: 'tait.brown.267@gmail.com', 53 | output: 'Tait Brown', 54 | title: 'Handle digits preceded by dot' 55 | }, { 56 | input: 'tait.brown.@gmail.com', 57 | output: 'Tait Brown', 58 | title: 'Handle trailing dot' 59 | }, { 60 | input: 'tait.brown+test@gmail.com', 61 | output: 'Tait Brown', 62 | title: 'Handle gmail specific +test modifiers' 63 | }, { 64 | input: 'acloudguru@taitbrown.com', 65 | output: 'Taitbrown', 66 | params: { 67 | companyNames: companyNames 68 | }, 69 | title: 'Handle company name @ personal domain' 70 | }, { 71 | input: 'acg@taitbrown.com', 72 | output: 'Taitbrown', 73 | params: { 74 | companyNames: companyNames 75 | }, 76 | title: 'Handle array of company names' 77 | }, { 78 | input: 'acg@taitbrown.com', 79 | output: 'Acg', 80 | params: { 81 | companyNames: [] 82 | }, 83 | title: ' -> Reverse Setting: Handle lack of company names array' 84 | }, { 85 | input: 'email@taitbrown.com', 86 | output: 'Taitbrown', 87 | title: 'Handle common identifier (email) at personal domain' 88 | }, { 89 | input: 'hello@taitbrown.com', 90 | output: 'Taitbrown', 91 | title: 'Handle common identifier (hello) at personal domain' 92 | }, { 93 | input: 'me@taitbrown.com', 94 | output: 'Taitbrown', 95 | title: 'Handle common identifier (me) at personal domain' 96 | }, { 97 | input: 'hello@taitbrown.com', 98 | output: 'Hello', 99 | params: { 100 | reverseCommonEmailAddresses: false 101 | }, 102 | title: ' -> Reverse Setting: Don\'t reverse common identifiers' 103 | }, { 104 | input: 'gday@taitbrown.com', 105 | output: 'Taitbrown', 106 | params: { 107 | commonPersonalIdentifiers: ['gday'] 108 | }, 109 | title: 'Override common email identifiers, try "gday"' 110 | }, { 111 | input: 'gday@taitbrown.com', 112 | output: 'Gday', 113 | title: ' -> Reverse Setting: Default handling of "gday"' 114 | }, { 115 | input: 'acg@taitbrown.com', 116 | output: 'Acg', 117 | params: { 118 | companyNames: [] 119 | }, 120 | title: ' -> Reverse Setting: Don\'t reverse common identifiers' 121 | }, { 122 | input: 'john.mckim@gmail.com', 123 | output: 'John McKim', 124 | title: 'Handle "Mc" Case' 125 | }, { 126 | input: 'john.macdonald@gmail.com', 127 | output: 'John Macdonald', 128 | title: 'Handle "Mc" Case' 129 | }, { 130 | input: 'john.mcdonald@gmail.com', 131 | output: 'John McDonald', 132 | title: 'Handle "Mc" Case' 133 | }, { 134 | input: 'john.mackie@gmail.com', 135 | output: 'John Mackie', 136 | title: 'Handle "Mc" Case (Exception)' 137 | }, { 138 | input: 'john.amckim@gmail.com', 139 | output: 'John Amckim', 140 | title: ' -> Nuance: Ignore mid sentence "mc" pattern' 141 | }, { 142 | input: 'tait.mcbrown@gmail.com', 143 | output: 'Tait Mcbrown', 144 | params: { 145 | caseMc: false 146 | }, 147 | title: ' -> Reverse Setting: Don\'t uppercase letter following "Mc"' 148 | }, { 149 | input: 'dr.tait.brown@gmail.com', 150 | output: 'Dr. Tait Brown', 151 | title: 'Handles Dr Prefix' 152 | }, { 153 | input: 'prof.tait.brown@gmail.com', 154 | output: 'Prof. Tait Brown', 155 | title: 'Handles Prof Prefix' 156 | }, { 157 | input: 'tait.brown.jnr@gmail.com', 158 | output: 'Tait Brown, Jnr.', 159 | title: 'Handles Junior Suffix' 160 | }, { 161 | input: 'tait.brown.snr@gmail.com', 162 | output: 'Tait Brown, Snr.', 163 | title: 'Handles Senior Suffix' 164 | }, { 165 | input: 'tait.brown.jr@gmail.com', 166 | output: 'Tait Brown, Jr.', 167 | title: 'Handles Junior Suffix' 168 | }, { 169 | input: 'tait.brown.sr@gmail.com', 170 | output: 'Tait Brown, Sr.', 171 | title: 'Handles Senior Suffix' 172 | }, { 173 | input: 'tait.brown.ii@gmail.com', 174 | output: 'Tait Brown II', 175 | title: 'Handles Name (The Second)' 176 | }, { 177 | input: 'tait.ii.brown@gmail.com', 178 | output: 'Tait Ii Brown', 179 | title: 'Ignore midsentence (ii)' 180 | }, { 181 | input: 'tait.brown.iii@gmail.com', 182 | output: 'Tait Brown III', 183 | title: 'Handles Name (The Third)' 184 | }, { 185 | input: 'tait.iii.brown@gmail.com', 186 | output: 'Tait Iii Brown', 187 | title: 'Ignore midsentence (iii)' 188 | }, { 189 | input: 'tait.brown.iv@gmail.com', 190 | output: 'Tait Brown IV', 191 | title: 'Handles Name (The Fourth)' 192 | }, { 193 | input: 'tait.iv.brown@gmail.com', 194 | output: 'Tait Iv Brown', 195 | title: 'Ignore midsentence (iv)' 196 | }, { 197 | input: 'mr.tait.brown@gmail.com', 198 | output: 'Mr. Tait Brown', 199 | title: 'Handle Title Period (Mr)' 200 | }, { 201 | input: 'dr.tait.brown@gmail.com', 202 | output: 'Dr Tait Brown', 203 | params: { 204 | appendPeriodToTitlePrefix: false 205 | }, 206 | title: ' -> Reverse Setting: Don\'t apply a period after titles (Dr/Prof etc)' 207 | }, { 208 | input: 'tait.mr.brown@gmail.com', 209 | output: 'Tait Mr Brown', 210 | title: 'Ignore midsentence title (Mr)' 211 | }, { 212 | input: 'mrs.tait.brown@gmail.com', 213 | output: 'Mrs. Tait Brown', 214 | title: 'Handle Title Period (Mrs)' 215 | }, { 216 | input: 'tait.mrs.brown@gmail.com', 217 | output: 'Tait Mrs Brown', 218 | title: 'Ignore midsentence title (Mrs)' 219 | }, { 220 | input: 'ms.tait.brown@gmail.com', 221 | output: 'Ms. Tait Brown', 222 | title: 'Handle Title Period (Ms)' 223 | }, { 224 | input: 'tait.ms.brown@gmail.com', 225 | output: 'Tait Ms Brown', 226 | title: 'Ignore midsentence title (Ms)' 227 | }, { 228 | input: 'dutch.van.der.linde@gmail.com', 229 | output: 'Dutch van der Linde', 230 | title: 'Family particle (van der)' 231 | }, { 232 | input: 'dutch.van.der.linde@gmail.com', 233 | output: 'Dutch Van Der Linde', 234 | title: ' -> Reverse Setting: Don\'t lowercase family particle', 235 | params: { 236 | lowercaseFamilyParticle: false 237 | }, 238 | }, { 239 | input: 'ludwig.van.beethoven@gmail.com', 240 | output: 'Ludwig van Beethoven', 241 | title: 'Family particle (van)' 242 | }, { 243 | input: 'tait.brown@gmail.com', 244 | output: 'tait brown', 245 | params: { 246 | titleCase: false 247 | }, 248 | title: ' -> Reverse Setting: Leave numbers in' 249 | }, { 250 | input: 'tait.brown.iii@gmail.com', 251 | output: 'Tait Brown Iii', 252 | params: { 253 | uppercaseGenerationalNumbers: false 254 | }, 255 | title: ' -> Reverse Setting: Don\'t uppercase generational number' 256 | }, { 257 | input: 'tait.brown.jr@gmail.com', 258 | output: 'Tait Brown Jr', 259 | params: { 260 | commaPrependGenerationalPhrase: false 261 | }, 262 | title: ' -> Reverse Setting: Don\'t comma prepend Jr/Snr generational titles' 263 | }, { 264 | input: 'tait.brown+test@gmail.com', 265 | output: 'Tait Brown+test', 266 | params: { 267 | removePlusWords: false 268 | }, 269 | title: ' -> Reverse Setting: Leave plus words in' 270 | }, { 271 | input: 'tait.brown+test123@gmail.com', 272 | output: 'Tait Brown+test', 273 | params: { 274 | removePlusWords: false 275 | }, 276 | title: ' -> Reverse Setting: Leave plus words in (param) but remove numbers (default)' 277 | }]; 278 | 279 | data.forEach((item) => { 280 | test(item.title, () => { 281 | expect(emailToName.process(item.input, item.params)).toBe(item.output); 282 | }) 283 | }) 284 | -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- 1 | export interface EmailToNameOptions { 2 | removeNumbers?: boolean; 3 | removePlusWords?: boolean; 4 | titleCase?: boolean; 5 | caseMc?: boolean; 6 | caseLetterApostrophe?: boolean; 7 | uppercaseGenerationalNumbers?: boolean; 8 | commaPrependGenerationalPhrase?: boolean; 9 | appendPeriodToTitlePrefix?: boolean; 10 | lowercaseFamilyParticle?: boolean; 11 | commonPersonalIdentifiers?: string[]; 12 | reverseCommonEmailAddresses?: boolean; 13 | companyNames?: string[]; 14 | } 15 | 16 | export interface EmailToName { 17 | process: (str: string, params?: EmailToNameOptions) => string; 18 | } 19 | 20 | declare const emailToName: EmailToName; 21 | export default emailToName; 22 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.2.0": 6 | version "2.2.1" 7 | resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" 8 | integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.3.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": 14 | version "7.23.5" 15 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" 16 | integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== 17 | dependencies: 18 | "@babel/highlight" "^7.23.4" 19 | chalk "^2.4.2" 20 | 21 | "@babel/compat-data@^7.22.9": 22 | version "7.23.5" 23 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" 24 | integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== 25 | 26 | "@babel/core@^7.11.6", "@babel/core@^7.12.3": 27 | version "7.23.5" 28 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz" 29 | integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== 30 | dependencies: 31 | "@ampproject/remapping" "^2.2.0" 32 | "@babel/code-frame" "^7.23.5" 33 | "@babel/generator" "^7.23.5" 34 | "@babel/helper-compilation-targets" "^7.22.15" 35 | "@babel/helper-module-transforms" "^7.23.3" 36 | "@babel/helpers" "^7.23.5" 37 | "@babel/parser" "^7.23.5" 38 | "@babel/template" "^7.22.15" 39 | "@babel/traverse" "^7.23.5" 40 | "@babel/types" "^7.23.5" 41 | convert-source-map "^2.0.0" 42 | debug "^4.1.0" 43 | gensync "^1.0.0-beta.2" 44 | json5 "^2.2.3" 45 | semver "^6.3.1" 46 | 47 | "@babel/generator@^7.23.5", "@babel/generator@^7.7.2": 48 | version "7.23.5" 49 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz" 50 | integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== 51 | dependencies: 52 | "@babel/types" "^7.23.5" 53 | "@jridgewell/gen-mapping" "^0.3.2" 54 | "@jridgewell/trace-mapping" "^0.3.17" 55 | jsesc "^2.5.1" 56 | 57 | "@babel/helper-compilation-targets@^7.22.15": 58 | version "7.22.15" 59 | resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" 60 | integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== 61 | dependencies: 62 | "@babel/compat-data" "^7.22.9" 63 | "@babel/helper-validator-option" "^7.22.15" 64 | browserslist "^4.21.9" 65 | lru-cache "^5.1.1" 66 | semver "^6.3.1" 67 | 68 | "@babel/helper-environment-visitor@^7.22.20": 69 | version "7.22.20" 70 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" 71 | integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== 72 | 73 | "@babel/helper-function-name@^7.23.0": 74 | version "7.23.0" 75 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" 76 | integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== 77 | dependencies: 78 | "@babel/template" "^7.22.15" 79 | "@babel/types" "^7.23.0" 80 | 81 | "@babel/helper-hoist-variables@^7.22.5": 82 | version "7.22.5" 83 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" 84 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== 85 | dependencies: 86 | "@babel/types" "^7.22.5" 87 | 88 | "@babel/helper-module-imports@^7.22.15": 89 | version "7.22.15" 90 | resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" 91 | integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== 92 | dependencies: 93 | "@babel/types" "^7.22.15" 94 | 95 | "@babel/helper-module-transforms@^7.23.3": 96 | version "7.23.3" 97 | resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" 98 | integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== 99 | dependencies: 100 | "@babel/helper-environment-visitor" "^7.22.20" 101 | "@babel/helper-module-imports" "^7.22.15" 102 | "@babel/helper-simple-access" "^7.22.5" 103 | "@babel/helper-split-export-declaration" "^7.22.6" 104 | "@babel/helper-validator-identifier" "^7.22.20" 105 | 106 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": 107 | version "7.22.5" 108 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" 109 | integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== 110 | 111 | "@babel/helper-simple-access@^7.22.5": 112 | version "7.22.5" 113 | resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" 114 | integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== 115 | dependencies: 116 | "@babel/types" "^7.22.5" 117 | 118 | "@babel/helper-split-export-declaration@^7.22.6": 119 | version "7.22.6" 120 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" 121 | integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== 122 | dependencies: 123 | "@babel/types" "^7.22.5" 124 | 125 | "@babel/helper-string-parser@^7.23.4": 126 | version "7.23.4" 127 | resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" 128 | integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== 129 | 130 | "@babel/helper-validator-identifier@^7.22.20": 131 | version "7.22.20" 132 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" 133 | integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== 134 | 135 | "@babel/helper-validator-option@^7.22.15": 136 | version "7.23.5" 137 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" 138 | integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== 139 | 140 | "@babel/helpers@^7.23.5": 141 | version "7.23.5" 142 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz" 143 | integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== 144 | dependencies: 145 | "@babel/template" "^7.22.15" 146 | "@babel/traverse" "^7.23.5" 147 | "@babel/types" "^7.23.5" 148 | 149 | "@babel/highlight@^7.23.4": 150 | version "7.23.4" 151 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" 152 | integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== 153 | dependencies: 154 | "@babel/helper-validator-identifier" "^7.22.20" 155 | chalk "^2.4.2" 156 | js-tokens "^4.0.0" 157 | 158 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.5": 159 | version "7.23.5" 160 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz" 161 | integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== 162 | 163 | "@babel/plugin-syntax-async-generators@^7.8.4": 164 | version "7.8.4" 165 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" 166 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 167 | dependencies: 168 | "@babel/helper-plugin-utils" "^7.8.0" 169 | 170 | "@babel/plugin-syntax-bigint@^7.8.3": 171 | version "7.8.3" 172 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" 173 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 174 | dependencies: 175 | "@babel/helper-plugin-utils" "^7.8.0" 176 | 177 | "@babel/plugin-syntax-class-properties@^7.8.3": 178 | version "7.12.13" 179 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" 180 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 181 | dependencies: 182 | "@babel/helper-plugin-utils" "^7.12.13" 183 | 184 | "@babel/plugin-syntax-import-meta@^7.8.3": 185 | version "7.10.4" 186 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" 187 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.10.4" 190 | 191 | "@babel/plugin-syntax-json-strings@^7.8.3": 192 | version "7.8.3" 193 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" 194 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.8.0" 197 | 198 | "@babel/plugin-syntax-jsx@^7.7.2": 199 | version "7.23.3" 200 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" 201 | integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== 202 | dependencies: 203 | "@babel/helper-plugin-utils" "^7.22.5" 204 | 205 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 206 | version "7.10.4" 207 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" 208 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 209 | dependencies: 210 | "@babel/helper-plugin-utils" "^7.10.4" 211 | 212 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 213 | version "7.8.3" 214 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" 215 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 216 | dependencies: 217 | "@babel/helper-plugin-utils" "^7.8.0" 218 | 219 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 220 | version "7.10.4" 221 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" 222 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 223 | dependencies: 224 | "@babel/helper-plugin-utils" "^7.10.4" 225 | 226 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 227 | version "7.8.3" 228 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" 229 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 230 | dependencies: 231 | "@babel/helper-plugin-utils" "^7.8.0" 232 | 233 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 234 | version "7.8.3" 235 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" 236 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 237 | dependencies: 238 | "@babel/helper-plugin-utils" "^7.8.0" 239 | 240 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 241 | version "7.8.3" 242 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" 243 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 244 | dependencies: 245 | "@babel/helper-plugin-utils" "^7.8.0" 246 | 247 | "@babel/plugin-syntax-top-level-await@^7.8.3": 248 | version "7.14.5" 249 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" 250 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 251 | dependencies: 252 | "@babel/helper-plugin-utils" "^7.14.5" 253 | 254 | "@babel/plugin-syntax-typescript@^7.7.2": 255 | version "7.23.3" 256 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz" 257 | integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== 258 | dependencies: 259 | "@babel/helper-plugin-utils" "^7.22.5" 260 | 261 | "@babel/template@^7.22.15", "@babel/template@^7.3.3": 262 | version "7.22.15" 263 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" 264 | integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== 265 | dependencies: 266 | "@babel/code-frame" "^7.22.13" 267 | "@babel/parser" "^7.22.15" 268 | "@babel/types" "^7.22.15" 269 | 270 | "@babel/traverse@^7.23.5": 271 | version "7.23.5" 272 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz" 273 | integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== 274 | dependencies: 275 | "@babel/code-frame" "^7.23.5" 276 | "@babel/generator" "^7.23.5" 277 | "@babel/helper-environment-visitor" "^7.22.20" 278 | "@babel/helper-function-name" "^7.23.0" 279 | "@babel/helper-hoist-variables" "^7.22.5" 280 | "@babel/helper-split-export-declaration" "^7.22.6" 281 | "@babel/parser" "^7.23.5" 282 | "@babel/types" "^7.23.5" 283 | debug "^4.1.0" 284 | globals "^11.1.0" 285 | 286 | "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.3.3": 287 | version "7.23.5" 288 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz" 289 | integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== 290 | dependencies: 291 | "@babel/helper-string-parser" "^7.23.4" 292 | "@babel/helper-validator-identifier" "^7.22.20" 293 | to-fast-properties "^2.0.0" 294 | 295 | "@bcoe/v8-coverage@^0.2.3": 296 | version "0.2.3" 297 | resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" 298 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 299 | 300 | "@esbuild/aix-ppc64@0.25.0": 301 | version "0.25.0" 302 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz#499600c5e1757a524990d5d92601f0ac3ce87f64" 303 | integrity sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ== 304 | 305 | "@esbuild/android-arm64@0.25.0": 306 | version "0.25.0" 307 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz#b9b8231561a1dfb94eb31f4ee056b92a985c324f" 308 | integrity sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g== 309 | 310 | "@esbuild/android-arm@0.25.0": 311 | version "0.25.0" 312 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz#ca6e7888942505f13e88ac9f5f7d2a72f9facd2b" 313 | integrity sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g== 314 | 315 | "@esbuild/android-x64@0.25.0": 316 | version "0.25.0" 317 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz#e765ea753bac442dfc9cb53652ce8bd39d33e163" 318 | integrity sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg== 319 | 320 | "@esbuild/darwin-arm64@0.25.0": 321 | version "0.25.0" 322 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz#fa394164b0d89d4fdc3a8a21989af70ef579fa2c" 323 | integrity sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw== 324 | 325 | "@esbuild/darwin-x64@0.25.0": 326 | version "0.25.0" 327 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz#91979d98d30ba6e7d69b22c617cc82bdad60e47a" 328 | integrity sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg== 329 | 330 | "@esbuild/freebsd-arm64@0.25.0": 331 | version "0.25.0" 332 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz#b97e97073310736b430a07b099d837084b85e9ce" 333 | integrity sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w== 334 | 335 | "@esbuild/freebsd-x64@0.25.0": 336 | version "0.25.0" 337 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz#f3b694d0da61d9910ec7deff794d444cfbf3b6e7" 338 | integrity sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A== 339 | 340 | "@esbuild/linux-arm64@0.25.0": 341 | version "0.25.0" 342 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz#f921f699f162f332036d5657cad9036f7a993f73" 343 | integrity sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg== 344 | 345 | "@esbuild/linux-arm@0.25.0": 346 | version "0.25.0" 347 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz#cc49305b3c6da317c900688995a4050e6cc91ca3" 348 | integrity sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg== 349 | 350 | "@esbuild/linux-ia32@0.25.0": 351 | version "0.25.0" 352 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz#3e0736fcfab16cff042dec806247e2c76e109e19" 353 | integrity sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg== 354 | 355 | "@esbuild/linux-loong64@0.25.0": 356 | version "0.25.0" 357 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz#ea2bf730883cddb9dfb85124232b5a875b8020c7" 358 | integrity sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw== 359 | 360 | "@esbuild/linux-mips64el@0.25.0": 361 | version "0.25.0" 362 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz#4cababb14eede09248980a2d2d8b966464294ff1" 363 | integrity sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ== 364 | 365 | "@esbuild/linux-ppc64@0.25.0": 366 | version "0.25.0" 367 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz#8860a4609914c065373a77242e985179658e1951" 368 | integrity sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw== 369 | 370 | "@esbuild/linux-riscv64@0.25.0": 371 | version "0.25.0" 372 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz#baf26e20bb2d38cfb86ee282dff840c04f4ed987" 373 | integrity sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA== 374 | 375 | "@esbuild/linux-s390x@0.25.0": 376 | version "0.25.0" 377 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz#8323afc0d6cb1b6dc6e9fd21efd9e1542c3640a4" 378 | integrity sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA== 379 | 380 | "@esbuild/linux-x64@0.25.0": 381 | version "0.25.0" 382 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz#08fcf60cb400ed2382e9f8e0f5590bac8810469a" 383 | integrity sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw== 384 | 385 | "@esbuild/netbsd-arm64@0.25.0": 386 | version "0.25.0" 387 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz#935c6c74e20f7224918fbe2e6c6fe865b6c6ea5b" 388 | integrity sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw== 389 | 390 | "@esbuild/netbsd-x64@0.25.0": 391 | version "0.25.0" 392 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz#414677cef66d16c5a4d210751eb2881bb9c1b62b" 393 | integrity sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA== 394 | 395 | "@esbuild/openbsd-arm64@0.25.0": 396 | version "0.25.0" 397 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz#8fd55a4d08d25cdc572844f13c88d678c84d13f7" 398 | integrity sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw== 399 | 400 | "@esbuild/openbsd-x64@0.25.0": 401 | version "0.25.0" 402 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz#0c48ddb1494bbc2d6bcbaa1429a7f465fa1dedde" 403 | integrity sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg== 404 | 405 | "@esbuild/sunos-x64@0.25.0": 406 | version "0.25.0" 407 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz#86ff9075d77962b60dd26203d7352f92684c8c92" 408 | integrity sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg== 409 | 410 | "@esbuild/win32-arm64@0.25.0": 411 | version "0.25.0" 412 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz#849c62327c3229467f5b5cd681bf50588442e96c" 413 | integrity sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw== 414 | 415 | "@esbuild/win32-ia32@0.25.0": 416 | version "0.25.0" 417 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz#f62eb480cd7cca088cb65bb46a6db25b725dc079" 418 | integrity sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA== 419 | 420 | "@esbuild/win32-x64@0.25.0": 421 | version "0.25.0" 422 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz#c8e119a30a7c8d60b9d2e22d2073722dde3b710b" 423 | integrity sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ== 424 | 425 | "@istanbuljs/load-nyc-config@^1.0.0": 426 | version "1.1.0" 427 | resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" 428 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 429 | dependencies: 430 | camelcase "^5.3.1" 431 | find-up "^4.1.0" 432 | get-package-type "^0.1.0" 433 | js-yaml "^3.13.1" 434 | resolve-from "^5.0.0" 435 | 436 | "@istanbuljs/schema@^0.1.2": 437 | version "0.1.3" 438 | resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" 439 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 440 | 441 | "@jest/console@^29.7.0": 442 | version "29.7.0" 443 | resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" 444 | integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== 445 | dependencies: 446 | "@jest/types" "^29.6.3" 447 | "@types/node" "*" 448 | chalk "^4.0.0" 449 | jest-message-util "^29.7.0" 450 | jest-util "^29.7.0" 451 | slash "^3.0.0" 452 | 453 | "@jest/core@^29.7.0": 454 | version "29.7.0" 455 | resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" 456 | integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== 457 | dependencies: 458 | "@jest/console" "^29.7.0" 459 | "@jest/reporters" "^29.7.0" 460 | "@jest/test-result" "^29.7.0" 461 | "@jest/transform" "^29.7.0" 462 | "@jest/types" "^29.6.3" 463 | "@types/node" "*" 464 | ansi-escapes "^4.2.1" 465 | chalk "^4.0.0" 466 | ci-info "^3.2.0" 467 | exit "^0.1.2" 468 | graceful-fs "^4.2.9" 469 | jest-changed-files "^29.7.0" 470 | jest-config "^29.7.0" 471 | jest-haste-map "^29.7.0" 472 | jest-message-util "^29.7.0" 473 | jest-regex-util "^29.6.3" 474 | jest-resolve "^29.7.0" 475 | jest-resolve-dependencies "^29.7.0" 476 | jest-runner "^29.7.0" 477 | jest-runtime "^29.7.0" 478 | jest-snapshot "^29.7.0" 479 | jest-util "^29.7.0" 480 | jest-validate "^29.7.0" 481 | jest-watcher "^29.7.0" 482 | micromatch "^4.0.4" 483 | pretty-format "^29.7.0" 484 | slash "^3.0.0" 485 | strip-ansi "^6.0.0" 486 | 487 | "@jest/environment@^29.7.0": 488 | version "29.7.0" 489 | resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" 490 | integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== 491 | dependencies: 492 | "@jest/fake-timers" "^29.7.0" 493 | "@jest/types" "^29.6.3" 494 | "@types/node" "*" 495 | jest-mock "^29.7.0" 496 | 497 | "@jest/expect-utils@^29.7.0": 498 | version "29.7.0" 499 | resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" 500 | integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== 501 | dependencies: 502 | jest-get-type "^29.6.3" 503 | 504 | "@jest/expect@^29.7.0": 505 | version "29.7.0" 506 | resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" 507 | integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== 508 | dependencies: 509 | expect "^29.7.0" 510 | jest-snapshot "^29.7.0" 511 | 512 | "@jest/fake-timers@^29.7.0": 513 | version "29.7.0" 514 | resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" 515 | integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== 516 | dependencies: 517 | "@jest/types" "^29.6.3" 518 | "@sinonjs/fake-timers" "^10.0.2" 519 | "@types/node" "*" 520 | jest-message-util "^29.7.0" 521 | jest-mock "^29.7.0" 522 | jest-util "^29.7.0" 523 | 524 | "@jest/globals@^29.7.0": 525 | version "29.7.0" 526 | resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" 527 | integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== 528 | dependencies: 529 | "@jest/environment" "^29.7.0" 530 | "@jest/expect" "^29.7.0" 531 | "@jest/types" "^29.6.3" 532 | jest-mock "^29.7.0" 533 | 534 | "@jest/reporters@^29.7.0": 535 | version "29.7.0" 536 | resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" 537 | integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== 538 | dependencies: 539 | "@bcoe/v8-coverage" "^0.2.3" 540 | "@jest/console" "^29.7.0" 541 | "@jest/test-result" "^29.7.0" 542 | "@jest/transform" "^29.7.0" 543 | "@jest/types" "^29.6.3" 544 | "@jridgewell/trace-mapping" "^0.3.18" 545 | "@types/node" "*" 546 | chalk "^4.0.0" 547 | collect-v8-coverage "^1.0.0" 548 | exit "^0.1.2" 549 | glob "^7.1.3" 550 | graceful-fs "^4.2.9" 551 | istanbul-lib-coverage "^3.0.0" 552 | istanbul-lib-instrument "^6.0.0" 553 | istanbul-lib-report "^3.0.0" 554 | istanbul-lib-source-maps "^4.0.0" 555 | istanbul-reports "^3.1.3" 556 | jest-message-util "^29.7.0" 557 | jest-util "^29.7.0" 558 | jest-worker "^29.7.0" 559 | slash "^3.0.0" 560 | string-length "^4.0.1" 561 | strip-ansi "^6.0.0" 562 | v8-to-istanbul "^9.0.1" 563 | 564 | "@jest/schemas@^29.6.3": 565 | version "29.6.3" 566 | resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" 567 | integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== 568 | dependencies: 569 | "@sinclair/typebox" "^0.27.8" 570 | 571 | "@jest/source-map@^29.6.3": 572 | version "29.6.3" 573 | resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" 574 | integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== 575 | dependencies: 576 | "@jridgewell/trace-mapping" "^0.3.18" 577 | callsites "^3.0.0" 578 | graceful-fs "^4.2.9" 579 | 580 | "@jest/test-result@^29.7.0": 581 | version "29.7.0" 582 | resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" 583 | integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== 584 | dependencies: 585 | "@jest/console" "^29.7.0" 586 | "@jest/types" "^29.6.3" 587 | "@types/istanbul-lib-coverage" "^2.0.0" 588 | collect-v8-coverage "^1.0.0" 589 | 590 | "@jest/test-sequencer@^29.7.0": 591 | version "29.7.0" 592 | resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" 593 | integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== 594 | dependencies: 595 | "@jest/test-result" "^29.7.0" 596 | graceful-fs "^4.2.9" 597 | jest-haste-map "^29.7.0" 598 | slash "^3.0.0" 599 | 600 | "@jest/transform@^29.7.0": 601 | version "29.7.0" 602 | resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" 603 | integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== 604 | dependencies: 605 | "@babel/core" "^7.11.6" 606 | "@jest/types" "^29.6.3" 607 | "@jridgewell/trace-mapping" "^0.3.18" 608 | babel-plugin-istanbul "^6.1.1" 609 | chalk "^4.0.0" 610 | convert-source-map "^2.0.0" 611 | fast-json-stable-stringify "^2.1.0" 612 | graceful-fs "^4.2.9" 613 | jest-haste-map "^29.7.0" 614 | jest-regex-util "^29.6.3" 615 | jest-util "^29.7.0" 616 | micromatch "^4.0.4" 617 | pirates "^4.0.4" 618 | slash "^3.0.0" 619 | write-file-atomic "^4.0.2" 620 | 621 | "@jest/types@^29.6.3": 622 | version "29.6.3" 623 | resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" 624 | integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== 625 | dependencies: 626 | "@jest/schemas" "^29.6.3" 627 | "@types/istanbul-lib-coverage" "^2.0.0" 628 | "@types/istanbul-reports" "^3.0.0" 629 | "@types/node" "*" 630 | "@types/yargs" "^17.0.8" 631 | chalk "^4.0.0" 632 | 633 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": 634 | version "0.3.3" 635 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" 636 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== 637 | dependencies: 638 | "@jridgewell/set-array" "^1.0.1" 639 | "@jridgewell/sourcemap-codec" "^1.4.10" 640 | "@jridgewell/trace-mapping" "^0.3.9" 641 | 642 | "@jridgewell/resolve-uri@^3.1.0": 643 | version "3.1.1" 644 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" 645 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 646 | 647 | "@jridgewell/set-array@^1.0.1": 648 | version "1.1.2" 649 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" 650 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 651 | 652 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": 653 | version "1.4.15" 654 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" 655 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 656 | 657 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": 658 | version "0.3.20" 659 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" 660 | integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== 661 | dependencies: 662 | "@jridgewell/resolve-uri" "^3.1.0" 663 | "@jridgewell/sourcemap-codec" "^1.4.14" 664 | 665 | "@sinclair/typebox@^0.27.8": 666 | version "0.27.8" 667 | resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" 668 | integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== 669 | 670 | "@sinonjs/commons@^3.0.0": 671 | version "3.0.0" 672 | resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" 673 | integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== 674 | dependencies: 675 | type-detect "4.0.8" 676 | 677 | "@sinonjs/fake-timers@^10.0.2": 678 | version "10.3.0" 679 | resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" 680 | integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== 681 | dependencies: 682 | "@sinonjs/commons" "^3.0.0" 683 | 684 | "@types/babel__core@^7.1.14": 685 | version "7.20.5" 686 | resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" 687 | integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== 688 | dependencies: 689 | "@babel/parser" "^7.20.7" 690 | "@babel/types" "^7.20.7" 691 | "@types/babel__generator" "*" 692 | "@types/babel__template" "*" 693 | "@types/babel__traverse" "*" 694 | 695 | "@types/babel__generator@*": 696 | version "7.6.7" 697 | resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz" 698 | integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ== 699 | dependencies: 700 | "@babel/types" "^7.0.0" 701 | 702 | "@types/babel__template@*": 703 | version "7.4.4" 704 | resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" 705 | integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== 706 | dependencies: 707 | "@babel/parser" "^7.1.0" 708 | "@babel/types" "^7.0.0" 709 | 710 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 711 | version "7.20.4" 712 | resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz" 713 | integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== 714 | dependencies: 715 | "@babel/types" "^7.20.7" 716 | 717 | "@types/graceful-fs@^4.1.3": 718 | version "4.1.9" 719 | resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" 720 | integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== 721 | dependencies: 722 | "@types/node" "*" 723 | 724 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 725 | version "2.0.6" 726 | resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" 727 | integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== 728 | 729 | "@types/istanbul-lib-report@*": 730 | version "3.0.3" 731 | resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" 732 | integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== 733 | dependencies: 734 | "@types/istanbul-lib-coverage" "*" 735 | 736 | "@types/istanbul-reports@^3.0.0": 737 | version "3.0.4" 738 | resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" 739 | integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== 740 | dependencies: 741 | "@types/istanbul-lib-report" "*" 742 | 743 | "@types/node@*": 744 | version "20.10.0" 745 | resolved "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz" 746 | integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ== 747 | dependencies: 748 | undici-types "~5.26.4" 749 | 750 | "@types/stack-utils@^2.0.0": 751 | version "2.0.3" 752 | resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" 753 | integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== 754 | 755 | "@types/yargs-parser@*": 756 | version "21.0.3" 757 | resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" 758 | integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== 759 | 760 | "@types/yargs@^17.0.8": 761 | version "17.0.32" 762 | resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" 763 | integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== 764 | dependencies: 765 | "@types/yargs-parser" "*" 766 | 767 | ansi-escapes@^4.2.1: 768 | version "4.3.2" 769 | resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" 770 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 771 | dependencies: 772 | type-fest "^0.21.3" 773 | 774 | ansi-regex@^5.0.1: 775 | version "5.0.1" 776 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 777 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 778 | 779 | ansi-styles@^3.2.1: 780 | version "3.2.1" 781 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 782 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 783 | dependencies: 784 | color-convert "^1.9.0" 785 | 786 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 787 | version "4.3.0" 788 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 789 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 790 | dependencies: 791 | color-convert "^2.0.1" 792 | 793 | ansi-styles@^5.0.0: 794 | version "5.2.0" 795 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" 796 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 797 | 798 | anymatch@^3.0.3: 799 | version "3.1.3" 800 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" 801 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 802 | dependencies: 803 | normalize-path "^3.0.0" 804 | picomatch "^2.0.4" 805 | 806 | argparse@^1.0.7: 807 | version "1.0.10" 808 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 809 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 810 | dependencies: 811 | sprintf-js "~1.0.2" 812 | 813 | babel-jest@^29.7.0: 814 | version "29.7.0" 815 | resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" 816 | integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== 817 | dependencies: 818 | "@jest/transform" "^29.7.0" 819 | "@types/babel__core" "^7.1.14" 820 | babel-plugin-istanbul "^6.1.1" 821 | babel-preset-jest "^29.6.3" 822 | chalk "^4.0.0" 823 | graceful-fs "^4.2.9" 824 | slash "^3.0.0" 825 | 826 | babel-plugin-istanbul@^6.1.1: 827 | version "6.1.1" 828 | resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" 829 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 830 | dependencies: 831 | "@babel/helper-plugin-utils" "^7.0.0" 832 | "@istanbuljs/load-nyc-config" "^1.0.0" 833 | "@istanbuljs/schema" "^0.1.2" 834 | istanbul-lib-instrument "^5.0.4" 835 | test-exclude "^6.0.0" 836 | 837 | babel-plugin-jest-hoist@^29.6.3: 838 | version "29.6.3" 839 | resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" 840 | integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== 841 | dependencies: 842 | "@babel/template" "^7.3.3" 843 | "@babel/types" "^7.3.3" 844 | "@types/babel__core" "^7.1.14" 845 | "@types/babel__traverse" "^7.0.6" 846 | 847 | babel-preset-current-node-syntax@^1.0.0: 848 | version "1.0.1" 849 | resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" 850 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 851 | dependencies: 852 | "@babel/plugin-syntax-async-generators" "^7.8.4" 853 | "@babel/plugin-syntax-bigint" "^7.8.3" 854 | "@babel/plugin-syntax-class-properties" "^7.8.3" 855 | "@babel/plugin-syntax-import-meta" "^7.8.3" 856 | "@babel/plugin-syntax-json-strings" "^7.8.3" 857 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 858 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 859 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 860 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 861 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 862 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 863 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 864 | 865 | babel-preset-jest@^29.6.3: 866 | version "29.6.3" 867 | resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" 868 | integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== 869 | dependencies: 870 | babel-plugin-jest-hoist "^29.6.3" 871 | babel-preset-current-node-syntax "^1.0.0" 872 | 873 | balanced-match@^1.0.0: 874 | version "1.0.2" 875 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 876 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 877 | 878 | brace-expansion@^1.1.7: 879 | version "1.1.11" 880 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 881 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 882 | dependencies: 883 | balanced-match "^1.0.0" 884 | concat-map "0.0.1" 885 | 886 | braces@^3.0.2: 887 | version "3.0.3" 888 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" 889 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 890 | dependencies: 891 | fill-range "^7.1.1" 892 | 893 | browserslist@^4.21.9: 894 | version "4.22.1" 895 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" 896 | integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== 897 | dependencies: 898 | caniuse-lite "^1.0.30001541" 899 | electron-to-chromium "^1.4.535" 900 | node-releases "^2.0.13" 901 | update-browserslist-db "^1.0.13" 902 | 903 | bser@2.1.1: 904 | version "2.1.1" 905 | resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" 906 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 907 | dependencies: 908 | node-int64 "^0.4.0" 909 | 910 | buffer-from@^1.0.0: 911 | version "1.1.2" 912 | resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" 913 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 914 | 915 | callsites@^3.0.0: 916 | version "3.1.0" 917 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 918 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 919 | 920 | camelcase@^5.3.1: 921 | version "5.3.1" 922 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" 923 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 924 | 925 | camelcase@^6.2.0: 926 | version "6.3.0" 927 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" 928 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 929 | 930 | caniuse-lite@^1.0.30001541: 931 | version "1.0.30001565" 932 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz" 933 | integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== 934 | 935 | chalk@^2.4.2: 936 | version "2.4.2" 937 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 938 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 939 | dependencies: 940 | ansi-styles "^3.2.1" 941 | escape-string-regexp "^1.0.5" 942 | supports-color "^5.3.0" 943 | 944 | chalk@^4.0.0: 945 | version "4.1.2" 946 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 947 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 948 | dependencies: 949 | ansi-styles "^4.1.0" 950 | supports-color "^7.1.0" 951 | 952 | char-regex@^1.0.2: 953 | version "1.0.2" 954 | resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" 955 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 956 | 957 | ci-info@^3.2.0: 958 | version "3.9.0" 959 | resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" 960 | integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== 961 | 962 | cjs-module-lexer@^1.0.0: 963 | version "1.2.3" 964 | resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" 965 | integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== 966 | 967 | cliui@^8.0.1: 968 | version "8.0.1" 969 | resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" 970 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== 971 | dependencies: 972 | string-width "^4.2.0" 973 | strip-ansi "^6.0.1" 974 | wrap-ansi "^7.0.0" 975 | 976 | co@^4.6.0: 977 | version "4.6.0" 978 | resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" 979 | integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 980 | 981 | collect-v8-coverage@^1.0.0: 982 | version "1.0.2" 983 | resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" 984 | integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== 985 | 986 | color-convert@^1.9.0: 987 | version "1.9.3" 988 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 989 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 990 | dependencies: 991 | color-name "1.1.3" 992 | 993 | color-convert@^2.0.1: 994 | version "2.0.1" 995 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 996 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 997 | dependencies: 998 | color-name "~1.1.4" 999 | 1000 | color-name@1.1.3: 1001 | version "1.1.3" 1002 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 1003 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1004 | 1005 | color-name@~1.1.4: 1006 | version "1.1.4" 1007 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 1008 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1009 | 1010 | concat-map@0.0.1: 1011 | version "0.0.1" 1012 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 1013 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1014 | 1015 | convert-source-map@^2.0.0: 1016 | version "2.0.0" 1017 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" 1018 | integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== 1019 | 1020 | create-jest@^29.7.0: 1021 | version "29.7.0" 1022 | resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" 1023 | integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== 1024 | dependencies: 1025 | "@jest/types" "^29.6.3" 1026 | chalk "^4.0.0" 1027 | exit "^0.1.2" 1028 | graceful-fs "^4.2.9" 1029 | jest-config "^29.7.0" 1030 | jest-util "^29.7.0" 1031 | prompts "^2.0.1" 1032 | 1033 | cross-spawn@^7.0.3: 1034 | version "7.0.6" 1035 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" 1036 | integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== 1037 | dependencies: 1038 | path-key "^3.1.0" 1039 | shebang-command "^2.0.0" 1040 | which "^2.0.1" 1041 | 1042 | debug@^4.1.0, debug@^4.1.1: 1043 | version "4.3.4" 1044 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 1045 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1046 | dependencies: 1047 | ms "2.1.2" 1048 | 1049 | dedent@^1.0.0: 1050 | version "1.5.1" 1051 | resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" 1052 | integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== 1053 | 1054 | deepmerge@^4.2.2: 1055 | version "4.3.1" 1056 | resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" 1057 | integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 1058 | 1059 | detect-newline@^3.0.0: 1060 | version "3.1.0" 1061 | resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" 1062 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1063 | 1064 | diff-sequences@^29.6.3: 1065 | version "29.6.3" 1066 | resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" 1067 | integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== 1068 | 1069 | electron-to-chromium@^1.4.535: 1070 | version "1.4.596" 1071 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.596.tgz" 1072 | integrity sha512-zW3zbZ40Icb2BCWjm47nxwcFGYlIgdXkAx85XDO7cyky9J4QQfq8t0W19/TLZqq3JPQXtlv8BPIGmfa9Jb4scg== 1073 | 1074 | emittery@^0.13.1: 1075 | version "0.13.1" 1076 | resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" 1077 | integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== 1078 | 1079 | emoji-regex@^8.0.0: 1080 | version "8.0.0" 1081 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 1082 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1083 | 1084 | error-ex@^1.3.1: 1085 | version "1.3.2" 1086 | resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" 1087 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1088 | dependencies: 1089 | is-arrayish "^0.2.1" 1090 | 1091 | esbuild@^0.25.0: 1092 | version "0.25.0" 1093 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.0.tgz#0de1787a77206c5a79eeb634a623d39b5006ce92" 1094 | integrity sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw== 1095 | optionalDependencies: 1096 | "@esbuild/aix-ppc64" "0.25.0" 1097 | "@esbuild/android-arm" "0.25.0" 1098 | "@esbuild/android-arm64" "0.25.0" 1099 | "@esbuild/android-x64" "0.25.0" 1100 | "@esbuild/darwin-arm64" "0.25.0" 1101 | "@esbuild/darwin-x64" "0.25.0" 1102 | "@esbuild/freebsd-arm64" "0.25.0" 1103 | "@esbuild/freebsd-x64" "0.25.0" 1104 | "@esbuild/linux-arm" "0.25.0" 1105 | "@esbuild/linux-arm64" "0.25.0" 1106 | "@esbuild/linux-ia32" "0.25.0" 1107 | "@esbuild/linux-loong64" "0.25.0" 1108 | "@esbuild/linux-mips64el" "0.25.0" 1109 | "@esbuild/linux-ppc64" "0.25.0" 1110 | "@esbuild/linux-riscv64" "0.25.0" 1111 | "@esbuild/linux-s390x" "0.25.0" 1112 | "@esbuild/linux-x64" "0.25.0" 1113 | "@esbuild/netbsd-arm64" "0.25.0" 1114 | "@esbuild/netbsd-x64" "0.25.0" 1115 | "@esbuild/openbsd-arm64" "0.25.0" 1116 | "@esbuild/openbsd-x64" "0.25.0" 1117 | "@esbuild/sunos-x64" "0.25.0" 1118 | "@esbuild/win32-arm64" "0.25.0" 1119 | "@esbuild/win32-ia32" "0.25.0" 1120 | "@esbuild/win32-x64" "0.25.0" 1121 | 1122 | escalade@^3.1.1: 1123 | version "3.1.1" 1124 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 1125 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1126 | 1127 | escape-string-regexp@^1.0.5: 1128 | version "1.0.5" 1129 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 1130 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1131 | 1132 | escape-string-regexp@^2.0.0: 1133 | version "2.0.0" 1134 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" 1135 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1136 | 1137 | esprima@^4.0.0: 1138 | version "4.0.1" 1139 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 1140 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1141 | 1142 | execa@^5.0.0: 1143 | version "5.1.1" 1144 | resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" 1145 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1146 | dependencies: 1147 | cross-spawn "^7.0.3" 1148 | get-stream "^6.0.0" 1149 | human-signals "^2.1.0" 1150 | is-stream "^2.0.0" 1151 | merge-stream "^2.0.0" 1152 | npm-run-path "^4.0.1" 1153 | onetime "^5.1.2" 1154 | signal-exit "^3.0.3" 1155 | strip-final-newline "^2.0.0" 1156 | 1157 | exit@^0.1.2: 1158 | version "0.1.2" 1159 | resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" 1160 | integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== 1161 | 1162 | expect@^29.7.0: 1163 | version "29.7.0" 1164 | resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" 1165 | integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== 1166 | dependencies: 1167 | "@jest/expect-utils" "^29.7.0" 1168 | jest-get-type "^29.6.3" 1169 | jest-matcher-utils "^29.7.0" 1170 | jest-message-util "^29.7.0" 1171 | jest-util "^29.7.0" 1172 | 1173 | fast-json-stable-stringify@^2.1.0: 1174 | version "2.1.0" 1175 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 1176 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1177 | 1178 | fb-watchman@^2.0.0: 1179 | version "2.0.2" 1180 | resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" 1181 | integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== 1182 | dependencies: 1183 | bser "2.1.1" 1184 | 1185 | fill-range@^7.1.1: 1186 | version "7.1.1" 1187 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" 1188 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 1189 | dependencies: 1190 | to-regex-range "^5.0.1" 1191 | 1192 | find-up@^4.0.0, find-up@^4.1.0: 1193 | version "4.1.0" 1194 | resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" 1195 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1196 | dependencies: 1197 | locate-path "^5.0.0" 1198 | path-exists "^4.0.0" 1199 | 1200 | fs.realpath@^1.0.0: 1201 | version "1.0.0" 1202 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 1203 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1204 | 1205 | fsevents@^2.3.2: 1206 | version "2.3.3" 1207 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" 1208 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1209 | 1210 | function-bind@^1.1.2: 1211 | version "1.1.2" 1212 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" 1213 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1214 | 1215 | gensync@^1.0.0-beta.2: 1216 | version "1.0.0-beta.2" 1217 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" 1218 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1219 | 1220 | get-caller-file@^2.0.5: 1221 | version "2.0.5" 1222 | resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" 1223 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1224 | 1225 | get-package-type@^0.1.0: 1226 | version "0.1.0" 1227 | resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" 1228 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1229 | 1230 | get-stream@^6.0.0: 1231 | version "6.0.1" 1232 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" 1233 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1234 | 1235 | glob@^7.1.3, glob@^7.1.4: 1236 | version "7.2.3" 1237 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" 1238 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1239 | dependencies: 1240 | fs.realpath "^1.0.0" 1241 | inflight "^1.0.4" 1242 | inherits "2" 1243 | minimatch "^3.1.1" 1244 | once "^1.3.0" 1245 | path-is-absolute "^1.0.0" 1246 | 1247 | globals@^11.1.0: 1248 | version "11.12.0" 1249 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" 1250 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1251 | 1252 | graceful-fs@^4.2.9: 1253 | version "4.2.11" 1254 | resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" 1255 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1256 | 1257 | has-flag@^3.0.0: 1258 | version "3.0.0" 1259 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 1260 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1261 | 1262 | has-flag@^4.0.0: 1263 | version "4.0.0" 1264 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 1265 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1266 | 1267 | hasown@^2.0.0: 1268 | version "2.0.0" 1269 | resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" 1270 | integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== 1271 | dependencies: 1272 | function-bind "^1.1.2" 1273 | 1274 | html-escaper@^2.0.0: 1275 | version "2.0.2" 1276 | resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" 1277 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1278 | 1279 | human-signals@^2.1.0: 1280 | version "2.1.0" 1281 | resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" 1282 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1283 | 1284 | import-local@^3.0.2: 1285 | version "3.1.0" 1286 | resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" 1287 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1288 | dependencies: 1289 | pkg-dir "^4.2.0" 1290 | resolve-cwd "^3.0.0" 1291 | 1292 | imurmurhash@^0.1.4: 1293 | version "0.1.4" 1294 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 1295 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1296 | 1297 | inflight@^1.0.4: 1298 | version "1.0.6" 1299 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 1300 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1301 | dependencies: 1302 | once "^1.3.0" 1303 | wrappy "1" 1304 | 1305 | inherits@2: 1306 | version "2.0.4" 1307 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 1308 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1309 | 1310 | is-arrayish@^0.2.1: 1311 | version "0.2.1" 1312 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" 1313 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1314 | 1315 | is-core-module@^2.13.0: 1316 | version "2.13.1" 1317 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" 1318 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 1319 | dependencies: 1320 | hasown "^2.0.0" 1321 | 1322 | is-fullwidth-code-point@^3.0.0: 1323 | version "3.0.0" 1324 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 1325 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1326 | 1327 | is-generator-fn@^2.0.0: 1328 | version "2.1.0" 1329 | resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" 1330 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1331 | 1332 | is-number@^7.0.0: 1333 | version "7.0.0" 1334 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 1335 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1336 | 1337 | is-stream@^2.0.0: 1338 | version "2.0.1" 1339 | resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" 1340 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 1341 | 1342 | isexe@^2.0.0: 1343 | version "2.0.0" 1344 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 1345 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1346 | 1347 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 1348 | version "3.2.2" 1349 | resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" 1350 | integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== 1351 | 1352 | istanbul-lib-instrument@^5.0.4: 1353 | version "5.2.1" 1354 | resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" 1355 | integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== 1356 | dependencies: 1357 | "@babel/core" "^7.12.3" 1358 | "@babel/parser" "^7.14.7" 1359 | "@istanbuljs/schema" "^0.1.2" 1360 | istanbul-lib-coverage "^3.2.0" 1361 | semver "^6.3.0" 1362 | 1363 | istanbul-lib-instrument@^6.0.0: 1364 | version "6.0.1" 1365 | resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz" 1366 | integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== 1367 | dependencies: 1368 | "@babel/core" "^7.12.3" 1369 | "@babel/parser" "^7.14.7" 1370 | "@istanbuljs/schema" "^0.1.2" 1371 | istanbul-lib-coverage "^3.2.0" 1372 | semver "^7.5.4" 1373 | 1374 | istanbul-lib-report@^3.0.0: 1375 | version "3.0.1" 1376 | resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" 1377 | integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== 1378 | dependencies: 1379 | istanbul-lib-coverage "^3.0.0" 1380 | make-dir "^4.0.0" 1381 | supports-color "^7.1.0" 1382 | 1383 | istanbul-lib-source-maps@^4.0.0: 1384 | version "4.0.1" 1385 | resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" 1386 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 1387 | dependencies: 1388 | debug "^4.1.1" 1389 | istanbul-lib-coverage "^3.0.0" 1390 | source-map "^0.6.1" 1391 | 1392 | istanbul-reports@^3.1.3: 1393 | version "3.1.6" 1394 | resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" 1395 | integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== 1396 | dependencies: 1397 | html-escaper "^2.0.0" 1398 | istanbul-lib-report "^3.0.0" 1399 | 1400 | jest-changed-files@^29.7.0: 1401 | version "29.7.0" 1402 | resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" 1403 | integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== 1404 | dependencies: 1405 | execa "^5.0.0" 1406 | jest-util "^29.7.0" 1407 | p-limit "^3.1.0" 1408 | 1409 | jest-circus@^29.7.0: 1410 | version "29.7.0" 1411 | resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" 1412 | integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== 1413 | dependencies: 1414 | "@jest/environment" "^29.7.0" 1415 | "@jest/expect" "^29.7.0" 1416 | "@jest/test-result" "^29.7.0" 1417 | "@jest/types" "^29.6.3" 1418 | "@types/node" "*" 1419 | chalk "^4.0.0" 1420 | co "^4.6.0" 1421 | dedent "^1.0.0" 1422 | is-generator-fn "^2.0.0" 1423 | jest-each "^29.7.0" 1424 | jest-matcher-utils "^29.7.0" 1425 | jest-message-util "^29.7.0" 1426 | jest-runtime "^29.7.0" 1427 | jest-snapshot "^29.7.0" 1428 | jest-util "^29.7.0" 1429 | p-limit "^3.1.0" 1430 | pretty-format "^29.7.0" 1431 | pure-rand "^6.0.0" 1432 | slash "^3.0.0" 1433 | stack-utils "^2.0.3" 1434 | 1435 | jest-cli@^29.7.0: 1436 | version "29.7.0" 1437 | resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" 1438 | integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== 1439 | dependencies: 1440 | "@jest/core" "^29.7.0" 1441 | "@jest/test-result" "^29.7.0" 1442 | "@jest/types" "^29.6.3" 1443 | chalk "^4.0.0" 1444 | create-jest "^29.7.0" 1445 | exit "^0.1.2" 1446 | import-local "^3.0.2" 1447 | jest-config "^29.7.0" 1448 | jest-util "^29.7.0" 1449 | jest-validate "^29.7.0" 1450 | yargs "^17.3.1" 1451 | 1452 | jest-config@^29.7.0: 1453 | version "29.7.0" 1454 | resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" 1455 | integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== 1456 | dependencies: 1457 | "@babel/core" "^7.11.6" 1458 | "@jest/test-sequencer" "^29.7.0" 1459 | "@jest/types" "^29.6.3" 1460 | babel-jest "^29.7.0" 1461 | chalk "^4.0.0" 1462 | ci-info "^3.2.0" 1463 | deepmerge "^4.2.2" 1464 | glob "^7.1.3" 1465 | graceful-fs "^4.2.9" 1466 | jest-circus "^29.7.0" 1467 | jest-environment-node "^29.7.0" 1468 | jest-get-type "^29.6.3" 1469 | jest-regex-util "^29.6.3" 1470 | jest-resolve "^29.7.0" 1471 | jest-runner "^29.7.0" 1472 | jest-util "^29.7.0" 1473 | jest-validate "^29.7.0" 1474 | micromatch "^4.0.4" 1475 | parse-json "^5.2.0" 1476 | pretty-format "^29.7.0" 1477 | slash "^3.0.0" 1478 | strip-json-comments "^3.1.1" 1479 | 1480 | jest-diff@^29.7.0: 1481 | version "29.7.0" 1482 | resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" 1483 | integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== 1484 | dependencies: 1485 | chalk "^4.0.0" 1486 | diff-sequences "^29.6.3" 1487 | jest-get-type "^29.6.3" 1488 | pretty-format "^29.7.0" 1489 | 1490 | jest-docblock@^29.7.0: 1491 | version "29.7.0" 1492 | resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" 1493 | integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== 1494 | dependencies: 1495 | detect-newline "^3.0.0" 1496 | 1497 | jest-each@^29.7.0: 1498 | version "29.7.0" 1499 | resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" 1500 | integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== 1501 | dependencies: 1502 | "@jest/types" "^29.6.3" 1503 | chalk "^4.0.0" 1504 | jest-get-type "^29.6.3" 1505 | jest-util "^29.7.0" 1506 | pretty-format "^29.7.0" 1507 | 1508 | jest-environment-node@^29.7.0: 1509 | version "29.7.0" 1510 | resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" 1511 | integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== 1512 | dependencies: 1513 | "@jest/environment" "^29.7.0" 1514 | "@jest/fake-timers" "^29.7.0" 1515 | "@jest/types" "^29.6.3" 1516 | "@types/node" "*" 1517 | jest-mock "^29.7.0" 1518 | jest-util "^29.7.0" 1519 | 1520 | jest-get-type@^29.6.3: 1521 | version "29.6.3" 1522 | resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" 1523 | integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== 1524 | 1525 | jest-haste-map@^29.7.0: 1526 | version "29.7.0" 1527 | resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" 1528 | integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== 1529 | dependencies: 1530 | "@jest/types" "^29.6.3" 1531 | "@types/graceful-fs" "^4.1.3" 1532 | "@types/node" "*" 1533 | anymatch "^3.0.3" 1534 | fb-watchman "^2.0.0" 1535 | graceful-fs "^4.2.9" 1536 | jest-regex-util "^29.6.3" 1537 | jest-util "^29.7.0" 1538 | jest-worker "^29.7.0" 1539 | micromatch "^4.0.4" 1540 | walker "^1.0.8" 1541 | optionalDependencies: 1542 | fsevents "^2.3.2" 1543 | 1544 | jest-leak-detector@^29.7.0: 1545 | version "29.7.0" 1546 | resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" 1547 | integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== 1548 | dependencies: 1549 | jest-get-type "^29.6.3" 1550 | pretty-format "^29.7.0" 1551 | 1552 | jest-matcher-utils@^29.7.0: 1553 | version "29.7.0" 1554 | resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" 1555 | integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== 1556 | dependencies: 1557 | chalk "^4.0.0" 1558 | jest-diff "^29.7.0" 1559 | jest-get-type "^29.6.3" 1560 | pretty-format "^29.7.0" 1561 | 1562 | jest-message-util@^29.7.0: 1563 | version "29.7.0" 1564 | resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" 1565 | integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== 1566 | dependencies: 1567 | "@babel/code-frame" "^7.12.13" 1568 | "@jest/types" "^29.6.3" 1569 | "@types/stack-utils" "^2.0.0" 1570 | chalk "^4.0.0" 1571 | graceful-fs "^4.2.9" 1572 | micromatch "^4.0.4" 1573 | pretty-format "^29.7.0" 1574 | slash "^3.0.0" 1575 | stack-utils "^2.0.3" 1576 | 1577 | jest-mock@^29.7.0: 1578 | version "29.7.0" 1579 | resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" 1580 | integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== 1581 | dependencies: 1582 | "@jest/types" "^29.6.3" 1583 | "@types/node" "*" 1584 | jest-util "^29.7.0" 1585 | 1586 | jest-pnp-resolver@^1.2.2: 1587 | version "1.2.3" 1588 | resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" 1589 | integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== 1590 | 1591 | jest-regex-util@^29.6.3: 1592 | version "29.6.3" 1593 | resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" 1594 | integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== 1595 | 1596 | jest-resolve-dependencies@^29.7.0: 1597 | version "29.7.0" 1598 | resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" 1599 | integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== 1600 | dependencies: 1601 | jest-regex-util "^29.6.3" 1602 | jest-snapshot "^29.7.0" 1603 | 1604 | jest-resolve@^29.7.0: 1605 | version "29.7.0" 1606 | resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" 1607 | integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== 1608 | dependencies: 1609 | chalk "^4.0.0" 1610 | graceful-fs "^4.2.9" 1611 | jest-haste-map "^29.7.0" 1612 | jest-pnp-resolver "^1.2.2" 1613 | jest-util "^29.7.0" 1614 | jest-validate "^29.7.0" 1615 | resolve "^1.20.0" 1616 | resolve.exports "^2.0.0" 1617 | slash "^3.0.0" 1618 | 1619 | jest-runner@^29.7.0: 1620 | version "29.7.0" 1621 | resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" 1622 | integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== 1623 | dependencies: 1624 | "@jest/console" "^29.7.0" 1625 | "@jest/environment" "^29.7.0" 1626 | "@jest/test-result" "^29.7.0" 1627 | "@jest/transform" "^29.7.0" 1628 | "@jest/types" "^29.6.3" 1629 | "@types/node" "*" 1630 | chalk "^4.0.0" 1631 | emittery "^0.13.1" 1632 | graceful-fs "^4.2.9" 1633 | jest-docblock "^29.7.0" 1634 | jest-environment-node "^29.7.0" 1635 | jest-haste-map "^29.7.0" 1636 | jest-leak-detector "^29.7.0" 1637 | jest-message-util "^29.7.0" 1638 | jest-resolve "^29.7.0" 1639 | jest-runtime "^29.7.0" 1640 | jest-util "^29.7.0" 1641 | jest-watcher "^29.7.0" 1642 | jest-worker "^29.7.0" 1643 | p-limit "^3.1.0" 1644 | source-map-support "0.5.13" 1645 | 1646 | jest-runtime@^29.7.0: 1647 | version "29.7.0" 1648 | resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" 1649 | integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== 1650 | dependencies: 1651 | "@jest/environment" "^29.7.0" 1652 | "@jest/fake-timers" "^29.7.0" 1653 | "@jest/globals" "^29.7.0" 1654 | "@jest/source-map" "^29.6.3" 1655 | "@jest/test-result" "^29.7.0" 1656 | "@jest/transform" "^29.7.0" 1657 | "@jest/types" "^29.6.3" 1658 | "@types/node" "*" 1659 | chalk "^4.0.0" 1660 | cjs-module-lexer "^1.0.0" 1661 | collect-v8-coverage "^1.0.0" 1662 | glob "^7.1.3" 1663 | graceful-fs "^4.2.9" 1664 | jest-haste-map "^29.7.0" 1665 | jest-message-util "^29.7.0" 1666 | jest-mock "^29.7.0" 1667 | jest-regex-util "^29.6.3" 1668 | jest-resolve "^29.7.0" 1669 | jest-snapshot "^29.7.0" 1670 | jest-util "^29.7.0" 1671 | slash "^3.0.0" 1672 | strip-bom "^4.0.0" 1673 | 1674 | jest-snapshot@^29.7.0: 1675 | version "29.7.0" 1676 | resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" 1677 | integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== 1678 | dependencies: 1679 | "@babel/core" "^7.11.6" 1680 | "@babel/generator" "^7.7.2" 1681 | "@babel/plugin-syntax-jsx" "^7.7.2" 1682 | "@babel/plugin-syntax-typescript" "^7.7.2" 1683 | "@babel/types" "^7.3.3" 1684 | "@jest/expect-utils" "^29.7.0" 1685 | "@jest/transform" "^29.7.0" 1686 | "@jest/types" "^29.6.3" 1687 | babel-preset-current-node-syntax "^1.0.0" 1688 | chalk "^4.0.0" 1689 | expect "^29.7.0" 1690 | graceful-fs "^4.2.9" 1691 | jest-diff "^29.7.0" 1692 | jest-get-type "^29.6.3" 1693 | jest-matcher-utils "^29.7.0" 1694 | jest-message-util "^29.7.0" 1695 | jest-util "^29.7.0" 1696 | natural-compare "^1.4.0" 1697 | pretty-format "^29.7.0" 1698 | semver "^7.5.3" 1699 | 1700 | jest-util@^29.7.0: 1701 | version "29.7.0" 1702 | resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" 1703 | integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== 1704 | dependencies: 1705 | "@jest/types" "^29.6.3" 1706 | "@types/node" "*" 1707 | chalk "^4.0.0" 1708 | ci-info "^3.2.0" 1709 | graceful-fs "^4.2.9" 1710 | picomatch "^2.2.3" 1711 | 1712 | jest-validate@^29.7.0: 1713 | version "29.7.0" 1714 | resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" 1715 | integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== 1716 | dependencies: 1717 | "@jest/types" "^29.6.3" 1718 | camelcase "^6.2.0" 1719 | chalk "^4.0.0" 1720 | jest-get-type "^29.6.3" 1721 | leven "^3.1.0" 1722 | pretty-format "^29.7.0" 1723 | 1724 | jest-watcher@^29.7.0: 1725 | version "29.7.0" 1726 | resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" 1727 | integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== 1728 | dependencies: 1729 | "@jest/test-result" "^29.7.0" 1730 | "@jest/types" "^29.6.3" 1731 | "@types/node" "*" 1732 | ansi-escapes "^4.2.1" 1733 | chalk "^4.0.0" 1734 | emittery "^0.13.1" 1735 | jest-util "^29.7.0" 1736 | string-length "^4.0.1" 1737 | 1738 | jest-worker@^29.7.0: 1739 | version "29.7.0" 1740 | resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" 1741 | integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== 1742 | dependencies: 1743 | "@types/node" "*" 1744 | jest-util "^29.7.0" 1745 | merge-stream "^2.0.0" 1746 | supports-color "^8.0.0" 1747 | 1748 | jest@^29.7.0: 1749 | version "29.7.0" 1750 | resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" 1751 | integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== 1752 | dependencies: 1753 | "@jest/core" "^29.7.0" 1754 | "@jest/types" "^29.6.3" 1755 | import-local "^3.0.2" 1756 | jest-cli "^29.7.0" 1757 | 1758 | js-tokens@^4.0.0: 1759 | version "4.0.0" 1760 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 1761 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1762 | 1763 | js-yaml@^3.13.1: 1764 | version "3.14.1" 1765 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 1766 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1767 | dependencies: 1768 | argparse "^1.0.7" 1769 | esprima "^4.0.0" 1770 | 1771 | jsesc@^2.5.1: 1772 | version "2.5.2" 1773 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" 1774 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1775 | 1776 | json-parse-even-better-errors@^2.3.0: 1777 | version "2.3.1" 1778 | resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" 1779 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1780 | 1781 | json5@^2.2.3: 1782 | version "2.2.3" 1783 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" 1784 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1785 | 1786 | kleur@^3.0.3: 1787 | version "3.0.3" 1788 | resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" 1789 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 1790 | 1791 | leven@^3.1.0: 1792 | version "3.1.0" 1793 | resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" 1794 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1795 | 1796 | lines-and-columns@^1.1.6: 1797 | version "1.2.4" 1798 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" 1799 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1800 | 1801 | locate-path@^5.0.0: 1802 | version "5.0.0" 1803 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" 1804 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1805 | dependencies: 1806 | p-locate "^4.1.0" 1807 | 1808 | lru-cache@^5.1.1: 1809 | version "5.1.1" 1810 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" 1811 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1812 | dependencies: 1813 | yallist "^3.0.2" 1814 | 1815 | lru-cache@^6.0.0: 1816 | version "6.0.0" 1817 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 1818 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1819 | dependencies: 1820 | yallist "^4.0.0" 1821 | 1822 | make-dir@^4.0.0: 1823 | version "4.0.0" 1824 | resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" 1825 | integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== 1826 | dependencies: 1827 | semver "^7.5.3" 1828 | 1829 | makeerror@1.0.12: 1830 | version "1.0.12" 1831 | resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" 1832 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 1833 | dependencies: 1834 | tmpl "1.0.5" 1835 | 1836 | merge-stream@^2.0.0: 1837 | version "2.0.0" 1838 | resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" 1839 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1840 | 1841 | micromatch@^4.0.4: 1842 | version "4.0.5" 1843 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 1844 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1845 | dependencies: 1846 | braces "^3.0.2" 1847 | picomatch "^2.3.1" 1848 | 1849 | mimic-fn@^2.1.0: 1850 | version "2.1.0" 1851 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" 1852 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1853 | 1854 | minimatch@^3.0.4, minimatch@^3.1.1: 1855 | version "3.1.2" 1856 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 1857 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1858 | dependencies: 1859 | brace-expansion "^1.1.7" 1860 | 1861 | ms@2.1.2: 1862 | version "2.1.2" 1863 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 1864 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1865 | 1866 | natural-compare@^1.4.0: 1867 | version "1.4.0" 1868 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 1869 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1870 | 1871 | node-int64@^0.4.0: 1872 | version "0.4.0" 1873 | resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" 1874 | integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== 1875 | 1876 | node-releases@^2.0.13: 1877 | version "2.0.13" 1878 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" 1879 | integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== 1880 | 1881 | normalize-path@^3.0.0: 1882 | version "3.0.0" 1883 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 1884 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1885 | 1886 | npm-run-path@^4.0.1: 1887 | version "4.0.1" 1888 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" 1889 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 1890 | dependencies: 1891 | path-key "^3.0.0" 1892 | 1893 | once@^1.3.0: 1894 | version "1.4.0" 1895 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1896 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1897 | dependencies: 1898 | wrappy "1" 1899 | 1900 | onetime@^5.1.2: 1901 | version "5.1.2" 1902 | resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" 1903 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1904 | dependencies: 1905 | mimic-fn "^2.1.0" 1906 | 1907 | p-limit@^2.2.0: 1908 | version "2.3.0" 1909 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" 1910 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1911 | dependencies: 1912 | p-try "^2.0.0" 1913 | 1914 | p-limit@^3.1.0: 1915 | version "3.1.0" 1916 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" 1917 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1918 | dependencies: 1919 | yocto-queue "^0.1.0" 1920 | 1921 | p-locate@^4.1.0: 1922 | version "4.1.0" 1923 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" 1924 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1925 | dependencies: 1926 | p-limit "^2.2.0" 1927 | 1928 | p-try@^2.0.0: 1929 | version "2.2.0" 1930 | resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" 1931 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1932 | 1933 | parse-json@^5.2.0: 1934 | version "5.2.0" 1935 | resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" 1936 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1937 | dependencies: 1938 | "@babel/code-frame" "^7.0.0" 1939 | error-ex "^1.3.1" 1940 | json-parse-even-better-errors "^2.3.0" 1941 | lines-and-columns "^1.1.6" 1942 | 1943 | path-exists@^4.0.0: 1944 | version "4.0.0" 1945 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 1946 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1947 | 1948 | path-is-absolute@^1.0.0: 1949 | version "1.0.1" 1950 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 1951 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1952 | 1953 | path-key@^3.0.0, path-key@^3.1.0: 1954 | version "3.1.1" 1955 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1956 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1957 | 1958 | path-parse@^1.0.7: 1959 | version "1.0.7" 1960 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 1961 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1962 | 1963 | picocolors@^1.0.0: 1964 | version "1.0.0" 1965 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 1966 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1967 | 1968 | picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: 1969 | version "2.3.1" 1970 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 1971 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1972 | 1973 | pirates@^4.0.4: 1974 | version "4.0.6" 1975 | resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" 1976 | integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== 1977 | 1978 | pkg-dir@^4.2.0: 1979 | version "4.2.0" 1980 | resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" 1981 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1982 | dependencies: 1983 | find-up "^4.0.0" 1984 | 1985 | pretty-format@^29.7.0: 1986 | version "29.7.0" 1987 | resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" 1988 | integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== 1989 | dependencies: 1990 | "@jest/schemas" "^29.6.3" 1991 | ansi-styles "^5.0.0" 1992 | react-is "^18.0.0" 1993 | 1994 | prompts@^2.0.1: 1995 | version "2.4.2" 1996 | resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" 1997 | integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== 1998 | dependencies: 1999 | kleur "^3.0.3" 2000 | sisteransi "^1.0.5" 2001 | 2002 | pure-rand@^6.0.0: 2003 | version "6.0.4" 2004 | resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" 2005 | integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== 2006 | 2007 | react-is@^18.0.0: 2008 | version "18.2.0" 2009 | resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" 2010 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 2011 | 2012 | require-directory@^2.1.1: 2013 | version "2.1.1" 2014 | resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" 2015 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2016 | 2017 | resolve-cwd@^3.0.0: 2018 | version "3.0.0" 2019 | resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" 2020 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2021 | dependencies: 2022 | resolve-from "^5.0.0" 2023 | 2024 | resolve-from@^5.0.0: 2025 | version "5.0.0" 2026 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" 2027 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2028 | 2029 | resolve.exports@^2.0.0: 2030 | version "2.0.2" 2031 | resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" 2032 | integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== 2033 | 2034 | resolve@^1.20.0: 2035 | version "1.22.8" 2036 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" 2037 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 2038 | dependencies: 2039 | is-core-module "^2.13.0" 2040 | path-parse "^1.0.7" 2041 | supports-preserve-symlinks-flag "^1.0.0" 2042 | 2043 | semver@^6.3.0, semver@^6.3.1: 2044 | version "6.3.1" 2045 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" 2046 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== 2047 | 2048 | semver@^7.5.3, semver@^7.5.4: 2049 | version "7.5.4" 2050 | resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" 2051 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 2052 | dependencies: 2053 | lru-cache "^6.0.0" 2054 | 2055 | shebang-command@^2.0.0: 2056 | version "2.0.0" 2057 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 2058 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2059 | dependencies: 2060 | shebang-regex "^3.0.0" 2061 | 2062 | shebang-regex@^3.0.0: 2063 | version "3.0.0" 2064 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 2065 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2066 | 2067 | signal-exit@^3.0.3, signal-exit@^3.0.7: 2068 | version "3.0.7" 2069 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" 2070 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2071 | 2072 | sisteransi@^1.0.5: 2073 | version "1.0.5" 2074 | resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" 2075 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2076 | 2077 | slash@^3.0.0: 2078 | version "3.0.0" 2079 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 2080 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2081 | 2082 | source-map-support@0.5.13: 2083 | version "0.5.13" 2084 | resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" 2085 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2086 | dependencies: 2087 | buffer-from "^1.0.0" 2088 | source-map "^0.6.0" 2089 | 2090 | source-map@^0.6.0, source-map@^0.6.1: 2091 | version "0.6.1" 2092 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" 2093 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2094 | 2095 | sprintf-js@~1.0.2: 2096 | version "1.0.3" 2097 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 2098 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2099 | 2100 | stack-utils@^2.0.3: 2101 | version "2.0.6" 2102 | resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" 2103 | integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== 2104 | dependencies: 2105 | escape-string-regexp "^2.0.0" 2106 | 2107 | string-length@^4.0.1: 2108 | version "4.0.2" 2109 | resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" 2110 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 2111 | dependencies: 2112 | char-regex "^1.0.2" 2113 | strip-ansi "^6.0.0" 2114 | 2115 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 2116 | version "4.2.3" 2117 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 2118 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2119 | dependencies: 2120 | emoji-regex "^8.0.0" 2121 | is-fullwidth-code-point "^3.0.0" 2122 | strip-ansi "^6.0.1" 2123 | 2124 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2125 | version "6.0.1" 2126 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 2127 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2128 | dependencies: 2129 | ansi-regex "^5.0.1" 2130 | 2131 | strip-bom@^4.0.0: 2132 | version "4.0.0" 2133 | resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" 2134 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2135 | 2136 | strip-final-newline@^2.0.0: 2137 | version "2.0.0" 2138 | resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" 2139 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2140 | 2141 | strip-json-comments@^3.1.1: 2142 | version "3.1.1" 2143 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 2144 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2145 | 2146 | supports-color@^5.3.0: 2147 | version "5.5.0" 2148 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 2149 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2150 | dependencies: 2151 | has-flag "^3.0.0" 2152 | 2153 | supports-color@^7.1.0: 2154 | version "7.2.0" 2155 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 2156 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2157 | dependencies: 2158 | has-flag "^4.0.0" 2159 | 2160 | supports-color@^8.0.0: 2161 | version "8.1.1" 2162 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" 2163 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2164 | dependencies: 2165 | has-flag "^4.0.0" 2166 | 2167 | supports-preserve-symlinks-flag@^1.0.0: 2168 | version "1.0.0" 2169 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 2170 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2171 | 2172 | test-exclude@^6.0.0: 2173 | version "6.0.0" 2174 | resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" 2175 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2176 | dependencies: 2177 | "@istanbuljs/schema" "^0.1.2" 2178 | glob "^7.1.4" 2179 | minimatch "^3.0.4" 2180 | 2181 | tmpl@1.0.5: 2182 | version "1.0.5" 2183 | resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" 2184 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2185 | 2186 | to-fast-properties@^2.0.0: 2187 | version "2.0.0" 2188 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" 2189 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 2190 | 2191 | to-regex-range@^5.0.1: 2192 | version "5.0.1" 2193 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 2194 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2195 | dependencies: 2196 | is-number "^7.0.0" 2197 | 2198 | type-detect@4.0.8: 2199 | version "4.0.8" 2200 | resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" 2201 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2202 | 2203 | type-fest@^0.21.3: 2204 | version "0.21.3" 2205 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" 2206 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2207 | 2208 | undici-types@~5.26.4: 2209 | version "5.26.5" 2210 | resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" 2211 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 2212 | 2213 | update-browserslist-db@^1.0.13: 2214 | version "1.0.13" 2215 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" 2216 | integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== 2217 | dependencies: 2218 | escalade "^3.1.1" 2219 | picocolors "^1.0.0" 2220 | 2221 | v8-to-istanbul@^9.0.1: 2222 | version "9.2.0" 2223 | resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" 2224 | integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== 2225 | dependencies: 2226 | "@jridgewell/trace-mapping" "^0.3.12" 2227 | "@types/istanbul-lib-coverage" "^2.0.1" 2228 | convert-source-map "^2.0.0" 2229 | 2230 | walker@^1.0.8: 2231 | version "1.0.8" 2232 | resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" 2233 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 2234 | dependencies: 2235 | makeerror "1.0.12" 2236 | 2237 | which@^2.0.1: 2238 | version "2.0.2" 2239 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 2240 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2241 | dependencies: 2242 | isexe "^2.0.0" 2243 | 2244 | wrap-ansi@^7.0.0: 2245 | version "7.0.0" 2246 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" 2247 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2248 | dependencies: 2249 | ansi-styles "^4.0.0" 2250 | string-width "^4.1.0" 2251 | strip-ansi "^6.0.0" 2252 | 2253 | wrappy@1: 2254 | version "1.0.2" 2255 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 2256 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2257 | 2258 | write-file-atomic@^4.0.2: 2259 | version "4.0.2" 2260 | resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" 2261 | integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== 2262 | dependencies: 2263 | imurmurhash "^0.1.4" 2264 | signal-exit "^3.0.7" 2265 | 2266 | y18n@^5.0.5: 2267 | version "5.0.8" 2268 | resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" 2269 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2270 | 2271 | yallist@^3.0.2: 2272 | version "3.1.1" 2273 | resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" 2274 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 2275 | 2276 | yallist@^4.0.0: 2277 | version "4.0.0" 2278 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 2279 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2280 | 2281 | yargs-parser@^21.1.1: 2282 | version "21.1.1" 2283 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" 2284 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== 2285 | 2286 | yargs@^17.3.1: 2287 | version "17.7.2" 2288 | resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" 2289 | integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== 2290 | dependencies: 2291 | cliui "^8.0.1" 2292 | escalade "^3.1.1" 2293 | get-caller-file "^2.0.5" 2294 | require-directory "^2.1.1" 2295 | string-width "^4.2.3" 2296 | y18n "^5.0.5" 2297 | yargs-parser "^21.1.1" 2298 | 2299 | yocto-queue@^0.1.0: 2300 | version "0.1.0" 2301 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" 2302 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2303 | --------------------------------------------------------------------------------