├── .gitignore ├── README.md ├── env.d.ts ├── manifest.json ├── options.html ├── package-lock.json ├── package.json ├── popup.html ├── public └── img │ └── logo.png ├── src ├── apiServer.ts ├── assets │ ├── chat-card.css │ ├── global.css │ ├── options.css │ └── popup.css ├── background │ ├── chatgpt.ts │ └── server.ts ├── content │ ├── ChatCard.vue │ └── content.ts ├── options │ ├── App.vue │ ├── Conversation.vue │ ├── Home.vue │ ├── Shortcuts.vue │ ├── main.ts │ ├── prompt.vue │ ├── settings.vue │ └── style.css ├── popup │ ├── Popup.vue │ ├── index.ts │ └── style.css └── utils.ts ├── tsconfig.config.json ├── tsconfig.json ├── vite.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | *.log 3 | build/ 4 | .DS_Store 5 | .idea/ 6 | node_modules/ 7 | dist/ 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ChatGPT Plus 2 | A browser plugin that enhances the ability of ChatGPT. 3 | 4 | The current abilities include: 5 | - Auto-Prompt generation from highlighted text. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ChatGPT Plus", 3 | "manifest_version": 3, 4 | "description": "A browser plugin that enhances the ability of ChatGPT", 5 | "version": "1.0.3", 6 | "icons": { 7 | "16": "img/logo.png", 8 | "32": "img/logo.png", 9 | "48": "img/logo.png", 10 | "128": "img/logo.png" 11 | }, 12 | "action":{ 13 | "default_popup": "popup.html", 14 | "default_icon": "img/logo.png" 15 | }, 16 | "background": { 17 | "service_worker": "src/background/server.ts" 18 | }, 19 | "content_scripts": [{ 20 | "matches": ["http://*/*", "https://*/*"], 21 | "js": ["src/content/content.ts"] 22 | }], 23 | "options_page": "options.html", 24 | "permissions": ["contextMenus","storage","tab"], 25 | "host_permissions": [ 26 | "http://*/", 27 | "https://*/" 28 | ], 29 | "web_accessible_resources": [{ 30 | "matches": ["http://*/*", "https://*/*"], 31 | "resources": ["content.css","options.css"] 32 | }] 33 | } 34 | -------------------------------------------------------------------------------- /options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ChatGPT-Plus 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chatgpt-plus", 3 | "version": "0.0.0", 4 | "private": true, 5 | "author": "zero", 6 | "type": "module", 7 | "keywords": [ 8 | "chrome-extension" 9 | ], 10 | "engines": { 11 | "node": ">=14.18.0" 12 | }, 13 | "scripts": { 14 | "dev": "vite", 15 | "build": "run-p type-check build-only", 16 | "preview": "vite preview", 17 | "build-only": "vite build", 18 | "type-check": "vue-tsc --noEmit", 19 | "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" 20 | }, 21 | "dependencies": { 22 | "@element-plus/icons-vue": "^2.0.10", 23 | "element-plus": "^2.2.28", 24 | "marked": "^4.2.12", 25 | "uuid": "^9.0.0", 26 | "vue": "^3.2.45", 27 | "vue-router": "^4.1.6" 28 | }, 29 | "devDependencies": { 30 | "@crxjs/vite-plugin": "^2.0.0-beta.10", 31 | "@rushstack/eslint-patch": "^1.1.4", 32 | "@types/chrome": "^0.0.208", 33 | "@types/marked": "^4.0.8", 34 | "@types/node": "^18.11.12", 35 | "@types/uuid": "^9.0.0", 36 | "@vitejs/plugin-vue": "^4.0.0", 37 | "@vue/eslint-config-prettier": "^7.0.0", 38 | "@vue/eslint-config-typescript": "^11.0.0", 39 | "@vue/tsconfig": "^0.1.3", 40 | "eslint": "^8.22.0", 41 | "eslint-plugin-vue": "^9.3.0", 42 | "npm-run-all": "^4.1.5", 43 | "prettier": "^2.7.1", 44 | "typescript": "~4.7.4", 45 | "vite": "^4.0.0", 46 | "vue-tsc": "^1.0.12" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /popup.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zerodocom/ChatGPT-Plus/4bf35ed2cf8178281a956ae98548c153ef6ff1d2/popup.html -------------------------------------------------------------------------------- /public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zerodocom/ChatGPT-Plus/4bf35ed2cf8178281a956ae98548c153ef6ff1d2/public/img/logo.png -------------------------------------------------------------------------------- /src/apiServer.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | enum RequestTarget { 4 | Background, 5 | CurrentTab, 6 | } 7 | 8 | async function request(target: RequestTarget|number, uri: any, method: any, data: any) { 9 | let payload = { 10 | uri: uri, 11 | method: method, 12 | data: data, 13 | }; 14 | if(target === RequestTarget.Background){ 15 | return chrome.runtime.sendMessage(payload); 16 | }else if(target === RequestTarget.CurrentTab){ 17 | chrome.tabs.query({active: true, currentWindow: true}, function(tabs:any) { 18 | console.log("send data to tabId", tabs[0], payload); 19 | chrome.tabs.sendMessage(tabs[0].id, payload); 20 | }); 21 | }else{ 22 | return chrome.tabs.sendMessage(target, payload); 23 | } 24 | } 25 | 26 | class Server { 27 | apiRoutes: {[key:string]:any}; 28 | constructor() { 29 | this.apiRoutes = {}; 30 | } 31 | 32 | private getRouteKey(uri:string, method:string):string { 33 | return uri + "#" + method; 34 | } 35 | 36 | public run(){ 37 | // todo: 可以把这个与修饰时候的结构函数合一 38 | console.log("Start APIServer", this.apiRoutes); 39 | let self = this; 40 | chrome.runtime.onMessage.addListener( function(request:any, sender:any, sendResponse:any) { 41 | // onMessage.addListener not support async function 42 | (async () => { 43 | if (request.uri && request.method) { 44 | console.log("API:", "from tabId", sender.tab, request); 45 | let execFunc = self.apiRoutes[self.getRouteKey(request.uri, request.method)]; 46 | let data = {}; 47 | if (request.data){ 48 | data = request.data; 49 | } 50 | if(execFunc){ 51 | let resWrapper = execFunc(data); 52 | let res; 53 | if(resWrapper instanceof Promise){ 54 | res = await resWrapper; 55 | }else{ 56 | res = resWrapper; 57 | } 58 | console.log("exec:",res); 59 | sendResponse(res); 60 | }else{ 61 | console.error("API not found", "from tabId", sender.tab, request); 62 | } 63 | } else { 64 | console.log("unknown request", request); 65 | } 66 | })(); 67 | return true; 68 | }); 69 | } 70 | public route(uri:string, method:string):any { 71 | let self = this; 72 | return async function (targetClass: any, propertyKey: string, descriptor?: any) { 73 | console.log("Set uri", uri, "method", method, "function", targetClass[propertyKey]); 74 | self.apiRoutes[self.getRouteKey(uri, method)] = targetClass[propertyKey]; 75 | } 76 | } 77 | 78 | 79 | 80 | } 81 | 82 | export {Server}; 83 | export {request}; 84 | export {RequestTarget}; 85 | -------------------------------------------------------------------------------- /src/assets/chat-card.css: -------------------------------------------------------------------------------- 1 | .chat-card{ 2 | width: 800px; 3 | position: absolute; 4 | left: 10px; 5 | top: 10px; 6 | background: #FFF; 7 | border: 1px solid #dee2e5; 8 | border-radius: 3px; 9 | box-shadow: 0px 2px 16px rgb(0 0 0 / 16%); 10 | z-index: 99999999; 11 | color: #000; 12 | font-size: 16px; 13 | line-height: 28px; 14 | } 15 | 16 | .chat-card .chat-item-me{ 17 | padding: 20px; 18 | border-bottom: 1px solid #ddd; 19 | } 20 | 21 | .chat-card .chat-item-ai{ 22 | padding: 20px; 23 | background-color: #f6f6f7; 24 | border-bottom: 1px solid #ddd; 25 | } 26 | 27 | /*.chat-card .chat-icon{*/ 28 | /* height: 30px;*/ 29 | /* width: 30px;*/ 30 | /* background-color: #aaa;*/ 31 | /* border-radius: 2px;*/ 32 | /*}*/ 33 | 34 | .chat-error { 35 | border: 1px red solid; 36 | border-radius: 5px; 37 | padding: 10px; 38 | background: #f1e0e2; 39 | color: #444; 40 | } 41 | .chat-card pre { 42 | background: #ddd; 43 | padding: 20px; 44 | } 45 | .settings { 46 | margin-right: 10px; 47 | cursor: pointer; 48 | color: #777; 49 | } 50 | .continue-btn{ 51 | text-decoration: none; 52 | } 53 | .continue-btn button{ 54 | border-radius: 4px; 55 | border: 1px solid #AAA; 56 | color: #000; 57 | } -------------------------------------------------------------------------------- /src/assets/global.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zerodocom/ChatGPT-Plus/4bf35ed2cf8178281a956ae98548c153ef6ff1d2/src/assets/global.css -------------------------------------------------------------------------------- /src/assets/options.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zerodocom/ChatGPT-Plus/4bf35ed2cf8178281a956ae98548c153ef6ff1d2/src/assets/options.css -------------------------------------------------------------------------------- /src/assets/popup.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zerodocom/ChatGPT-Plus/4bf35ed2cf8178281a956ae98548c153ef6ff1d2/src/assets/popup.css -------------------------------------------------------------------------------- /src/background/chatgpt.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | const endpoint = "https://chat.openai.com"; 4 | let accessToken; 5 | 6 | async function authFetch(input: RequestInfo | URL, init: RequestInit = {}){ 7 | const accessToken = await getAccessToken(); 8 | let initData = init; 9 | if(!initData.headers){ 10 | initData.headers = {}; 11 | } 12 | // @ts-ignore 13 | initData.headers['Authorization'] = "Bearer " + accessToken; 14 | // @ts-ignore 15 | initData.headers['Content-Type'] = 'application/json'; 16 | return await fetch(input, init); 17 | } 18 | 19 | async function getAccessToken(): Promise { 20 | const resp = await fetch(endpoint +'/api/auth/session'); 21 | if (resp.status === 403) { 22 | return undefined; 23 | } 24 | const data = await resp.json().catch(() => ({})) 25 | if (!data.accessToken) { 26 | return undefined; 27 | } 28 | accessToken = data.accessToken; 29 | return data.accessToken; 30 | } 31 | 32 | async function getConversations(offset:number, limit:number){ 33 | const url = endpoint +'/backend-api/conversations?offset=' + offset + "&limit=" + limit; 34 | const resp = await authFetch(url); 35 | const data = resp.json(); 36 | return data; 37 | } 38 | 39 | async function getConversation(conversationId:string){ 40 | const url = 'https://chat.openai.com/backend-api/conversation/' + conversationId; 41 | const resp = await authFetch(url); 42 | const data = resp.json(); 43 | return data; 44 | } 45 | 46 | async function getChatModels(){ 47 | const url = endpoint +'/backend-api/models'; 48 | const resp = await authFetch(url); 49 | const data = resp.json(); 50 | return data; 51 | } 52 | 53 | async function getAllConversations(){ 54 | 55 | const limit = 100; 56 | const result = await getConversations(0, 1); 57 | let total = result.total; 58 | // sync less than 1000 records 59 | if(total > 1000){ 60 | total = 1000; 61 | } 62 | console.log(result); 63 | let items:any[] = []; 64 | for (let page = 0; page < total; page += limit) { 65 | let result = await getConversations(page, limit); 66 | console.log(result); 67 | items = items.concat(result["items"]); 68 | } 69 | return items; 70 | } 71 | 72 | export {getAccessToken}; 73 | export {getAllConversations}; 74 | export {getConversation}; -------------------------------------------------------------------------------- /src/background/server.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import {Server,request, RequestTarget} from "../apiServer"; 4 | import { v4 as uuid } from 'uuid'; 5 | import {getAllConversations, getAccessToken, getConversation} from "./chatgpt"; 6 | 7 | async function storageSet(key:string, value:any){ 8 | return await chrome.storage.local.set({[key]: value}); 9 | } 10 | 11 | async function storageGet(key:string){ 12 | const result = await chrome.storage.local.get([key]); 13 | console.log(result); 14 | return result[key]; 15 | } 16 | 17 | async function delay(ms: number): Promise { 18 | // return await for better async stack trace support in case of errors. 19 | return await new Promise(resolve => setTimeout(resolve, ms)); 20 | } 21 | 22 | let promptReader: any = null; 23 | let promptTabId: any = null; 24 | 25 | async function queryReceiver() { 26 | 27 | while (true){ 28 | if(promptReader !== null){ 29 | while (true){ 30 | const { value, done } = await promptReader.read(); 31 | if (done){ 32 | promptReader = null; 33 | promptTabId = null; 34 | await request(promptTabId, "/api/v1/content/chatDone", "POST", {}); 35 | break; 36 | } 37 | try{ 38 | console.log(value); 39 | for (const rawData of value.trim().split("\n")) { 40 | if(rawData.trim() == "") { 41 | console.log("empty data"); 42 | continue; 43 | } 44 | let raw = rawData.slice(5); 45 | if(raw.trim() == ""){ 46 | console.log("empty data"); 47 | continue; 48 | } 49 | if(raw.trim() == "[DONE]"){ 50 | console.log("read stream done"); 51 | await request(promptTabId, "/api/v1/content/chatDone", "POST", {}); 52 | break; 53 | } 54 | let data = JSON.parse(raw); 55 | console.log(data); 56 | await request(promptTabId, "/api/v1/content/chatReceive", "POST", data); 57 | } 58 | }catch(err) { 59 | console.log(value); 60 | console.error(err); 61 | } 62 | } 63 | } 64 | await delay(1000); 65 | } 66 | 67 | } 68 | 69 | chrome.contextMenus.onClicked.addListener(async (info:any, tab:any) => { 70 | 71 | console.log("info from contextMenus click", info, tab); 72 | 73 | const shortcutInfo = await getShortcutById(info.menuItemId); 74 | if(shortcutInfo){ 75 | const sessionInfo = await getLocalSession(); 76 | const content = shortcutInfo.promptTemplate.replace("#delimiting text#", info.selectionText); 77 | 78 | promptTabId = tab.id; 79 | if(shortcutInfo.conversation == "new"){ 80 | await chatgptConversation(content, sessionInfo.accessToken); 81 | }else{ 82 | const conversationInfo = await getShortcutConversation(shortcutInfo.conversation); 83 | await chatgptConversation(content, sessionInfo.accessToken, shortcutInfo.conversation, conversationInfo.current_node); 84 | 85 | } 86 | 87 | await request(promptTabId, "/api/v1/content/openChat", "POST", {}); 88 | await request(promptTabId, "/api/v1/content/chatClear", "POST", {}); 89 | await request(promptTabId, "/api/v1/content/chatStart", "POST", { 90 | "content": content, 91 | "userImage": sessionInfo.user.image, 92 | }); 93 | 94 | } 95 | 96 | }); 97 | 98 | queryReceiver().then(function(){ 99 | 100 | }); 101 | 102 | async function chatgptConversation(content:string, accessToken:string, conversationId:string|null = null, parentMessageId:string|null = null){ 103 | 104 | let payload = new Map(); 105 | 106 | payload.set("action", "next"); 107 | payload.set("messages", [ 108 | { 109 | id: uuid(), 110 | role: 'user', 111 | content: { 112 | content_type: 'text', 113 | parts: [content], 114 | }, 115 | }, 116 | ]); 117 | 118 | payload.set("model",'text-davinci-002-render-sha'); 119 | // payload.set("model", 'ext-davinci-002-render-paid'); 120 | // payload.set("parent_message_id", uuid()); 121 | 122 | if(conversationId){ 123 | payload.set("conversation_id", conversationId); 124 | payload.set("parent_message_id", parentMessageId); 125 | }else{ 126 | payload.set("parent_message_id", uuid()); 127 | } 128 | 129 | fetch('https://chat.openai.com/backend-api/conversation', { 130 | method: 'POST', 131 | headers: { 132 | 'Content-Type': 'application/json', 133 | 'Authorization': "Bearer " + accessToken, 134 | }, 135 | body: JSON.stringify(Object.fromEntries(payload)), 136 | }).then(function(response){ 137 | if(response.status == 200 && response.body) { 138 | promptReader = response.body.pipeThrough(new TextDecoderStream()).getReader(); 139 | }else{ 140 | response.text().then(function(result:string) { 141 | let errorInfo:string; 142 | try{ 143 | errorInfo = JSON.parse(result).detail; 144 | }catch (err){ 145 | errorInfo = result; 146 | } 147 | request(promptTabId, "/api/v1/content/chatReceive", "POST", {errorMessage: errorInfo}) 148 | }); 149 | } 150 | }); 151 | 152 | } 153 | 154 | async function getShortcuts():Promise{ 155 | let shortcutData = await chrome.storage.local.get(["shortcuts"]); 156 | if(Array.isArray(shortcutData.shortcuts)){ 157 | return shortcutData["shortcuts"]; 158 | }else{ 159 | const initData = { 160 | "name": "ChatGPT Prompt", 161 | "id": uuid(), 162 | "target": "chat.openai.com", 163 | "conversation": "new", 164 | "promptTemplate": "#delimiting text#", 165 | }; 166 | contextMenuAdd(initData); 167 | await storageSet("shortcuts", [initData]); 168 | return [initData]; 169 | } 170 | } 171 | 172 | async function getShortcutById(itemId:string){ 173 | const result = (await getShortcuts()).filter((item) => { return item.id == itemId}); 174 | if(result.length > 0){ 175 | return result[0]; 176 | } 177 | } 178 | 179 | async function getLocalSession(){ 180 | const sessionData = await chrome.storage.local.get(["chatgpt-session"]); 181 | return sessionData["chatgpt-session"]; 182 | } 183 | 184 | function contextMenuAdd(item:any){ 185 | chrome.contextMenus.create({ 186 | "id": item.id, 187 | "type": "normal", 188 | "title": item.name, 189 | "contexts":["selection"], 190 | }); 191 | } 192 | 193 | function contextMenuUpdate(item:any){ 194 | chrome.contextMenus.update(item.id, { 195 | title: item.name 196 | }) 197 | } 198 | 199 | async function getShortcutConversation(conversationId:string){ 200 | const result = await storageGet("shortcut-conversations"); 201 | return result[conversationId]; 202 | } 203 | 204 | getShortcuts().then(function(menuList:any[]){ 205 | menuList.forEach(function(menu:any){ 206 | contextMenuAdd(menu); 207 | }); 208 | }); 209 | 210 | async function _syncChatGptConversationsShortcut(){ 211 | const shortcuts = await getShortcuts(); 212 | let details:any = {}; 213 | for (const shortcut of shortcuts) { 214 | if(shortcut.conversation && shortcut.conversation != "new"){ 215 | details[shortcut.conversation] = await getConversation(shortcut.conversation); 216 | } 217 | } 218 | console.log("chatgpt shortcut conversations sync done"); 219 | await storageSet("shortcut-conversations", details); 220 | } 221 | 222 | let server = new Server(); 223 | const apiVersion = "/api/v1"; 224 | 225 | class API { 226 | // @server.route(apiVersion + "/settings", "GET") 227 | // public async settingsGet(data: any) { 228 | // data["kkk"] = "aa1s22sss"; 229 | // return data; 230 | // } 231 | 232 | // @server.route(apiVersion + "/chatgpt/conversations", "GET") 233 | // public async getChatGptConversations(data: any) { 234 | // let conversations = getAllConversations(); 235 | // return conversations; 236 | // } 237 | 238 | @server.route(apiVersion + "/chatgpt/conversations/sync", "POST") 239 | public async syncChatGptConversations(data: any) { 240 | const lastSyncTime = await chrome.storage.local.get(["last-sync-conversation-time"]); 241 | if(lastSyncTime["last-sync-conversation-time"]){ 242 | const passSeconds = (new Date()).getTime()/1000 - (new Date(lastSyncTime["last-sync-conversation-time"])).getTime()/1000 - (new Date()).getTime()/1000; 243 | if (passSeconds < 3600){ 244 | return {"result": false, "message": "No need to sync conversations in 1 hour"}; 245 | } 246 | } 247 | console.log(lastSyncTime); 248 | let conversations = await getAllConversations(); 249 | if (conversations !== null) { 250 | await storageSet("chatgpt-conversations", conversations); 251 | } 252 | await storageSet("last-sync-conversation-time", (new Date()).toISOString()); 253 | console.log("chatgpt conversations sync done"); 254 | return {"result": true}; 255 | } 256 | 257 | @server.route(apiVersion + "/chatgpt/conversations/syncLock/clear", "POST") 258 | public async conversationsSyncLockClear(data: any){ 259 | await chrome.storage.local.remove("last-sync-conversation-time"); 260 | } 261 | 262 | @server.route(apiVersion + "/chatgpt/conversations/shortcut/sync", "POST") 263 | public async syncChatGptConversationsShortcut(data: any) { 264 | await _syncChatGptConversationsShortcut(); 265 | } 266 | 267 | 268 | @server.route(apiVersion + "/chatgpt/conversations/lastSyncTime", "GET") 269 | public async chatGptConversationsLastSyncTime(data: any) { 270 | const lastSyncTime = await chrome.storage.local.get(["last-sync-conversation-time"]); 271 | return { 272 | "time": lastSyncTime["last-sync-conversation-time"] 273 | }; 274 | } 275 | 276 | @server.route(apiVersion + "/local/conversations/chatgpt", "GET") 277 | public async getLocalChatGptConversations(data: any) { 278 | const storageData = await chrome.storage.local.get(["chatgpt-conversations"]); 279 | if (storageData['chatgpt-conversations'] && Array.isArray(storageData['chatgpt-conversations'])) { 280 | return storageData['chatgpt-conversations']; 281 | } else { 282 | return []; 283 | } 284 | }; 285 | 286 | @server.route(apiVersion + "/shortcuts", "GET") 287 | public async getShortcuts(data: any){ 288 | return await getShortcuts(); 289 | } 290 | 291 | @server.route(apiVersion + "/shortcuts", "POST") 292 | public async createShortcut(data: any){ 293 | let shortcuts = await getShortcuts(); 294 | shortcuts.push({ 295 | "name": data.name, 296 | "id": data.id, 297 | "target": data.target, 298 | "conversation": data.conversation, 299 | "promptTemplate": data.promptTemplate, 300 | }); 301 | contextMenuAdd(data); 302 | await storageSet("shortcuts", shortcuts); 303 | await _syncChatGptConversationsShortcut(); 304 | return data; 305 | } 306 | 307 | @server.route(apiVersion + "/shortcut/update", "POST") 308 | public async updateShortcut(data: any){ 309 | let shortcuts = await getShortcuts(); 310 | shortcuts.forEach(function(shortcut:any){ 311 | if(shortcut.id != data.id){ 312 | return; 313 | } 314 | shortcut.name = data.name; 315 | shortcut.target = data.target; 316 | shortcut.conversation = data.conversation; 317 | shortcut.promptTemplate = data.promptTemplate; 318 | }); 319 | contextMenuUpdate(data); 320 | await storageSet("shortcuts", shortcuts); 321 | await _syncChatGptConversationsShortcut(); 322 | return data; 323 | } 324 | 325 | @server.route(apiVersion + "/shortcut", "DELETE") 326 | public async deleteShortcut(data: any){ 327 | let shortcuts = await getShortcuts(); 328 | await storageSet("shortcuts", 329 | shortcuts.filter(function(shortcut:any){ 330 | if(shortcut.id == data.id){ 331 | return false; 332 | }else{ 333 | return true; 334 | } 335 | }) 336 | ); 337 | chrome.contextMenus.remove(data.id); 338 | return data; 339 | } 340 | 341 | @server.route(apiVersion + "/chatgpt/session/refresh", "POST") 342 | public async sessionRefresh(data: any){ 343 | const localSessionData = await chrome.storage.local.get(["chatgpt-session"]); 344 | if(localSessionData["chatgpt-session"] && localSessionData["chatgpt-session"]["expires"] != ""){ 345 | const leftSeconds = (new Date(localSessionData["chatgpt-session"]["expires"])).getTime()/1000 - (new Date()).getTime()/1000 346 | if (leftSeconds / 86400 > 28){ 347 | return {"result": false, "message": "No need to refresh the access token."}; 348 | } 349 | } 350 | const resp = await fetch('https://chat.openai.com/api/auth/session'); 351 | if (resp.status === 403) { 352 | return {"result": false, "message": "Please login first."}; 353 | } 354 | const sessionData = await resp.json().catch(() => ({})); 355 | if (sessionData.accessToken){ 356 | await storageSet("chatgpt-session", sessionData); 357 | return {"result":true, "message": "Refresh success."}; 358 | } 359 | return {"result":false, "message": "Refresh failed." }; 360 | } 361 | 362 | @server.route(apiVersion + "/chatgpt/session", "GET") 363 | public async sessionGet(data: any){ 364 | const sessionData = await chrome.storage.local.get(["chatgpt-session"]); 365 | return sessionData["chatgpt-session"]; 366 | } 367 | 368 | @server.route(apiVersion + "/chatgpt/session/clear", "POST") 369 | public async sessionClear(data: any){ 370 | await chrome.storage.local.remove("chatgpt-session"); 371 | } 372 | 373 | @server.route(apiVersion + "/open/shortcut", "GET") 374 | public async openShortcut(data: any){ 375 | await chrome.tabs.create({ url: 'chrome-extension://' + chrome.runtime.id + '/options.html#/shortcut' }); 376 | } 377 | 378 | 379 | } 380 | 381 | new API(); 382 | server.run(); -------------------------------------------------------------------------------- /src/content/ChatCard.vue: -------------------------------------------------------------------------------- 1 | 2 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/content/content.ts: -------------------------------------------------------------------------------- 1 | import {createApp} from 'vue'; 2 | import App from "./ChatCard.vue"; 3 | import ElementPlus from "element-plus"; 4 | import {request, RequestTarget, Server} from "../apiServer"; 5 | 6 | // let selectionStores:{[key:string]:any} = {}; 7 | // let respLayerOrigin = document.createElement("chatgpt-plus-layer"); 8 | // let respLayer = respLayerOrigin.attachShadow({mode: 'open'}); 9 | // 10 | // let head = document.createElement("head"); 11 | // respLayer.appendChild(head); 12 | // let body = document.createElement("body"); 13 | // respLayer.appendChild(body); 14 | // 15 | // let linkContent = document.createElement("link"); 16 | // linkContent.rel = "stylesheet"; 17 | // linkContent.href= "chrome-extension://" + chrome.runtime.id + "/content.css"; 18 | // head.appendChild(linkContent); 19 | // 20 | // let linkOptions = document.createElement("link"); 21 | // linkOptions.rel = "stylesheet"; 22 | // linkOptions.href= "chrome-extension://" + chrome.runtime.id + "/options.css"; 23 | // head.appendChild(linkOptions); 24 | 25 | let respLayer:ShadowRoot; 26 | let respLayerOrigin: HTMLElement; 27 | 28 | function layerInit(){ 29 | 30 | respLayerOrigin = document.createElement("chatgpt-plus-layer"); 31 | respLayer = respLayerOrigin.attachShadow({mode: 'open'}); 32 | 33 | let head = document.createElement("head"); 34 | respLayer.appendChild(head); 35 | let body = document.createElement("body"); 36 | respLayer.appendChild(body); 37 | 38 | let linkContent = document.createElement("link"); 39 | linkContent.rel = "stylesheet"; 40 | linkContent.href= "chrome-extension://" + chrome.runtime.id + "/content.css"; 41 | head.appendChild(linkContent); 42 | 43 | let linkOptions = document.createElement("link"); 44 | linkOptions.rel = "stylesheet"; 45 | linkOptions.href= "chrome-extension://" + chrome.runtime.id + "/options.css"; 46 | head.appendChild(linkOptions); 47 | 48 | console.log("try !!to enable response-layer"); 49 | document.getElementsByTagName("html")[0].appendChild(respLayerOrigin); 50 | const app = createApp(App); 51 | app.use(ElementPlus).mount(body); 52 | 53 | document.addEventListener("click", function(event){ 54 | let chatCard = respLayer.querySelector(".chat-card")!; 55 | if(chatCard !== null){ 56 | if(event.target === respLayerOrigin || event.target === chatCard || chatCard.contains(event.target as HTMLInputElement)){ 57 | // click in respBox 58 | }else{ 59 | chatHide(); 60 | } 61 | } 62 | }); 63 | } 64 | 65 | function chatDisplay(){ 66 | let chatCard = respLayer.querySelector(".chat-card")!; 67 | let position = window!.getSelection()!.getRangeAt(0).getBoundingClientRect(); 68 | console.log(chatCard); 69 | chatCard.style.top = (window.scrollY + position.top + position.height + 5) + "px"; 70 | chatCard.style.left = position.left + "px"; 71 | chatCard.style.display = "block"; 72 | } 73 | 74 | function chatHide(){ 75 | let chatCard = respLayer.querySelector(".chat-card")!; 76 | chatCard.style.display = "none"; 77 | } 78 | 79 | 80 | let contentApi = new Server(); 81 | class ContentAPI { 82 | @contentApi.route("/api/v1/content/openChat", "POST") 83 | public async openChat(data:any) { 84 | let layer = document.querySelector("chatgpt-plus-layer"); 85 | if(layer === null) { 86 | layerInit(); 87 | } 88 | chatDisplay(); 89 | return {"result": true}; 90 | } 91 | } 92 | 93 | contentApi.run(); 94 | new ContentAPI(); 95 | 96 | async function chatgptPage(){ 97 | console.log("start sync"); 98 | await request(RequestTarget.Background, "/api/v1/chatgpt/conversations/sync", "POST", {}); 99 | await request(RequestTarget.Background, "/api/v1/chatgpt/conversations/shortcut/sync", "POST", {}); 100 | const refreshResult = await request(RequestTarget.Background, "/api/v1/chatgpt/session/refresh", "POST", {}); 101 | console.log(refreshResult); 102 | console.log("do sync!"); 103 | } 104 | 105 | // when https://chat.openai.com/chat is open, do something 106 | if (window.location.hostname === "chat.openai.com" && window.location.pathname.startsWith("/chat")){ 107 | 108 | // const newChatElement = document!.querySelector("nav")!.children[0] as HTMLElement; 109 | // newChatElement.style.width = '70%'; 110 | // let searchElement = document.createElement("div"); 111 | // searchElement.className = "text-white"; 112 | // searchElement.innerText = "Search"; 113 | // searchElement.style.width = "30%"; 114 | // searchElement.style.right = "0px"; 115 | // searchElement.style.paddingLeft = "10px"; 116 | // searchElement.style.paddingTop = "5px"; 117 | // searchElement.style.cursor = "pointer"; 118 | // searchElement.style.position = "absolute"; 119 | // newChatElement.after(searchElement); 120 | 121 | chatgptPage().then(function (){ 122 | console.log("chatgpt page done!"); 123 | }); 124 | } 125 | 126 | export {}; -------------------------------------------------------------------------------- /src/options/App.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/options/Conversation.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 124 | 125 | -------------------------------------------------------------------------------- /src/options/Home.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/options/Shortcuts.vue: -------------------------------------------------------------------------------- 1 | 49 | 50 | 192 | -------------------------------------------------------------------------------- /src/options/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue'; 2 | import ElementPlus from 'element-plus'; 3 | import 'element-plus/dist/index.css'; 4 | import './style.css'; 5 | import {ChatSquare,CollectionTag,Opportunity,Setting} from "@element-plus/icons-vue"; 6 | import App from './App.vue'; 7 | import { createWebHashHistory, createRouter } from "vue-router"; 8 | import Conversation from "./Conversation.vue"; 9 | import Prompt from "./Prompt.vue"; 10 | import Settings from "./Settings.vue"; 11 | import Shortcut from "./Shortcuts.vue"; 12 | import Home from "./Home.vue"; 13 | 14 | const routes = [ 15 | { 16 | path: "/", 17 | name: "Home", 18 | component: Home, 19 | }, 20 | { 21 | path: "/conversation", 22 | name: "Conversation", 23 | component: Conversation, 24 | }, 25 | { 26 | path: "/prompt", 27 | name: "Prompt", 28 | component: Prompt, 29 | }, 30 | { 31 | path: "/shortcut", 32 | name: "Shortcut", 33 | component: Shortcut, 34 | }, 35 | { 36 | path: "/settings", 37 | name: "Settings", 38 | component: Settings, 39 | }, 40 | ]; 41 | 42 | const router = createRouter({ 43 | history: createWebHashHistory(), 44 | routes: routes, 45 | }); 46 | 47 | const app = createApp(App); 48 | app.component("ChatSquare", ChatSquare); 49 | app.component("CollectionTag", CollectionTag); 50 | app.component("Opportunity", Opportunity); 51 | app.component("Setting", Setting); 52 | app.use(router); 53 | // app.use() 54 | app.use(ElementPlus).mount('#app'); 55 | -------------------------------------------------------------------------------- /src/options/prompt.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/options/settings.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 59 | -------------------------------------------------------------------------------- /src/options/style.css: -------------------------------------------------------------------------------- 1 | html { 2 | height: 100%; 3 | } 4 | 5 | body { 6 | min-width: 30rem; 7 | margin: 0px; 8 | height: 100%; 9 | } 10 | 11 | .sidebar{ 12 | margin: 0px; 13 | background-color: #202123; 14 | } 15 | 16 | .sidebar .menu { 17 | border-right: 0px; 18 | } 19 | 20 | .options-app{ 21 | height: 100%; 22 | } 23 | 24 | .options-container{ 25 | height: 100%; 26 | } 27 | 28 | .conversation-table a{ 29 | text-decoration: none; 30 | } 31 | 32 | .shortcut-item-target-desc{ 33 | font-weight: 300; 34 | margin-left: 20px; 35 | color: #aaa; 36 | } 37 | 38 | .el-input__wrapper.is-focus{ 39 | box-shadow: 0 0 0 1px #13a27e inset; 40 | } 41 | .el-button--primary { 42 | background-color: #13a27e; 43 | } 44 | 45 | .new-shortcut{ 46 | margin-top: 20px; 47 | cursor: pointer; 48 | } 49 | 50 | .el-radio-button__original-radio:checked+.el-radio-button__inner{ 51 | background-color: #13a27e; 52 | border-color: #13a27e; 53 | } 54 | 55 | .el-button:focus, .el-button:hover { 56 | border-color: var(--el-button-hover-border-color); 57 | background-color: var(--el-button-hover-bg-color); 58 | } 59 | 60 | .chat-icon{ 61 | height: 30px; 62 | width: 30px; 63 | background-color: #aaa; 64 | border-radius: 2px; 65 | } 66 | 67 | .person-info{ 68 | width: 300px; 69 | display: flex; 70 | } 71 | .person-info .person-info-text { 72 | margin-left: 10px; 73 | width: 260px; 74 | } 75 | .person-ak-update-time{ 76 | float: right; 77 | margin-top: -30px; 78 | color: #AAA; 79 | } 80 | .person-ak-update-time a{ 81 | text-decoration: none; 82 | } 83 | .person-login a{ 84 | text-decoration: none; 85 | } -------------------------------------------------------------------------------- /src/popup/Popup.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 65 | 66 | 111 | -------------------------------------------------------------------------------- /src/popup/index.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue'; 2 | import ElementPlus from 'element-plus'; 3 | import 'element-plus/dist/index.css'; 4 | import {ChatSquare,CollectionTag,Opportunity,Setting} from "@element-plus/icons-vue"; 5 | import './style.css'; 6 | import App from './Popup.vue'; 7 | 8 | const app = createApp(App); 9 | app.component("ChatSquare", ChatSquare); 10 | app.component("CollectionTag", CollectionTag); 11 | app.component("Opportunity", Opportunity); 12 | app.component("Setting", Setting); 13 | app.use(ElementPlus).mount('#app'); 14 | -------------------------------------------------------------------------------- /src/popup/style.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif; 3 | font-size: 16px; 4 | line-height: 24px; 5 | font-weight: 400; 6 | 7 | color-scheme: light dark; 8 | color: rgba(255, 255, 255, 0.87); 9 | background-color: #FFF; 10 | 11 | font-synthesis: none; 12 | text-rendering: optimizeLegibility; 13 | -webkit-font-smoothing: antialiased; 14 | -moz-osx-font-smoothing: grayscale; 15 | -webkit-text-size-adjust: 100%; 16 | } 17 | 18 | body { 19 | min-width: 30rem; 20 | margin: 0px; 21 | } 22 | 23 | @media (prefers-color-scheme: light) { 24 | :root { 25 | color: #213547; 26 | background-color: #ffffff; 27 | } 28 | a:hover { 29 | color: #747bff; 30 | } 31 | } 32 | 33 | .sidebar{ 34 | width: 60px; 35 | background-color: #202123; 36 | } 37 | 38 | .sidebar .menu{ 39 | border-right: 0px; 40 | } 41 | 42 | /*.sidebar li {*/ 43 | /* padding: 0px 0px 0px 8px;*/ 44 | /*}*/ 45 | 46 | .chatgpt-btn-default { 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | function timeFormat(isoDate:string):string{ 4 | const syncDate = new Date(isoDate); 5 | const year = syncDate.getFullYear(); 6 | const month = syncDate.getMonth() + 1; 7 | const day = syncDate.getDate(); 8 | const hour = syncDate.getHours(); 9 | const minute = syncDate.getMinutes(); 10 | const second = syncDate.getSeconds(); 11 | return `${year}/${month}/${day} ${hour}:${minute}:${second}`; 12 | } 13 | 14 | export {timeFormat}; -------------------------------------------------------------------------------- /tsconfig.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.node.json", 3 | "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*","manifest.json"], 4 | "compilerOptions": { 5 | "composite": true, 6 | "types": ["node","chrome"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.web.json", 3 | "include": ["src/**/*", "src/**/*.vue"], 4 | "compilerOptions": { 5 | "baseUrl": ".", 6 | "paths": { 7 | "@/*": ["./src/*"] 8 | }, 9 | "experimentalDecorators": true, 10 | "emitDecoratorMetadata": true, 11 | "isolatedModules": true, 12 | "noImplicitThis": false 13 | }, 14 | "references": [ 15 | { 16 | "path": "./tsconfig.config.json" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from 'node:url' 2 | 3 | import { defineConfig } from 'vite' 4 | import vue from '@vitejs/plugin-vue' 5 | 6 | import { crx } from '@crxjs/vite-plugin'; 7 | import manifest from './manifest.json' 8 | 9 | // https://vitejs.dev/config/ 10 | export default defineConfig({ 11 | plugins: [ 12 | crx({ manifest }), 13 | vue() 14 | ], 15 | resolve: { 16 | alias: { 17 | '@': fileURLToPath(new URL('./src', import.meta.url)) 18 | } 19 | }, 20 | build:{ 21 | rollupOptions: { 22 | external: ['chrome'], 23 | output:{ 24 | assetFileNames: "[name].[ext]" 25 | } 26 | } 27 | } 28 | }) 29 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/parser@^7.16.4": 6 | "integrity" "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==" 7 | "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz" 8 | "version" "7.20.13" 9 | 10 | "@crxjs/vite-plugin@^2.0.0-beta.10": 11 | "integrity" "sha512-KhWZhXJkle/Bip7Q1KaU8t8GKomHhOEn9joegcltYepsInv4FjZ+CPdMVZhFmCYKKCAn+wAL2IiNYW4QQnSHsA==" 12 | "resolved" "https://registry.npmmirror.com/@crxjs/vite-plugin/-/vite-plugin-2.0.0-beta.11.tgz" 13 | "version" "2.0.0-beta.11" 14 | dependencies: 15 | "@rollup/pluginutils" "^4.1.2" 16 | "@webcomponents/custom-elements" "^1.5.0" 17 | "acorn-walk" "^8.2.0" 18 | "cheerio" "^1.0.0-rc.10" 19 | "connect-injector" "^0.4.4" 20 | "debug" "^4.3.3" 21 | "es-module-lexer" "^0.10.0" 22 | "fast-glob" "^3.2.11" 23 | "fs-extra" "^10.0.1" 24 | "jsesc" "^3.0.2" 25 | "magic-string" "^0.26.0" 26 | "picocolors" "^1.0.0" 27 | "react-refresh" "^0.13.0" 28 | "rollup" "2.78.1" 29 | "rxjs" "7.5.7" 30 | 31 | "@ctrl/tinycolor@^3.4.1": 32 | "integrity" "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==" 33 | "resolved" "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz" 34 | "version" "3.5.0" 35 | 36 | "@element-plus/icons-vue@^2.0.10", "@element-plus/icons-vue@^2.0.6": 37 | "integrity" "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==" 38 | "resolved" "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz" 39 | "version" "2.0.10" 40 | 41 | "@esbuild/darwin-x64@0.16.17": 42 | "integrity" "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==" 43 | "resolved" "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz" 44 | "version" "0.16.17" 45 | 46 | "@eslint/eslintrc@^1.4.1": 47 | "integrity" "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==" 48 | "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" 49 | "version" "1.4.1" 50 | dependencies: 51 | "ajv" "^6.12.4" 52 | "debug" "^4.3.2" 53 | "espree" "^9.4.0" 54 | "globals" "^13.19.0" 55 | "ignore" "^5.2.0" 56 | "import-fresh" "^3.2.1" 57 | "js-yaml" "^4.1.0" 58 | "minimatch" "^3.1.2" 59 | "strip-json-comments" "^3.1.1" 60 | 61 | "@floating-ui/core@^1.0.5": 62 | "integrity" "sha512-zbsLwtnHo84w1Kc8rScAo5GMk1GdecSlrflIbfnEBJwvTSj1SL6kkOYV+nHraMCPEy+RNZZUaZyL8JosDGCtGQ==" 63 | "resolved" "https://registry.npmmirror.com/@floating-ui/core/-/core-1.1.0.tgz" 64 | "version" "1.1.0" 65 | 66 | "@floating-ui/dom@^1.0.1": 67 | "integrity" "sha512-TSogMPVxbRe77QCj1dt8NmRiJasPvuc+eT5jnJ6YpLqgOD2zXc5UA3S1qwybN+GVCDNdKfpKy1oj8RpzLJvh6A==" 68 | "resolved" "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.1.0.tgz" 69 | "version" "1.1.0" 70 | dependencies: 71 | "@floating-ui/core" "^1.0.5" 72 | 73 | "@humanwhocodes/config-array@^0.11.8": 74 | "integrity" "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==" 75 | "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" 76 | "version" "0.11.8" 77 | dependencies: 78 | "@humanwhocodes/object-schema" "^1.2.1" 79 | "debug" "^4.1.1" 80 | "minimatch" "^3.0.5" 81 | 82 | "@humanwhocodes/module-importer@^1.0.1": 83 | "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" 84 | "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" 85 | "version" "1.0.1" 86 | 87 | "@humanwhocodes/object-schema@^1.2.1": 88 | "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" 89 | "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" 90 | "version" "1.2.1" 91 | 92 | "@nodelib/fs.scandir@2.1.5": 93 | "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" 94 | "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 95 | "version" "2.1.5" 96 | dependencies: 97 | "@nodelib/fs.stat" "2.0.5" 98 | "run-parallel" "^1.1.9" 99 | 100 | "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": 101 | "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" 102 | "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 103 | "version" "2.0.5" 104 | 105 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 106 | "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" 107 | "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 108 | "version" "1.2.8" 109 | dependencies: 110 | "@nodelib/fs.scandir" "2.1.5" 111 | "fastq" "^1.6.0" 112 | 113 | "@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": 114 | "integrity" "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" 115 | "resolved" "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz" 116 | "version" "2.11.7" 117 | 118 | "@rollup/pluginutils@^4.1.2": 119 | "integrity" "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==" 120 | "resolved" "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz" 121 | "version" "4.2.1" 122 | dependencies: 123 | "estree-walker" "^2.0.1" 124 | "picomatch" "^2.2.2" 125 | 126 | "@rushstack/eslint-patch@^1.1.4": 127 | "integrity" "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" 128 | "resolved" "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" 129 | "version" "1.2.0" 130 | 131 | "@types/chrome@^0.0.208": 132 | "integrity" "sha512-VDU/JnXkF5qaI7WBz14Azpa2VseZTgML0ia/g/B1sr9OfdOnHiH/zZ7P7qCDqxSlkqJh76/bPc8jLFcx8rHJmw==" 133 | "resolved" "https://registry.npmmirror.com/@types/chrome/-/chrome-0.0.208.tgz" 134 | "version" "0.0.208" 135 | dependencies: 136 | "@types/filesystem" "*" 137 | "@types/har-format" "*" 138 | 139 | "@types/filesystem@*": 140 | "integrity" "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==" 141 | "resolved" "https://registry.npmmirror.com/@types/filesystem/-/filesystem-0.0.32.tgz" 142 | "version" "0.0.32" 143 | dependencies: 144 | "@types/filewriter" "*" 145 | 146 | "@types/filewriter@*": 147 | "integrity" "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" 148 | "resolved" "https://registry.npmmirror.com/@types/filewriter/-/filewriter-0.0.29.tgz" 149 | "version" "0.0.29" 150 | 151 | "@types/har-format@*": 152 | "integrity" "sha512-o0J30wqycjF5miWDKYKKzzOU1ZTLuA42HZ4HE7/zqTOc/jTLdQ5NhYWvsRQo45Nfi1KHoRdNhteSI4BAxTF1Pg==" 153 | "resolved" "https://registry.npmmirror.com/@types/har-format/-/har-format-1.2.10.tgz" 154 | "version" "1.2.10" 155 | 156 | "@types/json-schema@^7.0.9": 157 | "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" 158 | "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" 159 | "version" "7.0.11" 160 | 161 | "@types/lodash-es@*", "@types/lodash-es@^4.17.6": 162 | "integrity" "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==" 163 | "resolved" "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz" 164 | "version" "4.17.6" 165 | dependencies: 166 | "@types/lodash" "*" 167 | 168 | "@types/lodash@*", "@types/lodash@^4.14.182": 169 | "integrity" "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" 170 | "resolved" "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.191.tgz" 171 | "version" "4.14.191" 172 | 173 | "@types/marked@^4.0.8": 174 | "integrity" "sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==" 175 | "resolved" "https://registry.npmjs.org/@types/marked/-/marked-4.0.8.tgz" 176 | "version" "4.0.8" 177 | 178 | "@types/node@*", "@types/node@^18.11.12", "@types/node@>= 14": 179 | "integrity" "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" 180 | "resolved" "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz" 181 | "version" "18.11.18" 182 | 183 | "@types/semver@^7.3.12": 184 | "integrity" "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" 185 | "resolved" "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" 186 | "version" "7.3.13" 187 | 188 | "@types/uuid@^9.0.0": 189 | "integrity" "sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==" 190 | "resolved" "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.0.tgz" 191 | "version" "9.0.0" 192 | 193 | "@types/web-bluetooth@^0.0.16": 194 | "integrity" "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" 195 | "resolved" "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz" 196 | "version" "0.0.16" 197 | 198 | "@typescript-eslint/eslint-plugin@^5.0.0": 199 | "integrity" "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==" 200 | "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz" 201 | "version" "5.49.0" 202 | dependencies: 203 | "@typescript-eslint/scope-manager" "5.49.0" 204 | "@typescript-eslint/type-utils" "5.49.0" 205 | "@typescript-eslint/utils" "5.49.0" 206 | "debug" "^4.3.4" 207 | "ignore" "^5.2.0" 208 | "natural-compare-lite" "^1.4.0" 209 | "regexpp" "^3.2.0" 210 | "semver" "^7.3.7" 211 | "tsutils" "^3.21.0" 212 | 213 | "@typescript-eslint/parser@^5.0.0": 214 | "integrity" "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==" 215 | "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz" 216 | "version" "5.49.0" 217 | dependencies: 218 | "@typescript-eslint/scope-manager" "5.49.0" 219 | "@typescript-eslint/types" "5.49.0" 220 | "@typescript-eslint/typescript-estree" "5.49.0" 221 | "debug" "^4.3.4" 222 | 223 | "@typescript-eslint/scope-manager@5.49.0": 224 | "integrity" "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==" 225 | "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz" 226 | "version" "5.49.0" 227 | dependencies: 228 | "@typescript-eslint/types" "5.49.0" 229 | "@typescript-eslint/visitor-keys" "5.49.0" 230 | 231 | "@typescript-eslint/type-utils@5.49.0": 232 | "integrity" "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==" 233 | "resolved" "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz" 234 | "version" "5.49.0" 235 | dependencies: 236 | "@typescript-eslint/typescript-estree" "5.49.0" 237 | "@typescript-eslint/utils" "5.49.0" 238 | "debug" "^4.3.4" 239 | "tsutils" "^3.21.0" 240 | 241 | "@typescript-eslint/types@5.49.0": 242 | "integrity" "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==" 243 | "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz" 244 | "version" "5.49.0" 245 | 246 | "@typescript-eslint/typescript-estree@5.49.0": 247 | "integrity" "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==" 248 | "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz" 249 | "version" "5.49.0" 250 | dependencies: 251 | "@typescript-eslint/types" "5.49.0" 252 | "@typescript-eslint/visitor-keys" "5.49.0" 253 | "debug" "^4.3.4" 254 | "globby" "^11.1.0" 255 | "is-glob" "^4.0.3" 256 | "semver" "^7.3.7" 257 | "tsutils" "^3.21.0" 258 | 259 | "@typescript-eslint/utils@5.49.0": 260 | "integrity" "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==" 261 | "resolved" "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz" 262 | "version" "5.49.0" 263 | dependencies: 264 | "@types/json-schema" "^7.0.9" 265 | "@types/semver" "^7.3.12" 266 | "@typescript-eslint/scope-manager" "5.49.0" 267 | "@typescript-eslint/types" "5.49.0" 268 | "@typescript-eslint/typescript-estree" "5.49.0" 269 | "eslint-scope" "^5.1.1" 270 | "eslint-utils" "^3.0.0" 271 | "semver" "^7.3.7" 272 | 273 | "@typescript-eslint/visitor-keys@5.49.0": 274 | "integrity" "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==" 275 | "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz" 276 | "version" "5.49.0" 277 | dependencies: 278 | "@typescript-eslint/types" "5.49.0" 279 | "eslint-visitor-keys" "^3.3.0" 280 | 281 | "@vitejs/plugin-vue@^4.0.0": 282 | "integrity" "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==" 283 | "resolved" "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz" 284 | "version" "4.0.0" 285 | 286 | "@volar/language-core@1.0.24": 287 | "integrity" "sha512-vTN+alJiWwK0Pax6POqrmevbtFW2dXhjwWiW/MW4f48eDYPLdyURWcr8TixO7EN/nHsUBj2udT7igFKPtjyAKg==" 288 | "resolved" "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.24.tgz" 289 | "version" "1.0.24" 290 | dependencies: 291 | "@volar/source-map" "1.0.24" 292 | "muggle-string" "^0.1.0" 293 | 294 | "@volar/source-map@1.0.24": 295 | "integrity" "sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A==" 296 | "resolved" "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.24.tgz" 297 | "version" "1.0.24" 298 | dependencies: 299 | "muggle-string" "^0.1.0" 300 | 301 | "@volar/typescript@1.0.24": 302 | "integrity" "sha512-f8hCSk+PfKR1/RQHxZ79V1NpDImHoivqoizK+mstphm25tn/YJ/JnKNjZHB+o21fuW0yKlI26NV3jkVb2Cc/7A==" 303 | "resolved" "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.24.tgz" 304 | "version" "1.0.24" 305 | dependencies: 306 | "@volar/language-core" "1.0.24" 307 | 308 | "@volar/vue-language-core@1.0.24": 309 | "integrity" "sha512-2NTJzSgrwKu6uYwPqLiTMuAzi7fAY3yFy5PJ255bGJc82If0Xr+cW8pC80vpjG0D/aVLmlwAdO4+Ya2BI8GdDg==" 310 | "resolved" "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.24.tgz" 311 | "version" "1.0.24" 312 | dependencies: 313 | "@volar/language-core" "1.0.24" 314 | "@volar/source-map" "1.0.24" 315 | "@vue/compiler-dom" "^3.2.45" 316 | "@vue/compiler-sfc" "^3.2.45" 317 | "@vue/reactivity" "^3.2.45" 318 | "@vue/shared" "^3.2.45" 319 | "minimatch" "^5.1.1" 320 | "vue-template-compiler" "^2.7.14" 321 | 322 | "@volar/vue-typescript@1.0.24": 323 | "integrity" "sha512-9a25oHDvGaNC0okRS47uqJI6FxY4hUQZUsxeOUFHcqVxZEv8s17LPuP/pMMXyz7jPygrZubB/qXqHY5jEu/akA==" 324 | "resolved" "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.24.tgz" 325 | "version" "1.0.24" 326 | dependencies: 327 | "@volar/typescript" "1.0.24" 328 | "@volar/vue-language-core" "1.0.24" 329 | 330 | "@vue/compiler-core@3.2.45": 331 | "integrity" "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==" 332 | "resolved" "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz" 333 | "version" "3.2.45" 334 | dependencies: 335 | "@babel/parser" "^7.16.4" 336 | "@vue/shared" "3.2.45" 337 | "estree-walker" "^2.0.2" 338 | "source-map" "^0.6.1" 339 | 340 | "@vue/compiler-dom@^3.2.45", "@vue/compiler-dom@3.2.45": 341 | "integrity" "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==" 342 | "resolved" "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz" 343 | "version" "3.2.45" 344 | dependencies: 345 | "@vue/compiler-core" "3.2.45" 346 | "@vue/shared" "3.2.45" 347 | 348 | "@vue/compiler-sfc@^3.2.45", "@vue/compiler-sfc@3.2.45": 349 | "integrity" "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==" 350 | "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz" 351 | "version" "3.2.45" 352 | dependencies: 353 | "@babel/parser" "^7.16.4" 354 | "@vue/compiler-core" "3.2.45" 355 | "@vue/compiler-dom" "3.2.45" 356 | "@vue/compiler-ssr" "3.2.45" 357 | "@vue/reactivity-transform" "3.2.45" 358 | "@vue/shared" "3.2.45" 359 | "estree-walker" "^2.0.2" 360 | "magic-string" "^0.25.7" 361 | "postcss" "^8.1.10" 362 | "source-map" "^0.6.1" 363 | 364 | "@vue/compiler-ssr@3.2.45": 365 | "integrity" "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==" 366 | "resolved" "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz" 367 | "version" "3.2.45" 368 | dependencies: 369 | "@vue/compiler-dom" "3.2.45" 370 | "@vue/shared" "3.2.45" 371 | 372 | "@vue/devtools-api@^6.4.5": 373 | "integrity" "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" 374 | "resolved" "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz" 375 | "version" "6.5.0" 376 | 377 | "@vue/eslint-config-prettier@^7.0.0": 378 | "integrity" "sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==" 379 | "resolved" "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz" 380 | "version" "7.0.0" 381 | dependencies: 382 | "eslint-config-prettier" "^8.3.0" 383 | "eslint-plugin-prettier" "^4.0.0" 384 | 385 | "@vue/eslint-config-typescript@^11.0.0": 386 | "integrity" "sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==" 387 | "resolved" "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz" 388 | "version" "11.0.2" 389 | dependencies: 390 | "@typescript-eslint/eslint-plugin" "^5.0.0" 391 | "@typescript-eslint/parser" "^5.0.0" 392 | "vue-eslint-parser" "^9.0.0" 393 | 394 | "@vue/reactivity-transform@3.2.45": 395 | "integrity" "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==" 396 | "resolved" "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz" 397 | "version" "3.2.45" 398 | dependencies: 399 | "@babel/parser" "^7.16.4" 400 | "@vue/compiler-core" "3.2.45" 401 | "@vue/shared" "3.2.45" 402 | "estree-walker" "^2.0.2" 403 | "magic-string" "^0.25.7" 404 | 405 | "@vue/reactivity@^3.2.45", "@vue/reactivity@3.2.45": 406 | "integrity" "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==" 407 | "resolved" "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.45.tgz" 408 | "version" "3.2.45" 409 | dependencies: 410 | "@vue/shared" "3.2.45" 411 | 412 | "@vue/runtime-core@3.2.45": 413 | "integrity" "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==" 414 | "resolved" "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.45.tgz" 415 | "version" "3.2.45" 416 | dependencies: 417 | "@vue/reactivity" "3.2.45" 418 | "@vue/shared" "3.2.45" 419 | 420 | "@vue/runtime-dom@3.2.45": 421 | "integrity" "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==" 422 | "resolved" "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz" 423 | "version" "3.2.45" 424 | dependencies: 425 | "@vue/runtime-core" "3.2.45" 426 | "@vue/shared" "3.2.45" 427 | "csstype" "^2.6.8" 428 | 429 | "@vue/server-renderer@3.2.45": 430 | "integrity" "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==" 431 | "resolved" "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz" 432 | "version" "3.2.45" 433 | dependencies: 434 | "@vue/compiler-ssr" "3.2.45" 435 | "@vue/shared" "3.2.45" 436 | 437 | "@vue/shared@^3.2.45", "@vue/shared@3.2.45": 438 | "integrity" "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" 439 | "resolved" "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz" 440 | "version" "3.2.45" 441 | 442 | "@vue/tsconfig@^0.1.3": 443 | "integrity" "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==" 444 | "resolved" "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz" 445 | "version" "0.1.3" 446 | 447 | "@vueuse/core@^9.1.0": 448 | "integrity" "sha512-E/cizD1w9ILkq4axYjZrXLkKaBfzloaby2n3NMjUfd6yI/jkfTVgc6iwy/Cw2e++Ld4LphGbO+3MhzizvwUslQ==" 449 | "resolved" "https://registry.npmmirror.com/@vueuse/core/-/core-9.11.1.tgz" 450 | "version" "9.11.1" 451 | dependencies: 452 | "@types/web-bluetooth" "^0.0.16" 453 | "@vueuse/metadata" "9.11.1" 454 | "@vueuse/shared" "9.11.1" 455 | "vue-demi" "*" 456 | 457 | "@vueuse/metadata@9.11.1": 458 | "integrity" "sha512-ABjkrG+VXggNhjfGyw5e/sekxTZfXTwjrYXkkWQmQ7Biyv+Gq9UD6IDNfeGvQZEINI0Qzw6nfuO2UFCd3hlrxQ==" 459 | "resolved" "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.11.1.tgz" 460 | "version" "9.11.1" 461 | 462 | "@vueuse/shared@9.11.1": 463 | "integrity" "sha512-UTZYGAjT96hWn4buf4wstZbeheBVNcKPQuej6qpoSkjF1atdaeCD6kqm9uGL2waHfisSgH9mq0qCRiBOk5C/2w==" 464 | "resolved" "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.11.1.tgz" 465 | "version" "9.11.1" 466 | dependencies: 467 | "vue-demi" "*" 468 | 469 | "@webcomponents/custom-elements@^1.5.0": 470 | "integrity" "sha512-6T/XT3S1UHDlRWFSxRXdeSoYWczEl78sygNPS7jDyHVrfZcF/pUtWGYgxF4uviH59iPVw1eOWbhubm8CqO0MpA==" 471 | "resolved" "https://registry.npmmirror.com/@webcomponents/custom-elements/-/custom-elements-1.5.1.tgz" 472 | "version" "1.5.1" 473 | 474 | "acorn-jsx@^5.3.2": 475 | "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" 476 | "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 477 | "version" "5.3.2" 478 | 479 | "acorn-walk@^8.2.0": 480 | "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" 481 | "resolved" "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz" 482 | "version" "8.2.0" 483 | 484 | "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8.8.0": 485 | "integrity" "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" 486 | "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" 487 | "version" "8.8.2" 488 | 489 | "ajv@^6.10.0", "ajv@^6.12.4": 490 | "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" 491 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 492 | "version" "6.12.6" 493 | dependencies: 494 | "fast-deep-equal" "^3.1.1" 495 | "fast-json-stable-stringify" "^2.0.0" 496 | "json-schema-traverse" "^0.4.1" 497 | "uri-js" "^4.2.2" 498 | 499 | "ansi-regex@^5.0.1": 500 | "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 501 | "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 502 | "version" "5.0.1" 503 | 504 | "ansi-styles@^3.2.1": 505 | "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" 506 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 507 | "version" "3.2.1" 508 | dependencies: 509 | "color-convert" "^1.9.0" 510 | 511 | "ansi-styles@^4.1.0": 512 | "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" 513 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 514 | "version" "4.3.0" 515 | dependencies: 516 | "color-convert" "^2.0.1" 517 | 518 | "argparse@^2.0.1": 519 | "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 520 | "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 521 | "version" "2.0.1" 522 | 523 | "array-union@^2.1.0": 524 | "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" 525 | "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 526 | "version" "2.1.0" 527 | 528 | "async-validator@^4.2.5": 529 | "integrity" "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" 530 | "resolved" "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz" 531 | "version" "4.2.5" 532 | 533 | "available-typed-arrays@^1.0.5": 534 | "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" 535 | "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" 536 | "version" "1.0.5" 537 | 538 | "balanced-match@^1.0.0": 539 | "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 540 | "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 541 | "version" "1.0.2" 542 | 543 | "boolbase@^1.0.0": 544 | "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" 545 | "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" 546 | "version" "1.0.0" 547 | 548 | "brace-expansion@^1.1.7": 549 | "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" 550 | "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 551 | "version" "1.1.11" 552 | dependencies: 553 | "balanced-match" "^1.0.0" 554 | "concat-map" "0.0.1" 555 | 556 | "brace-expansion@^2.0.1": 557 | "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" 558 | "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" 559 | "version" "2.0.1" 560 | dependencies: 561 | "balanced-match" "^1.0.0" 562 | 563 | "braces@^3.0.2": 564 | "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" 565 | "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 566 | "version" "3.0.2" 567 | dependencies: 568 | "fill-range" "^7.0.1" 569 | 570 | "call-bind@^1.0.0", "call-bind@^1.0.2": 571 | "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" 572 | "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" 573 | "version" "1.0.2" 574 | dependencies: 575 | "function-bind" "^1.1.1" 576 | "get-intrinsic" "^1.0.2" 577 | 578 | "callsites@^3.0.0": 579 | "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" 580 | "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 581 | "version" "3.1.0" 582 | 583 | "chalk@^2.4.1": 584 | "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" 585 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 586 | "version" "2.4.2" 587 | dependencies: 588 | "ansi-styles" "^3.2.1" 589 | "escape-string-regexp" "^1.0.5" 590 | "supports-color" "^5.3.0" 591 | 592 | "chalk@^4.0.0": 593 | "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" 594 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 595 | "version" "4.1.2" 596 | dependencies: 597 | "ansi-styles" "^4.1.0" 598 | "supports-color" "^7.1.0" 599 | 600 | "cheerio-select@^2.1.0": 601 | "integrity" "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==" 602 | "resolved" "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz" 603 | "version" "2.1.0" 604 | dependencies: 605 | "boolbase" "^1.0.0" 606 | "css-select" "^5.1.0" 607 | "css-what" "^6.1.0" 608 | "domelementtype" "^2.3.0" 609 | "domhandler" "^5.0.3" 610 | "domutils" "^3.0.1" 611 | 612 | "cheerio@^1.0.0-rc.10": 613 | "integrity" "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==" 614 | "resolved" "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0-rc.12.tgz" 615 | "version" "1.0.0-rc.12" 616 | dependencies: 617 | "cheerio-select" "^2.1.0" 618 | "dom-serializer" "^2.0.0" 619 | "domhandler" "^5.0.3" 620 | "domutils" "^3.0.1" 621 | "htmlparser2" "^8.0.1" 622 | "parse5" "^7.0.0" 623 | "parse5-htmlparser2-tree-adapter" "^7.0.0" 624 | 625 | "color-convert@^1.9.0": 626 | "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" 627 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 628 | "version" "1.9.3" 629 | dependencies: 630 | "color-name" "1.1.3" 631 | 632 | "color-convert@^2.0.1": 633 | "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" 634 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 635 | "version" "2.0.1" 636 | dependencies: 637 | "color-name" "~1.1.4" 638 | 639 | "color-name@~1.1.4": 640 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 641 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 642 | "version" "1.1.4" 643 | 644 | "color-name@1.1.3": 645 | "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 646 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 647 | "version" "1.1.3" 648 | 649 | "concat-map@0.0.1": 650 | "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 651 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 652 | "version" "0.0.1" 653 | 654 | "connect-injector@^0.4.4": 655 | "integrity" "sha512-hdBG8nXop42y2gWCqOV8y1O3uVk4cIU+SoxLCPyCUKRImyPiScoNiSulpHjoktRU1BdI0UzoUdxUa87thrcmHw==" 656 | "resolved" "https://registry.npmmirror.com/connect-injector/-/connect-injector-0.4.4.tgz" 657 | "version" "0.4.4" 658 | dependencies: 659 | "debug" "^2.0.0" 660 | "q" "^1.0.1" 661 | "stream-buffers" "^0.2.3" 662 | "uberproto" "^1.1.0" 663 | 664 | "cross-spawn@^6.0.5": 665 | "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" 666 | "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" 667 | "version" "6.0.5" 668 | dependencies: 669 | "nice-try" "^1.0.4" 670 | "path-key" "^2.0.1" 671 | "semver" "^5.5.0" 672 | "shebang-command" "^1.2.0" 673 | "which" "^1.2.9" 674 | 675 | "cross-spawn@^7.0.2": 676 | "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" 677 | "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 678 | "version" "7.0.3" 679 | dependencies: 680 | "path-key" "^3.1.0" 681 | "shebang-command" "^2.0.0" 682 | "which" "^2.0.1" 683 | 684 | "css-select@^5.1.0": 685 | "integrity" "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==" 686 | "resolved" "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz" 687 | "version" "5.1.0" 688 | dependencies: 689 | "boolbase" "^1.0.0" 690 | "css-what" "^6.1.0" 691 | "domhandler" "^5.0.2" 692 | "domutils" "^3.0.1" 693 | "nth-check" "^2.0.1" 694 | 695 | "css-what@^6.1.0": 696 | "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" 697 | "resolved" "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz" 698 | "version" "6.1.0" 699 | 700 | "cssesc@^3.0.0": 701 | "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" 702 | "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" 703 | "version" "3.0.0" 704 | 705 | "csstype@^2.6.8": 706 | "integrity" "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" 707 | "resolved" "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz" 708 | "version" "2.6.21" 709 | 710 | "dayjs@^1.11.3": 711 | "integrity" "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" 712 | "resolved" "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz" 713 | "version" "1.11.7" 714 | 715 | "de-indent@^1.0.2": 716 | "integrity" "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==" 717 | "resolved" "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" 718 | "version" "1.0.2" 719 | 720 | "debug@^2.0.0": 721 | "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" 722 | "resolved" "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz" 723 | "version" "2.6.9" 724 | dependencies: 725 | "ms" "2.0.0" 726 | 727 | "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.3", "debug@^4.3.4": 728 | "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" 729 | "resolved" "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz" 730 | "version" "4.3.4" 731 | dependencies: 732 | "ms" "2.1.2" 733 | 734 | "deep-is@^0.1.3": 735 | "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" 736 | "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 737 | "version" "0.1.4" 738 | 739 | "define-properties@^1.1.3", "define-properties@^1.1.4": 740 | "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" 741 | "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" 742 | "version" "1.1.4" 743 | dependencies: 744 | "has-property-descriptors" "^1.0.0" 745 | "object-keys" "^1.1.1" 746 | 747 | "dir-glob@^3.0.1": 748 | "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" 749 | "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 750 | "version" "3.0.1" 751 | dependencies: 752 | "path-type" "^4.0.0" 753 | 754 | "doctrine@^3.0.0": 755 | "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" 756 | "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 757 | "version" "3.0.0" 758 | dependencies: 759 | "esutils" "^2.0.2" 760 | 761 | "dom-serializer@^2.0.0": 762 | "integrity" "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==" 763 | "resolved" "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz" 764 | "version" "2.0.0" 765 | dependencies: 766 | "domelementtype" "^2.3.0" 767 | "domhandler" "^5.0.2" 768 | "entities" "^4.2.0" 769 | 770 | "domelementtype@^2.3.0": 771 | "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" 772 | "resolved" "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz" 773 | "version" "2.3.0" 774 | 775 | "domhandler@^5.0.1", "domhandler@^5.0.2", "domhandler@^5.0.3": 776 | "integrity" "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==" 777 | "resolved" "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz" 778 | "version" "5.0.3" 779 | dependencies: 780 | "domelementtype" "^2.3.0" 781 | 782 | "domutils@^3.0.1": 783 | "integrity" "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==" 784 | "resolved" "https://registry.npmmirror.com/domutils/-/domutils-3.0.1.tgz" 785 | "version" "3.0.1" 786 | dependencies: 787 | "dom-serializer" "^2.0.0" 788 | "domelementtype" "^2.3.0" 789 | "domhandler" "^5.0.1" 790 | 791 | "element-plus@^2.2.28": 792 | "integrity" "sha512-BsxF7iEaBydmRfw1Tt++EO9jRBjbtJr7ZRIrnEwz4J3Cwa1IzHCNCcx3ZwcYTlJq9CYFxv94JnbNr1EbkTou3A==" 793 | "resolved" "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.28.tgz" 794 | "version" "2.2.28" 795 | dependencies: 796 | "@ctrl/tinycolor" "^3.4.1" 797 | "@element-plus/icons-vue" "^2.0.6" 798 | "@floating-ui/dom" "^1.0.1" 799 | "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" 800 | "@types/lodash" "^4.14.182" 801 | "@types/lodash-es" "^4.17.6" 802 | "@vueuse/core" "^9.1.0" 803 | "async-validator" "^4.2.5" 804 | "dayjs" "^1.11.3" 805 | "escape-html" "^1.0.3" 806 | "lodash" "^4.17.21" 807 | "lodash-es" "^4.17.21" 808 | "lodash-unified" "^1.0.2" 809 | "memoize-one" "^6.0.0" 810 | "normalize-wheel-es" "^1.2.0" 811 | 812 | "entities@^4.2.0", "entities@^4.3.0", "entities@^4.4.0": 813 | "integrity" "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" 814 | "resolved" "https://registry.npmmirror.com/entities/-/entities-4.4.0.tgz" 815 | "version" "4.4.0" 816 | 817 | "error-ex@^1.3.1": 818 | "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" 819 | "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" 820 | "version" "1.3.2" 821 | dependencies: 822 | "is-arrayish" "^0.2.1" 823 | 824 | "es-abstract@^1.19.0", "es-abstract@^1.20.4": 825 | "integrity" "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==" 826 | "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz" 827 | "version" "1.21.1" 828 | dependencies: 829 | "available-typed-arrays" "^1.0.5" 830 | "call-bind" "^1.0.2" 831 | "es-set-tostringtag" "^2.0.1" 832 | "es-to-primitive" "^1.2.1" 833 | "function-bind" "^1.1.1" 834 | "function.prototype.name" "^1.1.5" 835 | "get-intrinsic" "^1.1.3" 836 | "get-symbol-description" "^1.0.0" 837 | "globalthis" "^1.0.3" 838 | "gopd" "^1.0.1" 839 | "has" "^1.0.3" 840 | "has-property-descriptors" "^1.0.0" 841 | "has-proto" "^1.0.1" 842 | "has-symbols" "^1.0.3" 843 | "internal-slot" "^1.0.4" 844 | "is-array-buffer" "^3.0.1" 845 | "is-callable" "^1.2.7" 846 | "is-negative-zero" "^2.0.2" 847 | "is-regex" "^1.1.4" 848 | "is-shared-array-buffer" "^1.0.2" 849 | "is-string" "^1.0.7" 850 | "is-typed-array" "^1.1.10" 851 | "is-weakref" "^1.0.2" 852 | "object-inspect" "^1.12.2" 853 | "object-keys" "^1.1.1" 854 | "object.assign" "^4.1.4" 855 | "regexp.prototype.flags" "^1.4.3" 856 | "safe-regex-test" "^1.0.0" 857 | "string.prototype.trimend" "^1.0.6" 858 | "string.prototype.trimstart" "^1.0.6" 859 | "typed-array-length" "^1.0.4" 860 | "unbox-primitive" "^1.0.2" 861 | "which-typed-array" "^1.1.9" 862 | 863 | "es-module-lexer@^0.10.0": 864 | "integrity" "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==" 865 | "resolved" "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.10.5.tgz" 866 | "version" "0.10.5" 867 | 868 | "es-set-tostringtag@^2.0.1": 869 | "integrity" "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==" 870 | "resolved" "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" 871 | "version" "2.0.1" 872 | dependencies: 873 | "get-intrinsic" "^1.1.3" 874 | "has" "^1.0.3" 875 | "has-tostringtag" "^1.0.0" 876 | 877 | "es-to-primitive@^1.2.1": 878 | "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" 879 | "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" 880 | "version" "1.2.1" 881 | dependencies: 882 | "is-callable" "^1.1.4" 883 | "is-date-object" "^1.0.1" 884 | "is-symbol" "^1.0.2" 885 | 886 | "esbuild@^0.16.3": 887 | "integrity" "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==" 888 | "resolved" "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz" 889 | "version" "0.16.17" 890 | optionalDependencies: 891 | "@esbuild/android-arm" "0.16.17" 892 | "@esbuild/android-arm64" "0.16.17" 893 | "@esbuild/android-x64" "0.16.17" 894 | "@esbuild/darwin-arm64" "0.16.17" 895 | "@esbuild/darwin-x64" "0.16.17" 896 | "@esbuild/freebsd-arm64" "0.16.17" 897 | "@esbuild/freebsd-x64" "0.16.17" 898 | "@esbuild/linux-arm" "0.16.17" 899 | "@esbuild/linux-arm64" "0.16.17" 900 | "@esbuild/linux-ia32" "0.16.17" 901 | "@esbuild/linux-loong64" "0.16.17" 902 | "@esbuild/linux-mips64el" "0.16.17" 903 | "@esbuild/linux-ppc64" "0.16.17" 904 | "@esbuild/linux-riscv64" "0.16.17" 905 | "@esbuild/linux-s390x" "0.16.17" 906 | "@esbuild/linux-x64" "0.16.17" 907 | "@esbuild/netbsd-x64" "0.16.17" 908 | "@esbuild/openbsd-x64" "0.16.17" 909 | "@esbuild/sunos-x64" "0.16.17" 910 | "@esbuild/win32-arm64" "0.16.17" 911 | "@esbuild/win32-ia32" "0.16.17" 912 | "@esbuild/win32-x64" "0.16.17" 913 | 914 | "escape-html@^1.0.3": 915 | "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 916 | "resolved" "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz" 917 | "version" "1.0.3" 918 | 919 | "escape-string-regexp@^1.0.5": 920 | "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" 921 | "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 922 | "version" "1.0.5" 923 | 924 | "escape-string-regexp@^4.0.0": 925 | "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" 926 | "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 927 | "version" "4.0.0" 928 | 929 | "eslint-config-prettier@^8.3.0": 930 | "integrity" "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==" 931 | "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz" 932 | "version" "8.6.0" 933 | 934 | "eslint-plugin-prettier@^4.0.0": 935 | "integrity" "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==" 936 | "resolved" "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" 937 | "version" "4.2.1" 938 | dependencies: 939 | "prettier-linter-helpers" "^1.0.0" 940 | 941 | "eslint-plugin-vue@^9.0.0", "eslint-plugin-vue@^9.3.0": 942 | "integrity" "sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==" 943 | "resolved" "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz" 944 | "version" "9.9.0" 945 | dependencies: 946 | "eslint-utils" "^3.0.0" 947 | "natural-compare" "^1.4.0" 948 | "nth-check" "^2.0.1" 949 | "postcss-selector-parser" "^6.0.9" 950 | "semver" "^7.3.5" 951 | "vue-eslint-parser" "^9.0.1" 952 | "xml-name-validator" "^4.0.0" 953 | 954 | "eslint-scope@^5.1.1": 955 | "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" 956 | "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" 957 | "version" "5.1.1" 958 | dependencies: 959 | "esrecurse" "^4.3.0" 960 | "estraverse" "^4.1.1" 961 | 962 | "eslint-scope@^7.1.1": 963 | "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==" 964 | "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" 965 | "version" "7.1.1" 966 | dependencies: 967 | "esrecurse" "^4.3.0" 968 | "estraverse" "^5.2.0" 969 | 970 | "eslint-utils@^3.0.0": 971 | "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" 972 | "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" 973 | "version" "3.0.0" 974 | dependencies: 975 | "eslint-visitor-keys" "^2.0.0" 976 | 977 | "eslint-visitor-keys@^2.0.0": 978 | "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" 979 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" 980 | "version" "2.1.0" 981 | 982 | "eslint-visitor-keys@^3.3.0": 983 | "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" 984 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" 985 | "version" "3.3.0" 986 | 987 | "eslint@*", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0", "eslint@^8.22.0", "eslint@>= 7.28.0", "eslint@>=5", "eslint@>=6.0.0", "eslint@>=7.0.0", "eslint@>=7.28.0": 988 | "integrity" "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==" 989 | "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz" 990 | "version" "8.32.0" 991 | dependencies: 992 | "@eslint/eslintrc" "^1.4.1" 993 | "@humanwhocodes/config-array" "^0.11.8" 994 | "@humanwhocodes/module-importer" "^1.0.1" 995 | "@nodelib/fs.walk" "^1.2.8" 996 | "ajv" "^6.10.0" 997 | "chalk" "^4.0.0" 998 | "cross-spawn" "^7.0.2" 999 | "debug" "^4.3.2" 1000 | "doctrine" "^3.0.0" 1001 | "escape-string-regexp" "^4.0.0" 1002 | "eslint-scope" "^7.1.1" 1003 | "eslint-utils" "^3.0.0" 1004 | "eslint-visitor-keys" "^3.3.0" 1005 | "espree" "^9.4.0" 1006 | "esquery" "^1.4.0" 1007 | "esutils" "^2.0.2" 1008 | "fast-deep-equal" "^3.1.3" 1009 | "file-entry-cache" "^6.0.1" 1010 | "find-up" "^5.0.0" 1011 | "glob-parent" "^6.0.2" 1012 | "globals" "^13.19.0" 1013 | "grapheme-splitter" "^1.0.4" 1014 | "ignore" "^5.2.0" 1015 | "import-fresh" "^3.0.0" 1016 | "imurmurhash" "^0.1.4" 1017 | "is-glob" "^4.0.0" 1018 | "is-path-inside" "^3.0.3" 1019 | "js-sdsl" "^4.1.4" 1020 | "js-yaml" "^4.1.0" 1021 | "json-stable-stringify-without-jsonify" "^1.0.1" 1022 | "levn" "^0.4.1" 1023 | "lodash.merge" "^4.6.2" 1024 | "minimatch" "^3.1.2" 1025 | "natural-compare" "^1.4.0" 1026 | "optionator" "^0.9.1" 1027 | "regexpp" "^3.2.0" 1028 | "strip-ansi" "^6.0.1" 1029 | "strip-json-comments" "^3.1.0" 1030 | "text-table" "^0.2.0" 1031 | 1032 | "espree@^9.3.1", "espree@^9.4.0": 1033 | "integrity" "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==" 1034 | "resolved" "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" 1035 | "version" "9.4.1" 1036 | dependencies: 1037 | "acorn" "^8.8.0" 1038 | "acorn-jsx" "^5.3.2" 1039 | "eslint-visitor-keys" "^3.3.0" 1040 | 1041 | "esquery@^1.4.0": 1042 | "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" 1043 | "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" 1044 | "version" "1.4.0" 1045 | dependencies: 1046 | "estraverse" "^5.1.0" 1047 | 1048 | "esrecurse@^4.3.0": 1049 | "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" 1050 | "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 1051 | "version" "4.3.0" 1052 | dependencies: 1053 | "estraverse" "^5.2.0" 1054 | 1055 | "estraverse@^4.1.1": 1056 | "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" 1057 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 1058 | "version" "4.3.0" 1059 | 1060 | "estraverse@^5.1.0", "estraverse@^5.2.0": 1061 | "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" 1062 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" 1063 | "version" "5.3.0" 1064 | 1065 | "estree-walker@^2.0.1", "estree-walker@^2.0.2": 1066 | "integrity" "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1067 | "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" 1068 | "version" "2.0.2" 1069 | 1070 | "esutils@^2.0.2": 1071 | "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" 1072 | "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 1073 | "version" "2.0.3" 1074 | 1075 | "fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": 1076 | "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 1077 | "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 1078 | "version" "3.1.3" 1079 | 1080 | "fast-diff@^1.1.2": 1081 | "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" 1082 | "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" 1083 | "version" "1.2.0" 1084 | 1085 | "fast-glob@^3.2.11", "fast-glob@^3.2.9": 1086 | "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" 1087 | "resolved" "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz" 1088 | "version" "3.2.12" 1089 | dependencies: 1090 | "@nodelib/fs.stat" "^2.0.2" 1091 | "@nodelib/fs.walk" "^1.2.3" 1092 | "glob-parent" "^5.1.2" 1093 | "merge2" "^1.3.0" 1094 | "micromatch" "^4.0.4" 1095 | 1096 | "fast-json-stable-stringify@^2.0.0": 1097 | "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 1098 | "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 1099 | "version" "2.1.0" 1100 | 1101 | "fast-levenshtein@^2.0.6": 1102 | "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" 1103 | "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 1104 | "version" "2.0.6" 1105 | 1106 | "fastq@^1.6.0": 1107 | "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" 1108 | "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" 1109 | "version" "1.15.0" 1110 | dependencies: 1111 | "reusify" "^1.0.4" 1112 | 1113 | "file-entry-cache@^6.0.1": 1114 | "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" 1115 | "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 1116 | "version" "6.0.1" 1117 | dependencies: 1118 | "flat-cache" "^3.0.4" 1119 | 1120 | "fill-range@^7.0.1": 1121 | "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" 1122 | "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 1123 | "version" "7.0.1" 1124 | dependencies: 1125 | "to-regex-range" "^5.0.1" 1126 | 1127 | "find-up@^5.0.0": 1128 | "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" 1129 | "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" 1130 | "version" "5.0.0" 1131 | dependencies: 1132 | "locate-path" "^6.0.0" 1133 | "path-exists" "^4.0.0" 1134 | 1135 | "flat-cache@^3.0.4": 1136 | "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" 1137 | "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 1138 | "version" "3.0.4" 1139 | dependencies: 1140 | "flatted" "^3.1.0" 1141 | "rimraf" "^3.0.2" 1142 | 1143 | "flatted@^3.1.0": 1144 | "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" 1145 | "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" 1146 | "version" "3.2.7" 1147 | 1148 | "for-each@^0.3.3": 1149 | "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" 1150 | "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" 1151 | "version" "0.3.3" 1152 | dependencies: 1153 | "is-callable" "^1.1.3" 1154 | 1155 | "fs-extra@^10.0.1": 1156 | "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" 1157 | "resolved" "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz" 1158 | "version" "10.1.0" 1159 | dependencies: 1160 | "graceful-fs" "^4.2.0" 1161 | "jsonfile" "^6.0.1" 1162 | "universalify" "^2.0.0" 1163 | 1164 | "fs.realpath@^1.0.0": 1165 | "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 1166 | "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 1167 | "version" "1.0.0" 1168 | 1169 | "fsevents@~2.3.2": 1170 | "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" 1171 | "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" 1172 | "version" "2.3.2" 1173 | 1174 | "function-bind@^1.1.1": 1175 | "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1176 | "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 1177 | "version" "1.1.1" 1178 | 1179 | "function.prototype.name@^1.1.5": 1180 | "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" 1181 | "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" 1182 | "version" "1.1.5" 1183 | dependencies: 1184 | "call-bind" "^1.0.2" 1185 | "define-properties" "^1.1.3" 1186 | "es-abstract" "^1.19.0" 1187 | "functions-have-names" "^1.2.2" 1188 | 1189 | "functions-have-names@^1.2.2": 1190 | "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" 1191 | "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" 1192 | "version" "1.2.3" 1193 | 1194 | "get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3": 1195 | "integrity" "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==" 1196 | "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" 1197 | "version" "1.2.0" 1198 | dependencies: 1199 | "function-bind" "^1.1.1" 1200 | "has" "^1.0.3" 1201 | "has-symbols" "^1.0.3" 1202 | 1203 | "get-symbol-description@^1.0.0": 1204 | "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" 1205 | "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" 1206 | "version" "1.0.0" 1207 | dependencies: 1208 | "call-bind" "^1.0.2" 1209 | "get-intrinsic" "^1.1.1" 1210 | 1211 | "glob-parent@^5.1.2": 1212 | "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" 1213 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 1214 | "version" "5.1.2" 1215 | dependencies: 1216 | "is-glob" "^4.0.1" 1217 | 1218 | "glob-parent@^6.0.2": 1219 | "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" 1220 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 1221 | "version" "6.0.2" 1222 | dependencies: 1223 | "is-glob" "^4.0.3" 1224 | 1225 | "glob@^7.1.3": 1226 | "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" 1227 | "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" 1228 | "version" "7.2.3" 1229 | dependencies: 1230 | "fs.realpath" "^1.0.0" 1231 | "inflight" "^1.0.4" 1232 | "inherits" "2" 1233 | "minimatch" "^3.1.1" 1234 | "once" "^1.3.0" 1235 | "path-is-absolute" "^1.0.0" 1236 | 1237 | "globals@^13.19.0": 1238 | "integrity" "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==" 1239 | "resolved" "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz" 1240 | "version" "13.19.0" 1241 | dependencies: 1242 | "type-fest" "^0.20.2" 1243 | 1244 | "globalthis@^1.0.3": 1245 | "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" 1246 | "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" 1247 | "version" "1.0.3" 1248 | dependencies: 1249 | "define-properties" "^1.1.3" 1250 | 1251 | "globby@^11.1.0": 1252 | "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" 1253 | "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" 1254 | "version" "11.1.0" 1255 | dependencies: 1256 | "array-union" "^2.1.0" 1257 | "dir-glob" "^3.0.1" 1258 | "fast-glob" "^3.2.9" 1259 | "ignore" "^5.2.0" 1260 | "merge2" "^1.4.1" 1261 | "slash" "^3.0.0" 1262 | 1263 | "gopd@^1.0.1": 1264 | "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" 1265 | "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" 1266 | "version" "1.0.1" 1267 | dependencies: 1268 | "get-intrinsic" "^1.1.3" 1269 | 1270 | "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0": 1271 | "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" 1272 | "resolved" "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" 1273 | "version" "4.2.10" 1274 | 1275 | "grapheme-splitter@^1.0.4": 1276 | "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" 1277 | "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" 1278 | "version" "1.0.4" 1279 | 1280 | "has-bigints@^1.0.1", "has-bigints@^1.0.2": 1281 | "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" 1282 | "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" 1283 | "version" "1.0.2" 1284 | 1285 | "has-flag@^3.0.0": 1286 | "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" 1287 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 1288 | "version" "3.0.0" 1289 | 1290 | "has-flag@^4.0.0": 1291 | "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 1292 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 1293 | "version" "4.0.0" 1294 | 1295 | "has-property-descriptors@^1.0.0": 1296 | "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" 1297 | "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" 1298 | "version" "1.0.0" 1299 | dependencies: 1300 | "get-intrinsic" "^1.1.1" 1301 | 1302 | "has-proto@^1.0.1": 1303 | "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" 1304 | "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" 1305 | "version" "1.0.1" 1306 | 1307 | "has-symbols@^1.0.2", "has-symbols@^1.0.3": 1308 | "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 1309 | "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" 1310 | "version" "1.0.3" 1311 | 1312 | "has-tostringtag@^1.0.0": 1313 | "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" 1314 | "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" 1315 | "version" "1.0.0" 1316 | dependencies: 1317 | "has-symbols" "^1.0.2" 1318 | 1319 | "has@^1.0.3": 1320 | "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" 1321 | "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 1322 | "version" "1.0.3" 1323 | dependencies: 1324 | "function-bind" "^1.1.1" 1325 | 1326 | "he@^1.2.0": 1327 | "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" 1328 | "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" 1329 | "version" "1.2.0" 1330 | 1331 | "hosted-git-info@^2.1.4": 1332 | "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" 1333 | "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" 1334 | "version" "2.8.9" 1335 | 1336 | "htmlparser2@^8.0.1": 1337 | "integrity" "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==" 1338 | "resolved" "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.1.tgz" 1339 | "version" "8.0.1" 1340 | dependencies: 1341 | "domelementtype" "^2.3.0" 1342 | "domhandler" "^5.0.2" 1343 | "domutils" "^3.0.1" 1344 | "entities" "^4.3.0" 1345 | 1346 | "ignore@^5.2.0": 1347 | "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" 1348 | "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" 1349 | "version" "5.2.4" 1350 | 1351 | "import-fresh@^3.0.0", "import-fresh@^3.2.1": 1352 | "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" 1353 | "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 1354 | "version" "3.3.0" 1355 | dependencies: 1356 | "parent-module" "^1.0.0" 1357 | "resolve-from" "^4.0.0" 1358 | 1359 | "imurmurhash@^0.1.4": 1360 | "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" 1361 | "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 1362 | "version" "0.1.4" 1363 | 1364 | "inflight@^1.0.4": 1365 | "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" 1366 | "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 1367 | "version" "1.0.6" 1368 | dependencies: 1369 | "once" "^1.3.0" 1370 | "wrappy" "1" 1371 | 1372 | "inherits@2": 1373 | "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1374 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 1375 | "version" "2.0.4" 1376 | 1377 | "internal-slot@^1.0.4": 1378 | "integrity" "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==" 1379 | "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz" 1380 | "version" "1.0.4" 1381 | dependencies: 1382 | "get-intrinsic" "^1.1.3" 1383 | "has" "^1.0.3" 1384 | "side-channel" "^1.0.4" 1385 | 1386 | "is-array-buffer@^3.0.1": 1387 | "integrity" "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==" 1388 | "resolved" "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz" 1389 | "version" "3.0.1" 1390 | dependencies: 1391 | "call-bind" "^1.0.2" 1392 | "get-intrinsic" "^1.1.3" 1393 | "is-typed-array" "^1.1.10" 1394 | 1395 | "is-arrayish@^0.2.1": 1396 | "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" 1397 | "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" 1398 | "version" "0.2.1" 1399 | 1400 | "is-bigint@^1.0.1": 1401 | "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" 1402 | "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" 1403 | "version" "1.0.4" 1404 | dependencies: 1405 | "has-bigints" "^1.0.1" 1406 | 1407 | "is-boolean-object@^1.1.0": 1408 | "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" 1409 | "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" 1410 | "version" "1.1.2" 1411 | dependencies: 1412 | "call-bind" "^1.0.2" 1413 | "has-tostringtag" "^1.0.0" 1414 | 1415 | "is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": 1416 | "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" 1417 | "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" 1418 | "version" "1.2.7" 1419 | 1420 | "is-core-module@^2.9.0": 1421 | "integrity" "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==" 1422 | "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" 1423 | "version" "2.11.0" 1424 | dependencies: 1425 | "has" "^1.0.3" 1426 | 1427 | "is-date-object@^1.0.1": 1428 | "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" 1429 | "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" 1430 | "version" "1.0.5" 1431 | dependencies: 1432 | "has-tostringtag" "^1.0.0" 1433 | 1434 | "is-extglob@^2.1.1": 1435 | "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" 1436 | "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 1437 | "version" "2.1.1" 1438 | 1439 | "is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3": 1440 | "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" 1441 | "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 1442 | "version" "4.0.3" 1443 | dependencies: 1444 | "is-extglob" "^2.1.1" 1445 | 1446 | "is-negative-zero@^2.0.2": 1447 | "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" 1448 | "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" 1449 | "version" "2.0.2" 1450 | 1451 | "is-number-object@^1.0.4": 1452 | "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" 1453 | "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" 1454 | "version" "1.0.7" 1455 | dependencies: 1456 | "has-tostringtag" "^1.0.0" 1457 | 1458 | "is-number@^7.0.0": 1459 | "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 1460 | "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 1461 | "version" "7.0.0" 1462 | 1463 | "is-path-inside@^3.0.3": 1464 | "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" 1465 | "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" 1466 | "version" "3.0.3" 1467 | 1468 | "is-regex@^1.1.4": 1469 | "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" 1470 | "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" 1471 | "version" "1.1.4" 1472 | dependencies: 1473 | "call-bind" "^1.0.2" 1474 | "has-tostringtag" "^1.0.0" 1475 | 1476 | "is-shared-array-buffer@^1.0.2": 1477 | "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" 1478 | "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" 1479 | "version" "1.0.2" 1480 | dependencies: 1481 | "call-bind" "^1.0.2" 1482 | 1483 | "is-string@^1.0.5", "is-string@^1.0.7": 1484 | "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" 1485 | "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" 1486 | "version" "1.0.7" 1487 | dependencies: 1488 | "has-tostringtag" "^1.0.0" 1489 | 1490 | "is-symbol@^1.0.2", "is-symbol@^1.0.3": 1491 | "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" 1492 | "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" 1493 | "version" "1.0.4" 1494 | dependencies: 1495 | "has-symbols" "^1.0.2" 1496 | 1497 | "is-typed-array@^1.1.10", "is-typed-array@^1.1.9": 1498 | "integrity" "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==" 1499 | "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" 1500 | "version" "1.1.10" 1501 | dependencies: 1502 | "available-typed-arrays" "^1.0.5" 1503 | "call-bind" "^1.0.2" 1504 | "for-each" "^0.3.3" 1505 | "gopd" "^1.0.1" 1506 | "has-tostringtag" "^1.0.0" 1507 | 1508 | "is-weakref@^1.0.2": 1509 | "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" 1510 | "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" 1511 | "version" "1.0.2" 1512 | dependencies: 1513 | "call-bind" "^1.0.2" 1514 | 1515 | "isexe@^2.0.0": 1516 | "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 1517 | "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 1518 | "version" "2.0.0" 1519 | 1520 | "js-sdsl@^4.1.4": 1521 | "integrity" "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==" 1522 | "resolved" "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz" 1523 | "version" "4.3.0" 1524 | 1525 | "js-yaml@^4.1.0": 1526 | "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" 1527 | "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" 1528 | "version" "4.1.0" 1529 | dependencies: 1530 | "argparse" "^2.0.1" 1531 | 1532 | "jsesc@^3.0.2": 1533 | "integrity" "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==" 1534 | "resolved" "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz" 1535 | "version" "3.0.2" 1536 | 1537 | "json-parse-better-errors@^1.0.1": 1538 | "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" 1539 | "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" 1540 | "version" "1.0.2" 1541 | 1542 | "json-schema-traverse@^0.4.1": 1543 | "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 1544 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 1545 | "version" "0.4.1" 1546 | 1547 | "json-stable-stringify-without-jsonify@^1.0.1": 1548 | "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" 1549 | "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 1550 | "version" "1.0.1" 1551 | 1552 | "jsonfile@^6.0.1": 1553 | "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" 1554 | "resolved" "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz" 1555 | "version" "6.1.0" 1556 | dependencies: 1557 | "universalify" "^2.0.0" 1558 | optionalDependencies: 1559 | "graceful-fs" "^4.1.6" 1560 | 1561 | "levn@^0.4.1": 1562 | "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" 1563 | "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 1564 | "version" "0.4.1" 1565 | dependencies: 1566 | "prelude-ls" "^1.2.1" 1567 | "type-check" "~0.4.0" 1568 | 1569 | "load-json-file@^4.0.0": 1570 | "integrity" "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==" 1571 | "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" 1572 | "version" "4.0.0" 1573 | dependencies: 1574 | "graceful-fs" "^4.1.2" 1575 | "parse-json" "^4.0.0" 1576 | "pify" "^3.0.0" 1577 | "strip-bom" "^3.0.0" 1578 | 1579 | "locate-path@^6.0.0": 1580 | "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" 1581 | "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" 1582 | "version" "6.0.0" 1583 | dependencies: 1584 | "p-locate" "^5.0.0" 1585 | 1586 | "lodash-es@*", "lodash-es@^4.17.21": 1587 | "integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" 1588 | "resolved" "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz" 1589 | "version" "4.17.21" 1590 | 1591 | "lodash-unified@^1.0.2": 1592 | "integrity" "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==" 1593 | "resolved" "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz" 1594 | "version" "1.0.3" 1595 | 1596 | "lodash.merge@^4.6.2": 1597 | "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" 1598 | "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 1599 | "version" "4.6.2" 1600 | 1601 | "lodash@*", "lodash@^4.17.21": 1602 | "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1603 | "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" 1604 | "version" "4.17.21" 1605 | 1606 | "lru-cache@^6.0.0": 1607 | "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" 1608 | "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 1609 | "version" "6.0.0" 1610 | dependencies: 1611 | "yallist" "^4.0.0" 1612 | 1613 | "magic-string@^0.25.7": 1614 | "integrity" "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==" 1615 | "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" 1616 | "version" "0.25.9" 1617 | dependencies: 1618 | "sourcemap-codec" "^1.4.8" 1619 | 1620 | "magic-string@^0.26.0": 1621 | "integrity" "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==" 1622 | "resolved" "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.7.tgz" 1623 | "version" "0.26.7" 1624 | dependencies: 1625 | "sourcemap-codec" "^1.4.8" 1626 | 1627 | "marked@^4.2.12": 1628 | "integrity" "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==" 1629 | "resolved" "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz" 1630 | "version" "4.2.12" 1631 | 1632 | "memoize-one@^6.0.0": 1633 | "integrity" "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" 1634 | "resolved" "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz" 1635 | "version" "6.0.0" 1636 | 1637 | "memorystream@^0.3.1": 1638 | "integrity" "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" 1639 | "resolved" "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" 1640 | "version" "0.3.1" 1641 | 1642 | "merge2@^1.3.0", "merge2@^1.4.1": 1643 | "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" 1644 | "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 1645 | "version" "1.4.1" 1646 | 1647 | "micromatch@^4.0.4": 1648 | "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" 1649 | "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 1650 | "version" "4.0.5" 1651 | dependencies: 1652 | "braces" "^3.0.2" 1653 | "picomatch" "^2.3.1" 1654 | 1655 | "minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": 1656 | "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" 1657 | "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 1658 | "version" "3.1.2" 1659 | dependencies: 1660 | "brace-expansion" "^1.1.7" 1661 | 1662 | "minimatch@^5.1.1": 1663 | "integrity" "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" 1664 | "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" 1665 | "version" "5.1.6" 1666 | dependencies: 1667 | "brace-expansion" "^2.0.1" 1668 | 1669 | "ms@2.0.0": 1670 | "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 1671 | "resolved" "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz" 1672 | "version" "2.0.0" 1673 | 1674 | "ms@2.1.2": 1675 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1676 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 1677 | "version" "2.1.2" 1678 | 1679 | "muggle-string@^0.1.0": 1680 | "integrity" "sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==" 1681 | "resolved" "https://registry.npmjs.org/muggle-string/-/muggle-string-0.1.0.tgz" 1682 | "version" "0.1.0" 1683 | 1684 | "nanoid@^3.3.4": 1685 | "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 1686 | "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" 1687 | "version" "3.3.4" 1688 | 1689 | "natural-compare-lite@^1.4.0": 1690 | "integrity" "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" 1691 | "resolved" "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" 1692 | "version" "1.4.0" 1693 | 1694 | "natural-compare@^1.4.0": 1695 | "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" 1696 | "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 1697 | "version" "1.4.0" 1698 | 1699 | "nice-try@^1.0.4": 1700 | "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 1701 | "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" 1702 | "version" "1.0.5" 1703 | 1704 | "normalize-package-data@^2.3.2": 1705 | "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" 1706 | "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" 1707 | "version" "2.5.0" 1708 | dependencies: 1709 | "hosted-git-info" "^2.1.4" 1710 | "resolve" "^1.10.0" 1711 | "semver" "2 || 3 || 4 || 5" 1712 | "validate-npm-package-license" "^3.0.1" 1713 | 1714 | "normalize-wheel-es@^1.2.0": 1715 | "integrity" "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" 1716 | "resolved" "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz" 1717 | "version" "1.2.0" 1718 | 1719 | "npm-run-all@^4.1.5": 1720 | "integrity" "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==" 1721 | "resolved" "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" 1722 | "version" "4.1.5" 1723 | dependencies: 1724 | "ansi-styles" "^3.2.1" 1725 | "chalk" "^2.4.1" 1726 | "cross-spawn" "^6.0.5" 1727 | "memorystream" "^0.3.1" 1728 | "minimatch" "^3.0.4" 1729 | "pidtree" "^0.3.0" 1730 | "read-pkg" "^3.0.0" 1731 | "shell-quote" "^1.6.1" 1732 | "string.prototype.padend" "^3.0.0" 1733 | 1734 | "nth-check@^2.0.1": 1735 | "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" 1736 | "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" 1737 | "version" "2.1.1" 1738 | dependencies: 1739 | "boolbase" "^1.0.0" 1740 | 1741 | "object-inspect@^1.12.2", "object-inspect@^1.9.0": 1742 | "integrity" "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" 1743 | "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" 1744 | "version" "1.12.3" 1745 | 1746 | "object-keys@^1.1.1": 1747 | "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 1748 | "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" 1749 | "version" "1.1.1" 1750 | 1751 | "object.assign@^4.1.4": 1752 | "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" 1753 | "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" 1754 | "version" "4.1.4" 1755 | dependencies: 1756 | "call-bind" "^1.0.2" 1757 | "define-properties" "^1.1.4" 1758 | "has-symbols" "^1.0.3" 1759 | "object-keys" "^1.1.1" 1760 | 1761 | "once@^1.3.0": 1762 | "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" 1763 | "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1764 | "version" "1.4.0" 1765 | dependencies: 1766 | "wrappy" "1" 1767 | 1768 | "optionator@^0.9.1": 1769 | "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" 1770 | "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 1771 | "version" "0.9.1" 1772 | dependencies: 1773 | "deep-is" "^0.1.3" 1774 | "fast-levenshtein" "^2.0.6" 1775 | "levn" "^0.4.1" 1776 | "prelude-ls" "^1.2.1" 1777 | "type-check" "^0.4.0" 1778 | "word-wrap" "^1.2.3" 1779 | 1780 | "p-limit@^3.0.2": 1781 | "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" 1782 | "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" 1783 | "version" "3.1.0" 1784 | dependencies: 1785 | "yocto-queue" "^0.1.0" 1786 | 1787 | "p-locate@^5.0.0": 1788 | "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" 1789 | "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" 1790 | "version" "5.0.0" 1791 | dependencies: 1792 | "p-limit" "^3.0.2" 1793 | 1794 | "parent-module@^1.0.0": 1795 | "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" 1796 | "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 1797 | "version" "1.0.1" 1798 | dependencies: 1799 | "callsites" "^3.0.0" 1800 | 1801 | "parse-json@^4.0.0": 1802 | "integrity" "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" 1803 | "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" 1804 | "version" "4.0.0" 1805 | dependencies: 1806 | "error-ex" "^1.3.1" 1807 | "json-parse-better-errors" "^1.0.1" 1808 | 1809 | "parse5-htmlparser2-tree-adapter@^7.0.0": 1810 | "integrity" "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==" 1811 | "resolved" "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" 1812 | "version" "7.0.0" 1813 | dependencies: 1814 | "domhandler" "^5.0.2" 1815 | "parse5" "^7.0.0" 1816 | 1817 | "parse5@^7.0.0": 1818 | "integrity" "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==" 1819 | "resolved" "https://registry.npmmirror.com/parse5/-/parse5-7.1.2.tgz" 1820 | "version" "7.1.2" 1821 | dependencies: 1822 | "entities" "^4.4.0" 1823 | 1824 | "path-exists@^4.0.0": 1825 | "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 1826 | "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 1827 | "version" "4.0.0" 1828 | 1829 | "path-is-absolute@^1.0.0": 1830 | "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" 1831 | "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 1832 | "version" "1.0.1" 1833 | 1834 | "path-key@^2.0.1": 1835 | "integrity" "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" 1836 | "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" 1837 | "version" "2.0.1" 1838 | 1839 | "path-key@^3.1.0": 1840 | "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" 1841 | "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1842 | "version" "3.1.1" 1843 | 1844 | "path-parse@^1.0.7": 1845 | "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1846 | "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 1847 | "version" "1.0.7" 1848 | 1849 | "path-type@^3.0.0": 1850 | "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" 1851 | "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" 1852 | "version" "3.0.0" 1853 | dependencies: 1854 | "pify" "^3.0.0" 1855 | 1856 | "path-type@^4.0.0": 1857 | "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" 1858 | "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 1859 | "version" "4.0.0" 1860 | 1861 | "picocolors@^1.0.0": 1862 | "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1863 | "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 1864 | "version" "1.0.0" 1865 | 1866 | "picomatch@^2.2.2", "picomatch@^2.3.1": 1867 | "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" 1868 | "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 1869 | "version" "2.3.1" 1870 | 1871 | "pidtree@^0.3.0": 1872 | "integrity" "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" 1873 | "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" 1874 | "version" "0.3.1" 1875 | 1876 | "pify@^3.0.0": 1877 | "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" 1878 | "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" 1879 | "version" "3.0.0" 1880 | 1881 | "postcss-selector-parser@^6.0.9": 1882 | "integrity" "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==" 1883 | "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" 1884 | "version" "6.0.11" 1885 | dependencies: 1886 | "cssesc" "^3.0.0" 1887 | "util-deprecate" "^1.0.2" 1888 | 1889 | "postcss@^8.1.10", "postcss@^8.4.20": 1890 | "integrity" "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==" 1891 | "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" 1892 | "version" "8.4.21" 1893 | dependencies: 1894 | "nanoid" "^3.3.4" 1895 | "picocolors" "^1.0.0" 1896 | "source-map-js" "^1.0.2" 1897 | 1898 | "prelude-ls@^1.2.1": 1899 | "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" 1900 | "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 1901 | "version" "1.2.1" 1902 | 1903 | "prettier-linter-helpers@^1.0.0": 1904 | "integrity" "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" 1905 | "resolved" "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" 1906 | "version" "1.0.0" 1907 | dependencies: 1908 | "fast-diff" "^1.1.2" 1909 | 1910 | "prettier@^2.7.1", "prettier@>= 2.0.0", "prettier@>=2.0.0": 1911 | "integrity" "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==" 1912 | "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz" 1913 | "version" "2.8.3" 1914 | 1915 | "punycode@^2.1.0": 1916 | "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" 1917 | "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" 1918 | "version" "2.3.0" 1919 | 1920 | "q@^1.0.1": 1921 | "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" 1922 | "resolved" "https://registry.npmmirror.com/q/-/q-1.5.1.tgz" 1923 | "version" "1.5.1" 1924 | 1925 | "queue-microtask@^1.2.2": 1926 | "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 1927 | "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 1928 | "version" "1.2.3" 1929 | 1930 | "react-refresh@^0.13.0": 1931 | "integrity" "sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg==" 1932 | "resolved" "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.13.0.tgz" 1933 | "version" "0.13.0" 1934 | 1935 | "read-pkg@^3.0.0": 1936 | "integrity" "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==" 1937 | "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" 1938 | "version" "3.0.0" 1939 | dependencies: 1940 | "load-json-file" "^4.0.0" 1941 | "normalize-package-data" "^2.3.2" 1942 | "path-type" "^3.0.0" 1943 | 1944 | "regexp.prototype.flags@^1.4.3": 1945 | "integrity" "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==" 1946 | "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" 1947 | "version" "1.4.3" 1948 | dependencies: 1949 | "call-bind" "^1.0.2" 1950 | "define-properties" "^1.1.3" 1951 | "functions-have-names" "^1.2.2" 1952 | 1953 | "regexpp@^3.2.0": 1954 | "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" 1955 | "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" 1956 | "version" "3.2.0" 1957 | 1958 | "resolve-from@^4.0.0": 1959 | "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" 1960 | "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 1961 | "version" "4.0.0" 1962 | 1963 | "resolve@^1.10.0", "resolve@^1.22.1": 1964 | "integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==" 1965 | "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" 1966 | "version" "1.22.1" 1967 | dependencies: 1968 | "is-core-module" "^2.9.0" 1969 | "path-parse" "^1.0.7" 1970 | "supports-preserve-symlinks-flag" "^1.0.0" 1971 | 1972 | "reusify@^1.0.4": 1973 | "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 1974 | "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1975 | "version" "1.0.4" 1976 | 1977 | "rimraf@^3.0.2": 1978 | "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" 1979 | "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 1980 | "version" "3.0.2" 1981 | dependencies: 1982 | "glob" "^7.1.3" 1983 | 1984 | "rollup@^3.7.0": 1985 | "integrity" "sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==" 1986 | "resolved" "https://registry.npmjs.org/rollup/-/rollup-3.10.1.tgz" 1987 | "version" "3.10.1" 1988 | optionalDependencies: 1989 | "fsevents" "~2.3.2" 1990 | 1991 | "rollup@2.78.1": 1992 | "integrity" "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==" 1993 | "resolved" "https://registry.npmmirror.com/rollup/-/rollup-2.78.1.tgz" 1994 | "version" "2.78.1" 1995 | optionalDependencies: 1996 | "fsevents" "~2.3.2" 1997 | 1998 | "run-parallel@^1.1.9": 1999 | "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" 2000 | "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 2001 | "version" "1.2.0" 2002 | dependencies: 2003 | "queue-microtask" "^1.2.2" 2004 | 2005 | "rxjs@7.5.7": 2006 | "integrity" "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==" 2007 | "resolved" "https://registry.npmmirror.com/rxjs/-/rxjs-7.5.7.tgz" 2008 | "version" "7.5.7" 2009 | dependencies: 2010 | "tslib" "^2.1.0" 2011 | 2012 | "safe-regex-test@^1.0.0": 2013 | "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" 2014 | "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" 2015 | "version" "1.0.0" 2016 | dependencies: 2017 | "call-bind" "^1.0.2" 2018 | "get-intrinsic" "^1.1.3" 2019 | "is-regex" "^1.1.4" 2020 | 2021 | "semver@^5.5.0": 2022 | "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 2023 | "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" 2024 | "version" "5.7.1" 2025 | 2026 | "semver@^7.3.5", "semver@^7.3.6", "semver@^7.3.7": 2027 | "integrity" "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==" 2028 | "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" 2029 | "version" "7.3.8" 2030 | dependencies: 2031 | "lru-cache" "^6.0.0" 2032 | 2033 | "semver@2 || 3 || 4 || 5": 2034 | "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 2035 | "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" 2036 | "version" "5.7.1" 2037 | 2038 | "shebang-command@^1.2.0": 2039 | "integrity" "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" 2040 | "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" 2041 | "version" "1.2.0" 2042 | dependencies: 2043 | "shebang-regex" "^1.0.0" 2044 | 2045 | "shebang-command@^2.0.0": 2046 | "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" 2047 | "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 2048 | "version" "2.0.0" 2049 | dependencies: 2050 | "shebang-regex" "^3.0.0" 2051 | 2052 | "shebang-regex@^1.0.0": 2053 | "integrity" "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" 2054 | "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" 2055 | "version" "1.0.0" 2056 | 2057 | "shebang-regex@^3.0.0": 2058 | "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" 2059 | "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 2060 | "version" "3.0.0" 2061 | 2062 | "shell-quote@^1.6.1": 2063 | "integrity" "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" 2064 | "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz" 2065 | "version" "1.7.4" 2066 | 2067 | "side-channel@^1.0.4": 2068 | "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" 2069 | "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" 2070 | "version" "1.0.4" 2071 | dependencies: 2072 | "call-bind" "^1.0.0" 2073 | "get-intrinsic" "^1.0.2" 2074 | "object-inspect" "^1.9.0" 2075 | 2076 | "slash@^3.0.0": 2077 | "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" 2078 | "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 2079 | "version" "3.0.0" 2080 | 2081 | "source-map-js@^1.0.2": 2082 | "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 2083 | "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" 2084 | "version" "1.0.2" 2085 | 2086 | "source-map@^0.6.1": 2087 | "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2088 | "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" 2089 | "version" "0.6.1" 2090 | 2091 | "sourcemap-codec@^1.4.8": 2092 | "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 2093 | "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" 2094 | "version" "1.4.8" 2095 | 2096 | "spdx-correct@^3.0.0": 2097 | "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" 2098 | "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" 2099 | "version" "3.1.1" 2100 | dependencies: 2101 | "spdx-expression-parse" "^3.0.0" 2102 | "spdx-license-ids" "^3.0.0" 2103 | 2104 | "spdx-exceptions@^2.1.0": 2105 | "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" 2106 | "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" 2107 | "version" "2.3.0" 2108 | 2109 | "spdx-expression-parse@^3.0.0": 2110 | "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" 2111 | "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" 2112 | "version" "3.0.1" 2113 | dependencies: 2114 | "spdx-exceptions" "^2.1.0" 2115 | "spdx-license-ids" "^3.0.0" 2116 | 2117 | "spdx-license-ids@^3.0.0": 2118 | "integrity" "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" 2119 | "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz" 2120 | "version" "3.0.12" 2121 | 2122 | "stream-buffers@^0.2.3": 2123 | "integrity" "sha512-ZRpmWyuCdg0TtNKk8bEqvm13oQvXMmzXDsfD4cBgcx5LouborvU5pm3JMkdTP3HcszyUI08AM1dHMXA5r2g6Sg==" 2124 | "resolved" "https://registry.npmmirror.com/stream-buffers/-/stream-buffers-0.2.6.tgz" 2125 | "version" "0.2.6" 2126 | 2127 | "string.prototype.padend@^3.0.0": 2128 | "integrity" "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==" 2129 | "resolved" "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz" 2130 | "version" "3.1.4" 2131 | dependencies: 2132 | "call-bind" "^1.0.2" 2133 | "define-properties" "^1.1.4" 2134 | "es-abstract" "^1.20.4" 2135 | 2136 | "string.prototype.trimend@^1.0.6": 2137 | "integrity" "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==" 2138 | "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" 2139 | "version" "1.0.6" 2140 | dependencies: 2141 | "call-bind" "^1.0.2" 2142 | "define-properties" "^1.1.4" 2143 | "es-abstract" "^1.20.4" 2144 | 2145 | "string.prototype.trimstart@^1.0.6": 2146 | "integrity" "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==" 2147 | "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" 2148 | "version" "1.0.6" 2149 | dependencies: 2150 | "call-bind" "^1.0.2" 2151 | "define-properties" "^1.1.4" 2152 | "es-abstract" "^1.20.4" 2153 | 2154 | "strip-ansi@^6.0.1": 2155 | "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" 2156 | "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 2157 | "version" "6.0.1" 2158 | dependencies: 2159 | "ansi-regex" "^5.0.1" 2160 | 2161 | "strip-bom@^3.0.0": 2162 | "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" 2163 | "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" 2164 | "version" "3.0.0" 2165 | 2166 | "strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1": 2167 | "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" 2168 | "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 2169 | "version" "3.1.1" 2170 | 2171 | "supports-color@^5.3.0": 2172 | "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" 2173 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 2174 | "version" "5.5.0" 2175 | dependencies: 2176 | "has-flag" "^3.0.0" 2177 | 2178 | "supports-color@^7.1.0": 2179 | "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" 2180 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 2181 | "version" "7.2.0" 2182 | dependencies: 2183 | "has-flag" "^4.0.0" 2184 | 2185 | "supports-preserve-symlinks-flag@^1.0.0": 2186 | "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 2187 | "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 2188 | "version" "1.0.0" 2189 | 2190 | "text-table@^0.2.0": 2191 | "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" 2192 | "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 2193 | "version" "0.2.0" 2194 | 2195 | "to-regex-range@^5.0.1": 2196 | "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" 2197 | "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 2198 | "version" "5.0.1" 2199 | dependencies: 2200 | "is-number" "^7.0.0" 2201 | 2202 | "tslib@^1.8.1": 2203 | "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2204 | "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" 2205 | "version" "1.14.1" 2206 | 2207 | "tslib@^2.1.0": 2208 | "integrity" "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" 2209 | "resolved" "https://registry.npmmirror.com/tslib/-/tslib-2.4.1.tgz" 2210 | "version" "2.4.1" 2211 | 2212 | "tsutils@^3.21.0": 2213 | "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" 2214 | "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" 2215 | "version" "3.21.0" 2216 | dependencies: 2217 | "tslib" "^1.8.1" 2218 | 2219 | "type-check@^0.4.0", "type-check@~0.4.0": 2220 | "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" 2221 | "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 2222 | "version" "0.4.0" 2223 | dependencies: 2224 | "prelude-ls" "^1.2.1" 2225 | 2226 | "type-fest@^0.20.2": 2227 | "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" 2228 | "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 2229 | "version" "0.20.2" 2230 | 2231 | "typed-array-length@^1.0.4": 2232 | "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" 2233 | "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" 2234 | "version" "1.0.4" 2235 | dependencies: 2236 | "call-bind" "^1.0.2" 2237 | "for-each" "^0.3.3" 2238 | "is-typed-array" "^1.1.9" 2239 | 2240 | "typescript@*", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@~4.7.4": 2241 | "integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" 2242 | "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" 2243 | "version" "4.7.4" 2244 | 2245 | "uberproto@^1.1.0": 2246 | "integrity" "sha512-pGtPAQmLwh+R9w81WVHzui1FfedpQWQpiaIIfPCwhtsBez4q6DYbJFfyXPVHPUTNFnedAvNEnkoFiLuhXIR94w==" 2247 | "resolved" "https://registry.npmmirror.com/uberproto/-/uberproto-1.2.0.tgz" 2248 | "version" "1.2.0" 2249 | 2250 | "unbox-primitive@^1.0.2": 2251 | "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" 2252 | "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" 2253 | "version" "1.0.2" 2254 | dependencies: 2255 | "call-bind" "^1.0.2" 2256 | "has-bigints" "^1.0.2" 2257 | "has-symbols" "^1.0.3" 2258 | "which-boxed-primitive" "^1.0.2" 2259 | 2260 | "universalify@^2.0.0": 2261 | "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" 2262 | "resolved" "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz" 2263 | "version" "2.0.0" 2264 | 2265 | "uri-js@^4.2.2": 2266 | "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" 2267 | "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 2268 | "version" "4.4.1" 2269 | dependencies: 2270 | "punycode" "^2.1.0" 2271 | 2272 | "util-deprecate@^1.0.2": 2273 | "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2274 | "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 2275 | "version" "1.0.2" 2276 | 2277 | "uuid@^9.0.0": 2278 | "integrity" "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" 2279 | "resolved" "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz" 2280 | "version" "9.0.0" 2281 | 2282 | "validate-npm-package-license@^3.0.1": 2283 | "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" 2284 | "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" 2285 | "version" "3.0.4" 2286 | dependencies: 2287 | "spdx-correct" "^3.0.0" 2288 | "spdx-expression-parse" "^3.0.0" 2289 | 2290 | "vite@^4.0.0": 2291 | "integrity" "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==" 2292 | "resolved" "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz" 2293 | "version" "4.0.4" 2294 | dependencies: 2295 | "esbuild" "^0.16.3" 2296 | "postcss" "^8.4.20" 2297 | "resolve" "^1.22.1" 2298 | "rollup" "^3.7.0" 2299 | optionalDependencies: 2300 | "fsevents" "~2.3.2" 2301 | 2302 | "vue-demi@*": 2303 | "integrity" "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==" 2304 | "resolved" "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz" 2305 | "version" "0.13.11" 2306 | 2307 | "vue-eslint-parser@^9.0.0", "vue-eslint-parser@^9.0.1": 2308 | "integrity" "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==" 2309 | "resolved" "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz" 2310 | "version" "9.1.0" 2311 | dependencies: 2312 | "debug" "^4.3.4" 2313 | "eslint-scope" "^7.1.1" 2314 | "eslint-visitor-keys" "^3.3.0" 2315 | "espree" "^9.3.1" 2316 | "esquery" "^1.4.0" 2317 | "lodash" "^4.17.21" 2318 | "semver" "^7.3.6" 2319 | 2320 | "vue-router@^4.1.6": 2321 | "integrity" "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==" 2322 | "resolved" "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz" 2323 | "version" "4.1.6" 2324 | dependencies: 2325 | "@vue/devtools-api" "^6.4.5" 2326 | 2327 | "vue-template-compiler@^2.7.14": 2328 | "integrity" "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==" 2329 | "resolved" "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz" 2330 | "version" "2.7.14" 2331 | dependencies: 2332 | "de-indent" "^1.0.2" 2333 | "he" "^1.2.0" 2334 | 2335 | "vue-tsc@^1.0.12": 2336 | "integrity" "sha512-mmU1s5SAqE1nByQAiQnao9oU4vX+mSdsgI8H57SfKH6UVzq/jP9+Dbi2GaV+0b4Cn361d2ln8m6xeU60ApiEXg==" 2337 | "resolved" "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.24.tgz" 2338 | "version" "1.0.24" 2339 | dependencies: 2340 | "@volar/vue-language-core" "1.0.24" 2341 | "@volar/vue-typescript" "1.0.24" 2342 | 2343 | "vue@^3.0.0-0 || ^2.6.0", "vue@^3.2.0", "vue@^3.2.25", "vue@^3.2.45", "vue@3.2.45": 2344 | "integrity" "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==" 2345 | "resolved" "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz" 2346 | "version" "3.2.45" 2347 | dependencies: 2348 | "@vue/compiler-dom" "3.2.45" 2349 | "@vue/compiler-sfc" "3.2.45" 2350 | "@vue/runtime-dom" "3.2.45" 2351 | "@vue/server-renderer" "3.2.45" 2352 | "@vue/shared" "3.2.45" 2353 | 2354 | "which-boxed-primitive@^1.0.2": 2355 | "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" 2356 | "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" 2357 | "version" "1.0.2" 2358 | dependencies: 2359 | "is-bigint" "^1.0.1" 2360 | "is-boolean-object" "^1.1.0" 2361 | "is-number-object" "^1.0.4" 2362 | "is-string" "^1.0.5" 2363 | "is-symbol" "^1.0.3" 2364 | 2365 | "which-typed-array@^1.1.9": 2366 | "integrity" "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==" 2367 | "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" 2368 | "version" "1.1.9" 2369 | dependencies: 2370 | "available-typed-arrays" "^1.0.5" 2371 | "call-bind" "^1.0.2" 2372 | "for-each" "^0.3.3" 2373 | "gopd" "^1.0.1" 2374 | "has-tostringtag" "^1.0.0" 2375 | "is-typed-array" "^1.1.10" 2376 | 2377 | "which@^1.2.9": 2378 | "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" 2379 | "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" 2380 | "version" "1.3.1" 2381 | dependencies: 2382 | "isexe" "^2.0.0" 2383 | 2384 | "which@^2.0.1": 2385 | "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" 2386 | "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 2387 | "version" "2.0.2" 2388 | dependencies: 2389 | "isexe" "^2.0.0" 2390 | 2391 | "word-wrap@^1.2.3": 2392 | "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" 2393 | "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 2394 | "version" "1.2.3" 2395 | 2396 | "wrappy@1": 2397 | "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2398 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 2399 | "version" "1.0.2" 2400 | 2401 | "xml-name-validator@^4.0.0": 2402 | "integrity" "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" 2403 | "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" 2404 | "version" "4.0.0" 2405 | 2406 | "yallist@^4.0.0": 2407 | "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2408 | "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 2409 | "version" "4.0.0" 2410 | 2411 | "yocto-queue@^0.1.0": 2412 | "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" 2413 | "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" 2414 | "version" "0.1.0" 2415 | --------------------------------------------------------------------------------