김대선

Merge branch 'master' of http://khuhub.khu.ac.kr/2017103961/Recruitment_Informat…

…ion_chatbot into hotfixes
1 -const express = require('express') 1 +var express = require('express');
2 +const request = require('request');
3 +const TARGET_URL = 'https://api.line.me/v2/bot/message/reply'
4 +const TOKEN = require('./config').TOKEN
5 +const fs = require('fs');
6 +const path = require('path');
7 +const HTTPS = require('https');
8 +const domain = require('./config').domain
9 +const sslport = 23023;
10 +const bodyParser = require('body-parser');
11 +
2 const schedule = require('node-schedule') 12 const schedule = require('node-schedule')
3 13
4 const data = require('./functions/dataFunctions') 14 const data = require('./functions/dataFunctions')
5 const find = require('./functions/findFunction') 15 const find = require('./functions/findFunction')
6 -const app = express();
7 16
17 +// 0초 0분 0시 아무날 아무달 아무년
18 +const saveData = schedule.scheduleJob('00 0 00 * * *', data.save)
8 19
20 +var app = express();
21 +app.use(bodyParser.json());
22 +app.post('/hook', function (req, res) {
23 + var eventObj = req.body.events[0];
9 24
10 -// 0초 0분 0시 아무날 아무달 아무년 25 + var source = eventObj.source;
11 -const saveData = schedule.scheduleJob('55 45 20 * * *', data.save) 26 + var message = eventObj.message;
27 + // request log
28 + console.log('======================', new Date() ,'======================');
29 + console.log('[queryString]', req.query)
30 + console.log('[request]', req.body);
31 + console.log('[request source] ', eventObj.source);
32 + console.log('[request message]', eventObj.message);
33 + console.log('[request postback]', eventObj.postback);
34 +
35 + let messageData
36 + const messageResult = []
37 + let string
38 + let start
39 + let finish
40 + let data
41 + let flag = true
42 + let button
43 + if(eventObj.type == "message"){
44 + start = 0;
45 + finish = start + 4
46 +
47 + button = {
48 + "type" : "flex",
49 + "altText" : "test FLEX",
50 + "contents" : {
51 + "type": "bubble",
52 + "body": {
53 + "type": "box",
54 + "layout" : "vertical",
55 + "contents" : [
56 + {
57 + "type": "button",
58 + "action": {
59 + "type":"postback",
60 + "label":"회사명으로 검색하기",
61 + "data": eventObj.message.text + "|||0|||" + "companyName"
62 + },
63 + "style": "primary",
64 + "color": "#ff9a9e"
65 + },
66 + {
67 + "type": "button",
68 + "action": {
69 + "type":"postback",
70 + "label":"태그로 검색하기",
71 + "data": eventObj.message.text + "|||0|||" + "tag"
72 + },
73 + "style": "primary",
74 + "color": "#fbc2eb"
75 + },
76 + {
77 + "type": "button",
78 + "action": {
79 + "type":"postback",
80 + "label":"제목으로 검색하기",
81 + "data": eventObj.message.text + "|||0|||" + "title"
82 + },
83 + "style": "primary",
84 + "color": "#8fd3f4"
85 + }
86 + ]
87 + }
88 + }
89 + }
90 + result = {
91 + url: TARGET_URL,
92 + headers: {
93 + 'Authorization': `Bearer ${TOKEN}`
94 + },
95 + json: {
96 + "replyToken":eventObj.replyToken,
97 + "messages": [button]
98 + }
99 + }
100 + request.post(result ,(error, response, body) => {
101 + console.log(body)
102 + });
103 +
104 + res.sendStatus(200);
105 + }
106 + else if(eventObj.type = "postback"){
107 + postbackData = eventObj.postback.data.split("|||")
108 + if(postbackData[2] == "companyName") messageData = find.byCompanyName(postbackData[0])
109 + else if(postbackData[2] == "tag") messageData = find.byTags(postbackData[0])
110 + else if(postbackData[2] == "title") messageData = find.byTitle(postbackData[0])
111 + if(messageData.length == 0){
112 + result = {
113 + url: TARGET_URL,
114 + headers: {
115 + 'Authorization': `Bearer ${TOKEN}`
116 + },
117 + json: {
118 + "replyToken":eventObj.replyToken,
119 + "messages": [{
120 + "type" : "text",
121 + "text" : "검색결과가 없습니다!"
122 + }]
123 + }
124 + }
125 + request.post(result ,(error, response, body) => {
126 + console.log(body)
127 + });
12 128
13 -const server = app.listen(3000,()=>{ 129 + res.sendStatus(200);
14 - const host = server.address().address 130 + }
15 - const port = server.address().port 131 + else{
16 - console.log("app listening at http://%s:%s", host, port) 132 + start = parseInt(eventObj.postback.data.split("|||")[1])
17 -}) 133 + finish = start + 4
134 + if (finish >= messageData.length){
135 + finish = messageData.length
136 + flag = false
137 + }
18 138
139 + button = {
140 + "type" : "flex",
141 + "altText" : "test FLEX",
142 + "contents" : {
143 + "type": "bubble",
144 + "body": {
145 + "type": "box",
146 + "layout" : "vertical",
147 + "contents" : [
148 + {
149 + "type": "button",
150 + "action": {
151 + "type":"postback",
152 + "label":"다음 보기",
153 + "data": postbackData[0] + " " + finish + " " + postbackData[2]
154 + },
155 + "style": "primary",
156 + "color": "#fbc2eb"
157 + }
158 + ]
159 + }
160 + }
161 + }
162 + for(start ; start < finish; start++){
163 + string = "제목 : " + messageData[start].title +"\n" + "회사명 : " + messageData[start].companyName + "\n" + "tags : " + messageData[start].tags.toString() +"\n" + "링크 : " + messageData[start].url + "\n"
164 + messageResult.push({
165 + "type" : "text",
166 + "text" : string
167 + })
168 + }
169 + if(flag){
170 + messageResult.push(button)
171 + result = {
172 + url: TARGET_URL,
173 + headers: {
174 + 'Authorization': `Bearer ${TOKEN}`
175 + },
176 + json: {
177 + "replyToken":eventObj.replyToken,
178 + "messages": messageResult
179 + }
180 + }
181 + }
182 + else{
183 + result = {
184 + url: TARGET_URL,
185 + headers: {
186 + 'Authorization': `Bearer ${TOKEN}`
187 + },
188 + json: {
189 + "replyToken":eventObj.replyToken,
190 + "messages": messageResult
191 + }
192 + }
193 + }
194 + request.post(result ,(error, response, body) => {
195 + console.log(body)
196 + });
19 197
20 -app.get('/', async (req, res)=>{ 198 + res.sendStatus(200);
199 + }
200 + }
201 +});
202 +try {
203 + const option = {
204 + ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'),
205 + key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/privkey.pem'), 'utf8').toString(),
206 + cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain +'/cert.pem'), 'utf8').toString(),
207 + };
21 208
22 - console.log(find.byCompanyName('naver')[0], find.byTags('백엔드')[0], find.byTitle('백엔드')[0])
23 - res.send('helloworld')
24 -})
...\ No newline at end of file ...\ No newline at end of file
209 + HTTPS.createServer(option, app).listen(sslport, () => {
210 + console.log(`[HTTPS] Server is started on port ${sslport}`);
211 + });
212 +} catch (error) {
213 + console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
214 + console.log(error);
215 +}
......
1 const fs = require('fs') 1 const fs = require('fs')
2 const functions = require('./function') 2 const functions = require('./function')
3 3
4 -const read = () =>{ 4 +let status = false
5 - const data = []
6 - let title = ""
7 - let tags = []
8 - let url = ""
9 - let companyName = ""
10 - const today = new Date()
11 - const string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth()}.${today.getDate()}`, 'utf-8', 'r')
12 - const stringArray = string.split('\n')
13 - const size = stringArray.length
14 - for(let i = 0 ; i < size; i++){
15 - if( i % 4 == 0){
16 - title = stringArray[i].replace("title : ", "")
17 - }
18 - else if( i % 4 == 1){
19 - tags = stringArray[i].replace("tags : ", "").split(",")
20 - }
21 - else if( i % 4 == 2){
22 - url = stringArray[i].replace("url : ", "")
23 - }
24 - else if ( i % 4 == 3){
25 - companyName = stringArray[i].replace("companyName : ", "")
26 - data.push({
27 - title : title,
28 - tags : tags,
29 - url : url,
30 - companyName : companyName
31 - })
32 - }
33 - }
34 - return data
35 -}
36 5
37 const save = async()=> { 6 const save = async()=> {
7 + if(status){
8 + return
9 + }
10 + else if(!status){
11 + status = true
12 + }
38 try { 13 try {
39 let string = "" 14 let string = ""
40 let data = await functions.getKakaoData() 15 let data = await functions.getKakaoData()
...@@ -49,7 +24,6 @@ const save = async()=> { ...@@ -49,7 +24,6 @@ const save = async()=> {
49 temp = "companyName : " + i.companyName 24 temp = "companyName : " + i.companyName
50 string = string + temp + "\n" 25 string = string + temp + "\n"
51 } 26 }
52 -
53 data = await functions.getNaverFunction() 27 data = await functions.getNaverFunction()
54 temp = "" 28 temp = ""
55 for(let i of data){ 29 for(let i of data){
...@@ -62,7 +36,6 @@ const save = async()=> { ...@@ -62,7 +36,6 @@ const save = async()=> {
62 temp = "companyName : " + i.companyName 36 temp = "companyName : " + i.companyName
63 string = string + temp + "\n" 37 string = string + temp + "\n"
64 } 38 }
65 -
66 data = await functions.getProgrammersFunction() 39 data = await functions.getProgrammersFunction()
67 temp = "" 40 temp = ""
68 for(let i of data){ 41 for(let i of data){
...@@ -75,20 +48,76 @@ const save = async()=> { ...@@ -75,20 +48,76 @@ const save = async()=> {
75 temp = "companyName : " + i.companyName 48 temp = "companyName : " + i.companyName
76 string = string + temp + "\n" 49 string = string + temp + "\n"
77 } 50 }
51 +
78 const today = new Date() 52 const today = new Date()
79 fs.writeFile(`./datas/${today.getFullYear()}.${today.getMonth()}.${today.getDate()}`, string, 'utf-8', (err)=>{ 53 fs.writeFile(`./datas/${today.getFullYear()}.${today.getMonth()}.${today.getDate()}`, string, 'utf-8', (err)=>{
54 + status = false
80 if(err){ 55 if(err){
81 console.log("파일저장시에 오류") 56 console.log("파일저장시에 오류")
82 - console.log(err)
83 - save()
84 } 57 }
85 else console.log("저장완료!") 58 else console.log("저장완료!")
86 }) 59 })
87 } catch (error) { 60 } catch (error) {
88 - console.log("데이터 가져오는 과정에서 오류") 61 + status = false
89 - console.log(error) 62 + console.log("파일저장시에 오류")
63 + }
64 +}
65 +
66 +const read = () =>{
67 + const data = []
68 + let title = ""
69 + let tags = []
70 + let url = ""
71 + let companyName = ""
72 + // const today = new Date()
73 + const today = new Date()
74 + let string
75 + try {
76 + string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth()}.${today.getDate()}`, 'utf-8', 'r')
77 + } catch (error) {
90 save() 78 save()
79 + if(today.getDate()-1 == 0){
80 + if([1, 3, 5, 7, 8, 10, 12].includes(today.getMonth() - 1)){
81 + string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth() - 1}.${31}`, 'utf-8', 'r')
91 } 82 }
83 + else if([4, 6, 9, 11].includes(today.getMonth() - 1)){
84 + string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth()}.${30}`, 'utf-8', 'r')
85 + }
86 + else if (2 == today.getMonth() - 1){
87 + string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth()}.${28}`, 'utf-8', 'r')
88 + }
89 + else if (0 == today.getMonth() - 1){
90 + string = fs.readFileSync(`./datas/${today.getFullYear() - 1}.${12}.${31}`, 'utf-8', 'r')
91 + }
92 + }
93 + else{
94 + string = fs.readFileSync(`./datas/${today.getFullYear()}.${today.getMonth()}.${today.getDate()-1}`, 'utf-8', 'r')
95 + }
96 + }
97 + return string
98 + const stringArray = string.split('\n')
99 + const size = stringArray.length
100 + for(let i = 0 ; i < size; i++){
101 + if( i % 4 == 0){
102 + title = stringArray[i].replace("title : ", "")
103 + }
104 + else if( i % 4 == 1){
105 + tags = stringArray[i].replace("tags : ", "").split(",")
106 + }
107 + else if( i % 4 == 2){
108 + url = stringArray[i].replace("url : ", "")
109 + }
110 + else if ( i % 4 == 3){
111 + companyName = stringArray[i].replace("companyName : ", "")
112 + data.push({
113 + title : title,
114 + tags : tags,
115 + url : url,
116 + companyName : companyName
117 + })
118 + }
119 + }
120 + return data
92 } 121 }
93 122
94 module.exports = { 123 module.exports = {
......
...@@ -32,24 +32,19 @@ const makeObject = (array)=>{ ...@@ -32,24 +32,19 @@ const makeObject = (array)=>{
32 return result 32 return result
33 } 33 }
34 34
35 -const moveNextPage = async (page)=>{
36 -
37 - await page.click('#mArticle > div > div.paging_list > span > a:nth-child(10) > span > span').catch((error)=>{
38 - })
39 - await page.waitForTimeout(1000)
40 - return await page.content()
41 -}
42 -
43 const getData = async ()=>{ 35 const getData = async ()=>{
44 const browser = await puppeteer.launch(); 36 const browser = await puppeteer.launch();
45 const page = await browser.newPage(); 37 const page = await browser.newPage();
38 + page.setDefaultNavigationTimeout(0)
46 39
47 let result = [] 40 let result = []
48 let temp = "" 41 let temp = ""
49 - 42 + let count = 1
50 await page.goto('https://careers.kakao.com/jobs') 43 await page.goto('https://careers.kakao.com/jobs')
51 - let content = await page.content() 44 + let content = ""
52 while(true){ 45 while(true){
46 + await page.goto(`https://careers.kakao.com/jobs?page=${count}`)
47 + content = await page.content()
53 if(temp == content){ 48 if(temp == content){
54 break; 49 break;
55 } 50 }
...@@ -66,12 +61,12 @@ const getData = async ()=>{ ...@@ -66,12 +61,12 @@ const getData = async ()=>{
66 resArr.pop() 61 resArr.pop()
67 result = result.concat(await makeObject(resArr)) 62 result = result.concat(await makeObject(resArr))
68 temp = content 63 temp = content
69 - content = await moveNextPage(page) 64 + count = count + 1
70 } 65 }
66 + console.log("kakao : ", result.length)
71 return result 67 return result
72 } 68 }
73 69
74 module.exports = { 70 module.exports = {
75 getData : getData 71 getData : getData
76 } 72 }
77 -
......
...@@ -40,19 +40,25 @@ const makeObject = (array)=>{ ...@@ -40,19 +40,25 @@ const makeObject = (array)=>{
40 const getData = async ()=>{ 40 const getData = async ()=>{
41 const browser = await puppeteer.launch(); 41 const browser = await puppeteer.launch();
42 const page = await browser.newPage(); 42 const page = await browser.newPage();
43 + page.setDefaultNavigationTimeout(0)
43 44
44 await page.goto('https://recruit.navercorp.com/naver/job/list/developer') 45 await page.goto('https://recruit.navercorp.com/naver/job/list/developer')
45 let content = await page.content() 46 let content = await page.content()
46 - let temp = null; 47 + let temp = "";
47 - while(true){ 48 + let Flag = true
48 - if (temp == content) break; 49 + while(Flag){
50 + if (temp == content){
51 + Flag = false
52 + break;
53 + }
49 else{ 54 else{
50 - temp = await page.content() 55 + temp = content
51 await page.click('#moreDiv > button').catch((error)=>{ 56 await page.click('#moreDiv > button').catch((error)=>{
52 - 57 + Flag = false
53 }) 58 })
54 - await page.waitForTimeout(200) 59 + await page.waitForTimeout(2000)
55 content = await page.content() 60 content = await page.content()
61 +
56 } 62 }
57 } 63 }
58 let $ = cheerio.load(content, {decodeEntities: true}) 64 let $ = cheerio.load(content, {decodeEntities: true})
...@@ -66,6 +72,7 @@ const getData = async ()=>{ ...@@ -66,6 +72,7 @@ const getData = async ()=>{
66 }) 72 })
67 resArr = result.split('</li><li>') 73 resArr = result.split('</li><li>')
68 result = makeObject(resArr) 74 result = makeObject(resArr)
75 + console.log("naver : ", result.length)
69 return result; 76 return result;
70 } 77 }
71 78
......
...@@ -43,6 +43,7 @@ const makeObject = (array)=>{ ...@@ -43,6 +43,7 @@ const makeObject = (array)=>{
43 const getData = async ()=>{ 43 const getData = async ()=>{
44 const browser = await puppeteer.launch(); 44 const browser = await puppeteer.launch();
45 const page = await browser.newPage(); 45 const page = await browser.newPage();
46 + page.setDefaultNavigationTimeout(0)
46 47
47 let result = [] 48 let result = []
48 let temp = "" 49 let temp = ""
...@@ -56,12 +57,10 @@ const getData = async ()=>{ ...@@ -56,12 +57,10 @@ const getData = async ()=>{
56 decodeEntities : true 57 decodeEntities : true
57 } 58 }
58 }).replace(/(<([^>]+)>)*(\\t)?/gi, "") 59 }).replace(/(<([^>]+)>)*(\\t)?/gi, "")
59 - console.log(final)
60 while(true){ 60 while(true){
61 await page.goto(`https://programmers.co.kr/job?page=${count}`) 61 await page.goto(`https://programmers.co.kr/job?page=${count}`)
62 content = await page.content() 62 content = await page.content()
63 if(final < count){ 63 if(final < count){
64 - console.log("finish", result.length)
65 break; 64 break;
66 } 65 }
67 $ = cheerio.load(content, {decodeEntities: true}) 66 $ = cheerio.load(content, {decodeEntities: true})
...@@ -76,7 +75,6 @@ const getData = async ()=>{ ...@@ -76,7 +75,6 @@ const getData = async ()=>{
76 } 75 }
77 }) 76 })
78 if(item ==''){ 77 if(item ==''){
79 - console.log("break!!!!")
80 break; 78 break;
81 } 79 }
82 item = item.split("</div>`") 80 item = item.split("</div>`")
...@@ -85,8 +83,8 @@ const getData = async ()=>{ ...@@ -85,8 +83,8 @@ const getData = async ()=>{
85 } 83 }
86 result = result.concat(await makeObject(resArr)) 84 result = result.concat(await makeObject(resArr))
87 count = count + 1 85 count = count + 1
88 - resArr = []
89 } 86 }
87 + console.log("kakao : ", result.length)
90 return result 88 return result
91 } 89 }
92 90
......
1 { 1 {
2 "name": "recruitment_information_chatbot", 2 "name": "recruitment_information_chatbot",
3 "version": "1.0.0", 3 "version": "1.0.0",
4 - "lockfileVersion": 2, 4 + "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 - "packages": {
7 - "": {
8 - "name": "recruitment_information_chatbot",
9 - "version": "1.0.0",
10 - "license": "ISC",
11 - "dependencies": {
12 - "cheerio": "^1.0.0-rc.9",
13 - "express": "^4.17.1",
14 - "node-schedule": "^2.0.0",
15 - "puppeteer": "^9.1.1",
16 - "sanitize-html": "^2.3.3"
17 - }
18 - },
19 - "node_modules/@types/node": {
20 - "version": "15.0.2",
21 - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz",
22 - "integrity": "sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA==",
23 - "optional": true
24 - },
25 - "node_modules/@types/yauzl": {
26 - "version": "2.9.1",
27 - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
28 - "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
29 - "optional": true,
30 - "dependencies": {
31 - "@types/node": "*"
32 - }
33 - },
34 - "node_modules/accepts": {
35 - "version": "1.3.7",
36 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
37 - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
38 - "dependencies": {
39 - "mime-types": "~2.1.24",
40 - "negotiator": "0.6.2"
41 - },
42 - "engines": {
43 - "node": ">= 0.6"
44 - }
45 - },
46 - "node_modules/agent-base": {
47 - "version": "6.0.2",
48 - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
49 - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
50 - "dependencies": {
51 - "debug": "4"
52 - },
53 - "engines": {
54 - "node": ">= 6.0.0"
55 - }
56 - },
57 - "node_modules/agent-base/node_modules/debug": {
58 - "version": "4.3.1",
59 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
60 - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
61 - "dependencies": {
62 - "ms": "2.1.2"
63 - },
64 - "engines": {
65 - "node": ">=6.0"
66 - },
67 - "peerDependenciesMeta": {
68 - "supports-color": {
69 - "optional": true
70 - }
71 - }
72 - },
73 - "node_modules/agent-base/node_modules/ms": {
74 - "version": "2.1.2",
75 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
76 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
77 - },
78 - "node_modules/array-flatten": {
79 - "version": "1.1.1",
80 - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
81 - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
82 - },
83 - "node_modules/balanced-match": {
84 - "version": "1.0.2",
85 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
86 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
87 - },
88 - "node_modules/base64-js": {
89 - "version": "1.5.1",
90 - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
91 - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
92 - "funding": [
93 - {
94 - "type": "github",
95 - "url": "https://github.com/sponsors/feross"
96 - },
97 - {
98 - "type": "patreon",
99 - "url": "https://www.patreon.com/feross"
100 - },
101 - {
102 - "type": "consulting",
103 - "url": "https://feross.org/support"
104 - }
105 - ]
106 - },
107 - "node_modules/bl": {
108 - "version": "4.1.0",
109 - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
110 - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
111 - "dependencies": {
112 - "buffer": "^5.5.0",
113 - "inherits": "^2.0.4",
114 - "readable-stream": "^3.4.0"
115 - }
116 - },
117 - "node_modules/bl/node_modules/inherits": {
118 - "version": "2.0.4",
119 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
120 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
121 - },
122 - "node_modules/body-parser": {
123 - "version": "1.19.0",
124 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
125 - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
126 - "dependencies": {
127 - "bytes": "3.1.0",
128 - "content-type": "~1.0.4",
129 - "debug": "2.6.9",
130 - "depd": "~1.1.2",
131 - "http-errors": "1.7.2",
132 - "iconv-lite": "0.4.24",
133 - "on-finished": "~2.3.0",
134 - "qs": "6.7.0",
135 - "raw-body": "2.4.0",
136 - "type-is": "~1.6.17"
137 - },
138 - "engines": {
139 - "node": ">= 0.8"
140 - }
141 - },
142 - "node_modules/boolbase": {
143 - "version": "1.0.0",
144 - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
145 - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
146 - },
147 - "node_modules/brace-expansion": {
148 - "version": "1.1.11",
149 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
150 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
151 - "dependencies": {
152 - "balanced-match": "^1.0.0",
153 - "concat-map": "0.0.1"
154 - }
155 - },
156 - "node_modules/buffer": {
157 - "version": "5.7.1",
158 - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
159 - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
160 - "funding": [
161 - {
162 - "type": "github",
163 - "url": "https://github.com/sponsors/feross"
164 - },
165 - {
166 - "type": "patreon",
167 - "url": "https://www.patreon.com/feross"
168 - },
169 - {
170 - "type": "consulting",
171 - "url": "https://feross.org/support"
172 - }
173 - ],
174 - "dependencies": {
175 - "base64-js": "^1.3.1",
176 - "ieee754": "^1.1.13"
177 - }
178 - },
179 - "node_modules/buffer-crc32": {
180 - "version": "0.2.13",
181 - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
182 - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
183 - "engines": {
184 - "node": "*"
185 - }
186 - },
187 - "node_modules/bytes": {
188 - "version": "3.1.0",
189 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
190 - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
191 - "engines": {
192 - "node": ">= 0.8"
193 - }
194 - },
195 - "node_modules/call-bind": {
196 - "version": "1.0.2",
197 - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
198 - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
199 - "dependencies": {
200 - "function-bind": "^1.1.1",
201 - "get-intrinsic": "^1.0.2"
202 - },
203 - "funding": {
204 - "url": "https://github.com/sponsors/ljharb"
205 - }
206 - },
207 - "node_modules/cheerio": {
208 - "version": "1.0.0-rc.9",
209 - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz",
210 - "integrity": "sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==",
211 - "dependencies": {
212 - "cheerio-select": "^1.4.0",
213 - "dom-serializer": "^1.3.1",
214 - "domhandler": "^4.2.0",
215 - "htmlparser2": "^6.1.0",
216 - "parse5": "^6.0.1",
217 - "parse5-htmlparser2-tree-adapter": "^6.0.1",
218 - "tslib": "^2.2.0"
219 - },
220 - "engines": {
221 - "node": ">= 6"
222 - },
223 - "funding": {
224 - "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
225 - }
226 - },
227 - "node_modules/cheerio-select": {
228 - "version": "1.4.0",
229 - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.4.0.tgz",
230 - "integrity": "sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==",
231 - "dependencies": {
232 - "css-select": "^4.1.2",
233 - "css-what": "^5.0.0",
234 - "domelementtype": "^2.2.0",
235 - "domhandler": "^4.2.0",
236 - "domutils": "^2.6.0"
237 - },
238 - "funding": {
239 - "url": "https://github.com/sponsors/fb55"
240 - }
241 - },
242 - "node_modules/chownr": {
243 - "version": "1.1.4",
244 - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
245 - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
246 - },
247 - "node_modules/colorette": {
248 - "version": "1.2.2",
249 - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
250 - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
251 - },
252 - "node_modules/concat-map": {
253 - "version": "0.0.1",
254 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
255 - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
256 - },
257 - "node_modules/content-disposition": {
258 - "version": "0.5.3",
259 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
260 - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
261 - "dependencies": {
262 - "safe-buffer": "5.1.2"
263 - },
264 - "engines": {
265 - "node": ">= 0.6"
266 - }
267 - },
268 - "node_modules/content-type": {
269 - "version": "1.0.4",
270 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
271 - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
272 - "engines": {
273 - "node": ">= 0.6"
274 - }
275 - },
276 - "node_modules/cookie": {
277 - "version": "0.4.0",
278 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
279 - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
280 - "engines": {
281 - "node": ">= 0.6"
282 - }
283 - },
284 - "node_modules/cookie-signature": {
285 - "version": "1.0.6",
286 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
287 - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
288 - },
289 - "node_modules/cron-parser": {
290 - "version": "3.5.0",
291 - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-3.5.0.tgz",
292 - "integrity": "sha512-wyVZtbRs6qDfFd8ap457w3XVntdvqcwBGxBoTvJQH9KGVKL/fB+h2k3C8AqiVxvUQKN1Ps/Ns46CNViOpVDhfQ==",
293 - "dependencies": {
294 - "is-nan": "^1.3.2",
295 - "luxon": "^1.26.0"
296 - },
297 - "engines": {
298 - "node": ">=0.8"
299 - }
300 - },
301 - "node_modules/css-select": {
302 - "version": "4.1.2",
303 - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz",
304 - "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==",
305 - "dependencies": {
306 - "boolbase": "^1.0.0",
307 - "css-what": "^5.0.0",
308 - "domhandler": "^4.2.0",
309 - "domutils": "^2.6.0",
310 - "nth-check": "^2.0.0"
311 - },
312 - "funding": {
313 - "url": "https://github.com/sponsors/fb55"
314 - }
315 - },
316 - "node_modules/css-what": {
317 - "version": "5.0.0",
318 - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz",
319 - "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==",
320 - "engines": {
321 - "node": ">= 6"
322 - },
323 - "funding": {
324 - "url": "https://github.com/sponsors/fb55"
325 - }
326 - },
327 - "node_modules/debug": {
328 - "version": "2.6.9",
329 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
330 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
331 - "dependencies": {
332 - "ms": "2.0.0"
333 - }
334 - },
335 - "node_modules/deepmerge": {
336 - "version": "4.2.2",
337 - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
338 - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
339 - "engines": {
340 - "node": ">=0.10.0"
341 - }
342 - },
343 - "node_modules/define-properties": {
344 - "version": "1.1.3",
345 - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
346 - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
347 - "dependencies": {
348 - "object-keys": "^1.0.12"
349 - },
350 - "engines": {
351 - "node": ">= 0.4"
352 - }
353 - },
354 - "node_modules/depd": {
355 - "version": "1.1.2",
356 - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
357 - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
358 - "engines": {
359 - "node": ">= 0.6"
360 - }
361 - },
362 - "node_modules/destroy": {
363 - "version": "1.0.4",
364 - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
365 - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
366 - },
367 - "node_modules/devtools-protocol": {
368 - "version": "0.0.869402",
369 - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.869402.tgz",
370 - "integrity": "sha512-VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA=="
371 - },
372 - "node_modules/dom-serializer": {
373 - "version": "1.3.1",
374 - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz",
375 - "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==",
376 - "dependencies": {
377 - "domelementtype": "^2.0.1",
378 - "domhandler": "^4.0.0",
379 - "entities": "^2.0.0"
380 - },
381 - "funding": {
382 - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
383 - }
384 - },
385 - "node_modules/domelementtype": {
386 - "version": "2.2.0",
387 - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
388 - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
389 - "funding": [
390 - {
391 - "type": "github",
392 - "url": "https://github.com/sponsors/fb55"
393 - }
394 - ]
395 - },
396 - "node_modules/domhandler": {
397 - "version": "4.2.0",
398 - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
399 - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
400 - "dependencies": {
401 - "domelementtype": "^2.2.0"
402 - },
403 - "engines": {
404 - "node": ">= 4"
405 - },
406 - "funding": {
407 - "url": "https://github.com/fb55/domhandler?sponsor=1"
408 - }
409 - },
410 - "node_modules/domutils": {
411 - "version": "2.6.0",
412 - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz",
413 - "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==",
414 - "dependencies": {
415 - "dom-serializer": "^1.0.1",
416 - "domelementtype": "^2.2.0",
417 - "domhandler": "^4.2.0"
418 - },
419 - "funding": {
420 - "url": "https://github.com/fb55/domutils?sponsor=1"
421 - }
422 - },
423 - "node_modules/ee-first": {
424 - "version": "1.1.1",
425 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
426 - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
427 - },
428 - "node_modules/encodeurl": {
429 - "version": "1.0.2",
430 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
431 - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
432 - "engines": {
433 - "node": ">= 0.8"
434 - }
435 - },
436 - "node_modules/end-of-stream": {
437 - "version": "1.4.4",
438 - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
439 - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
440 - "dependencies": {
441 - "once": "^1.4.0"
442 - }
443 - },
444 - "node_modules/entities": {
445 - "version": "2.2.0",
446 - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
447 - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
448 - "funding": {
449 - "url": "https://github.com/fb55/entities?sponsor=1"
450 - }
451 - },
452 - "node_modules/escape-html": {
453 - "version": "1.0.3",
454 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
455 - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
456 - },
457 - "node_modules/escape-string-regexp": {
458 - "version": "4.0.0",
459 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
460 - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
461 - "engines": {
462 - "node": ">=10"
463 - },
464 - "funding": {
465 - "url": "https://github.com/sponsors/sindresorhus"
466 - }
467 - },
468 - "node_modules/etag": {
469 - "version": "1.8.1",
470 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
471 - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
472 - "engines": {
473 - "node": ">= 0.6"
474 - }
475 - },
476 - "node_modules/express": {
477 - "version": "4.17.1",
478 - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
479 - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
480 - "dependencies": {
481 - "accepts": "~1.3.7",
482 - "array-flatten": "1.1.1",
483 - "body-parser": "1.19.0",
484 - "content-disposition": "0.5.3",
485 - "content-type": "~1.0.4",
486 - "cookie": "0.4.0",
487 - "cookie-signature": "1.0.6",
488 - "debug": "2.6.9",
489 - "depd": "~1.1.2",
490 - "encodeurl": "~1.0.2",
491 - "escape-html": "~1.0.3",
492 - "etag": "~1.8.1",
493 - "finalhandler": "~1.1.2",
494 - "fresh": "0.5.2",
495 - "merge-descriptors": "1.0.1",
496 - "methods": "~1.1.2",
497 - "on-finished": "~2.3.0",
498 - "parseurl": "~1.3.3",
499 - "path-to-regexp": "0.1.7",
500 - "proxy-addr": "~2.0.5",
501 - "qs": "6.7.0",
502 - "range-parser": "~1.2.1",
503 - "safe-buffer": "5.1.2",
504 - "send": "0.17.1",
505 - "serve-static": "1.14.1",
506 - "setprototypeof": "1.1.1",
507 - "statuses": "~1.5.0",
508 - "type-is": "~1.6.18",
509 - "utils-merge": "1.0.1",
510 - "vary": "~1.1.2"
511 - },
512 - "engines": {
513 - "node": ">= 0.10.0"
514 - }
515 - },
516 - "node_modules/extract-zip": {
517 - "version": "2.0.1",
518 - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
519 - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
520 - "dependencies": {
521 - "@types/yauzl": "^2.9.1",
522 - "debug": "^4.1.1",
523 - "get-stream": "^5.1.0",
524 - "yauzl": "^2.10.0"
525 - },
526 - "bin": {
527 - "extract-zip": "cli.js"
528 - },
529 - "engines": {
530 - "node": ">= 10.17.0"
531 - },
532 - "optionalDependencies": {
533 - "@types/yauzl": "^2.9.1"
534 - }
535 - },
536 - "node_modules/extract-zip/node_modules/debug": {
537 - "version": "4.3.1",
538 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
539 - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
540 - "dependencies": {
541 - "ms": "2.1.2"
542 - },
543 - "engines": {
544 - "node": ">=6.0"
545 - },
546 - "peerDependenciesMeta": {
547 - "supports-color": {
548 - "optional": true
549 - }
550 - }
551 - },
552 - "node_modules/extract-zip/node_modules/ms": {
553 - "version": "2.1.2",
554 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
555 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
556 - },
557 - "node_modules/fd-slicer": {
558 - "version": "1.1.0",
559 - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
560 - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
561 - "dependencies": {
562 - "pend": "~1.2.0"
563 - }
564 - },
565 - "node_modules/finalhandler": {
566 - "version": "1.1.2",
567 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
568 - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
569 - "dependencies": {
570 - "debug": "2.6.9",
571 - "encodeurl": "~1.0.2",
572 - "escape-html": "~1.0.3",
573 - "on-finished": "~2.3.0",
574 - "parseurl": "~1.3.3",
575 - "statuses": "~1.5.0",
576 - "unpipe": "~1.0.0"
577 - },
578 - "engines": {
579 - "node": ">= 0.8"
580 - }
581 - },
582 - "node_modules/find-up": {
583 - "version": "4.1.0",
584 - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
585 - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
586 - "dependencies": {
587 - "locate-path": "^5.0.0",
588 - "path-exists": "^4.0.0"
589 - },
590 - "engines": {
591 - "node": ">=8"
592 - }
593 - },
594 - "node_modules/forwarded": {
595 - "version": "0.1.2",
596 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
597 - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
598 - "engines": {
599 - "node": ">= 0.6"
600 - }
601 - },
602 - "node_modules/fresh": {
603 - "version": "0.5.2",
604 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
605 - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
606 - "engines": {
607 - "node": ">= 0.6"
608 - }
609 - },
610 - "node_modules/fs-constants": {
611 - "version": "1.0.0",
612 - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
613 - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
614 - },
615 - "node_modules/fs.realpath": {
616 - "version": "1.0.0",
617 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
618 - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
619 - },
620 - "node_modules/function-bind": {
621 - "version": "1.1.1",
622 - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
623 - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
624 - },
625 - "node_modules/get-intrinsic": {
626 - "version": "1.1.1",
627 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
628 - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
629 - "dependencies": {
630 - "function-bind": "^1.1.1",
631 - "has": "^1.0.3",
632 - "has-symbols": "^1.0.1"
633 - },
634 - "funding": {
635 - "url": "https://github.com/sponsors/ljharb"
636 - }
637 - },
638 - "node_modules/get-stream": {
639 - "version": "5.2.0",
640 - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
641 - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
642 - "dependencies": {
643 - "pump": "^3.0.0"
644 - },
645 - "engines": {
646 - "node": ">=8"
647 - },
648 - "funding": {
649 - "url": "https://github.com/sponsors/sindresorhus"
650 - }
651 - },
652 - "node_modules/glob": {
653 - "version": "7.1.7",
654 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
655 - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
656 - "dependencies": {
657 - "fs.realpath": "^1.0.0",
658 - "inflight": "^1.0.4",
659 - "inherits": "2",
660 - "minimatch": "^3.0.4",
661 - "once": "^1.3.0",
662 - "path-is-absolute": "^1.0.0"
663 - },
664 - "engines": {
665 - "node": "*"
666 - },
667 - "funding": {
668 - "url": "https://github.com/sponsors/isaacs"
669 - }
670 - },
671 - "node_modules/has": {
672 - "version": "1.0.3",
673 - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
674 - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
675 - "dependencies": {
676 - "function-bind": "^1.1.1"
677 - },
678 - "engines": {
679 - "node": ">= 0.4.0"
680 - }
681 - },
682 - "node_modules/has-symbols": {
683 - "version": "1.0.2",
684 - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
685 - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
686 - "engines": {
687 - "node": ">= 0.4"
688 - },
689 - "funding": {
690 - "url": "https://github.com/sponsors/ljharb"
691 - }
692 - },
693 - "node_modules/htmlparser2": {
694 - "version": "6.1.0",
695 - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
696 - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
697 - "funding": [
698 - "https://github.com/fb55/htmlparser2?sponsor=1",
699 - {
700 - "type": "github",
701 - "url": "https://github.com/sponsors/fb55"
702 - }
703 - ],
704 - "dependencies": {
705 - "domelementtype": "^2.0.1",
706 - "domhandler": "^4.0.0",
707 - "domutils": "^2.5.2",
708 - "entities": "^2.0.0"
709 - }
710 - },
711 - "node_modules/http-errors": {
712 - "version": "1.7.2",
713 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
714 - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
715 - "dependencies": {
716 - "depd": "~1.1.2",
717 - "inherits": "2.0.3",
718 - "setprototypeof": "1.1.1",
719 - "statuses": ">= 1.5.0 < 2",
720 - "toidentifier": "1.0.0"
721 - },
722 - "engines": {
723 - "node": ">= 0.6"
724 - }
725 - },
726 - "node_modules/https-proxy-agent": {
727 - "version": "5.0.0",
728 - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
729 - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
730 - "dependencies": {
731 - "agent-base": "6",
732 - "debug": "4"
733 - },
734 - "engines": {
735 - "node": ">= 6"
736 - }
737 - },
738 - "node_modules/https-proxy-agent/node_modules/debug": {
739 - "version": "4.3.1",
740 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
741 - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
742 - "dependencies": {
743 - "ms": "2.1.2"
744 - },
745 - "engines": {
746 - "node": ">=6.0"
747 - },
748 - "peerDependenciesMeta": {
749 - "supports-color": {
750 - "optional": true
751 - }
752 - }
753 - },
754 - "node_modules/https-proxy-agent/node_modules/ms": {
755 - "version": "2.1.2",
756 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
757 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
758 - },
759 - "node_modules/iconv-lite": {
760 - "version": "0.4.24",
761 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
762 - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
763 - "dependencies": {
764 - "safer-buffer": ">= 2.1.2 < 3"
765 - },
766 - "engines": {
767 - "node": ">=0.10.0"
768 - }
769 - },
770 - "node_modules/ieee754": {
771 - "version": "1.2.1",
772 - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
773 - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
774 - "funding": [
775 - {
776 - "type": "github",
777 - "url": "https://github.com/sponsors/feross"
778 - },
779 - {
780 - "type": "patreon",
781 - "url": "https://www.patreon.com/feross"
782 - },
783 - {
784 - "type": "consulting",
785 - "url": "https://feross.org/support"
786 - }
787 - ]
788 - },
789 - "node_modules/inflight": {
790 - "version": "1.0.6",
791 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
792 - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
793 - "dependencies": {
794 - "once": "^1.3.0",
795 - "wrappy": "1"
796 - }
797 - },
798 - "node_modules/inherits": {
799 - "version": "2.0.3",
800 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
801 - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
802 - },
803 - "node_modules/ipaddr.js": {
804 - "version": "1.9.1",
805 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
806 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
807 - "engines": {
808 - "node": ">= 0.10"
809 - }
810 - },
811 - "node_modules/is-nan": {
812 - "version": "1.3.2",
813 - "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
814 - "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
815 - "dependencies": {
816 - "call-bind": "^1.0.0",
817 - "define-properties": "^1.1.3"
818 - },
819 - "engines": {
820 - "node": ">= 0.4"
821 - },
822 - "funding": {
823 - "url": "https://github.com/sponsors/ljharb"
824 - }
825 - },
826 - "node_modules/is-plain-object": {
827 - "version": "5.0.0",
828 - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
829 - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
830 - "engines": {
831 - "node": ">=0.10.0"
832 - }
833 - },
834 - "node_modules/klona": {
835 - "version": "2.0.4",
836 - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
837 - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
838 - "engines": {
839 - "node": ">= 8"
840 - }
841 - },
842 - "node_modules/locate-path": {
843 - "version": "5.0.0",
844 - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
845 - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
846 - "dependencies": {
847 - "p-locate": "^4.1.0"
848 - },
849 - "engines": {
850 - "node": ">=8"
851 - }
852 - },
853 - "node_modules/long-timeout": {
854 - "version": "0.1.1",
855 - "resolved": "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz",
856 - "integrity": "sha1-lyHXiLR+C8taJMLivuGg2lXatRQ="
857 - },
858 - "node_modules/luxon": {
859 - "version": "1.27.0",
860 - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.27.0.tgz",
861 - "integrity": "sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==",
862 - "engines": {
863 - "node": "*"
864 - }
865 - },
866 - "node_modules/media-typer": {
867 - "version": "0.3.0",
868 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
869 - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
870 - "engines": {
871 - "node": ">= 0.6"
872 - }
873 - },
874 - "node_modules/merge-descriptors": {
875 - "version": "1.0.1",
876 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
877 - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
878 - },
879 - "node_modules/methods": {
880 - "version": "1.1.2",
881 - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
882 - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
883 - "engines": {
884 - "node": ">= 0.6"
885 - }
886 - },
887 - "node_modules/mime": {
888 - "version": "1.6.0",
889 - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
890 - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
891 - "bin": {
892 - "mime": "cli.js"
893 - },
894 - "engines": {
895 - "node": ">=4"
896 - }
897 - },
898 - "node_modules/mime-db": {
899 - "version": "1.47.0",
900 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
901 - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
902 - "engines": {
903 - "node": ">= 0.6"
904 - }
905 - },
906 - "node_modules/mime-types": {
907 - "version": "2.1.30",
908 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
909 - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
910 - "dependencies": {
911 - "mime-db": "1.47.0"
912 - },
913 - "engines": {
914 - "node": ">= 0.6"
915 - }
916 - },
917 - "node_modules/minimatch": {
918 - "version": "3.0.4",
919 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
920 - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
921 - "dependencies": {
922 - "brace-expansion": "^1.1.7"
923 - },
924 - "engines": {
925 - "node": "*"
926 - }
927 - },
928 - "node_modules/mkdirp-classic": {
929 - "version": "0.5.3",
930 - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
931 - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
932 - },
933 - "node_modules/ms": {
934 - "version": "2.0.0",
935 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
936 - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
937 - },
938 - "node_modules/nanoid": {
939 - "version": "3.1.22",
940 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz",
941 - "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==",
942 - "bin": {
943 - "nanoid": "bin/nanoid.cjs"
944 - },
945 - "engines": {
946 - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
947 - }
948 - },
949 - "node_modules/negotiator": {
950 - "version": "0.6.2",
951 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
952 - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
953 - "engines": {
954 - "node": ">= 0.6"
955 - }
956 - },
957 - "node_modules/node-fetch": {
958 - "version": "2.6.1",
959 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
960 - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
961 - "engines": {
962 - "node": "4.x || >=6.0.0"
963 - }
964 - },
965 - "node_modules/node-schedule": {
966 - "version": "2.0.0",
967 - "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-2.0.0.tgz",
968 - "integrity": "sha512-cHc9KEcfiuXxYDU+HjsBVo2FkWL1jRAUoczFoMIzRBpOA4p/NRHuuLs85AWOLgKsHtSPjN8csvwIxc2SqMv+CQ==",
969 - "dependencies": {
970 - "cron-parser": "^3.1.0",
971 - "long-timeout": "0.1.1",
972 - "sorted-array-functions": "^1.3.0"
973 - },
974 - "engines": {
975 - "node": ">=6"
976 - }
977 - },
978 - "node_modules/nth-check": {
979 - "version": "2.0.0",
980 - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
981 - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
982 - "dependencies": {
983 - "boolbase": "^1.0.0"
984 - },
985 - "funding": {
986 - "url": "https://github.com/fb55/nth-check?sponsor=1"
987 - }
988 - },
989 - "node_modules/object-keys": {
990 - "version": "1.1.1",
991 - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
992 - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
993 - "engines": {
994 - "node": ">= 0.4"
995 - }
996 - },
997 - "node_modules/on-finished": {
998 - "version": "2.3.0",
999 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1000 - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
1001 - "dependencies": {
1002 - "ee-first": "1.1.1"
1003 - },
1004 - "engines": {
1005 - "node": ">= 0.8"
1006 - }
1007 - },
1008 - "node_modules/once": {
1009 - "version": "1.4.0",
1010 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1011 - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1012 - "dependencies": {
1013 - "wrappy": "1"
1014 - }
1015 - },
1016 - "node_modules/p-limit": {
1017 - "version": "2.3.0",
1018 - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1019 - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1020 - "dependencies": {
1021 - "p-try": "^2.0.0"
1022 - },
1023 - "engines": {
1024 - "node": ">=6"
1025 - },
1026 - "funding": {
1027 - "url": "https://github.com/sponsors/sindresorhus"
1028 - }
1029 - },
1030 - "node_modules/p-locate": {
1031 - "version": "4.1.0",
1032 - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1033 - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1034 - "dependencies": {
1035 - "p-limit": "^2.2.0"
1036 - },
1037 - "engines": {
1038 - "node": ">=8"
1039 - }
1040 - },
1041 - "node_modules/p-try": {
1042 - "version": "2.2.0",
1043 - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1044 - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1045 - "engines": {
1046 - "node": ">=6"
1047 - }
1048 - },
1049 - "node_modules/parse-srcset": {
1050 - "version": "1.0.2",
1051 - "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
1052 - "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE="
1053 - },
1054 - "node_modules/parse5": {
1055 - "version": "6.0.1",
1056 - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
1057 - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
1058 - },
1059 - "node_modules/parse5-htmlparser2-tree-adapter": {
1060 - "version": "6.0.1",
1061 - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
1062 - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
1063 - "dependencies": {
1064 - "parse5": "^6.0.1"
1065 - }
1066 - },
1067 - "node_modules/parseurl": {
1068 - "version": "1.3.3",
1069 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1070 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
1071 - "engines": {
1072 - "node": ">= 0.8"
1073 - }
1074 - },
1075 - "node_modules/path-exists": {
1076 - "version": "4.0.0",
1077 - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1078 - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1079 - "engines": {
1080 - "node": ">=8"
1081 - }
1082 - },
1083 - "node_modules/path-is-absolute": {
1084 - "version": "1.0.1",
1085 - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1086 - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1087 - "engines": {
1088 - "node": ">=0.10.0"
1089 - }
1090 - },
1091 - "node_modules/path-to-regexp": {
1092 - "version": "0.1.7",
1093 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1094 - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
1095 - },
1096 - "node_modules/pend": {
1097 - "version": "1.2.0",
1098 - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
1099 - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
1100 - },
1101 - "node_modules/pkg-dir": {
1102 - "version": "4.2.0",
1103 - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
1104 - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
1105 - "dependencies": {
1106 - "find-up": "^4.0.0"
1107 - },
1108 - "engines": {
1109 - "node": ">=8"
1110 - }
1111 - },
1112 - "node_modules/postcss": {
1113 - "version": "8.2.14",
1114 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.14.tgz",
1115 - "integrity": "sha512-+jD0ZijcvyCqPQo/m/CW0UcARpdFylq04of+Q7RKX6f/Tu+dvpUI/9Sp81+i6/vJThnOBX09Quw0ZLOVwpzX3w==",
1116 - "dependencies": {
1117 - "colorette": "^1.2.2",
1118 - "nanoid": "^3.1.22",
1119 - "source-map": "^0.6.1"
1120 - },
1121 - "engines": {
1122 - "node": "^10 || ^12 || >=14"
1123 - },
1124 - "funding": {
1125 - "type": "opencollective",
1126 - "url": "https://opencollective.com/postcss/"
1127 - }
1128 - },
1129 - "node_modules/progress": {
1130 - "version": "2.0.3",
1131 - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1132 - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1133 - "engines": {
1134 - "node": ">=0.4.0"
1135 - }
1136 - },
1137 - "node_modules/proxy-addr": {
1138 - "version": "2.0.6",
1139 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
1140 - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
1141 - "dependencies": {
1142 - "forwarded": "~0.1.2",
1143 - "ipaddr.js": "1.9.1"
1144 - },
1145 - "engines": {
1146 - "node": ">= 0.10"
1147 - }
1148 - },
1149 - "node_modules/proxy-from-env": {
1150 - "version": "1.1.0",
1151 - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
1152 - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
1153 - },
1154 - "node_modules/pump": {
1155 - "version": "3.0.0",
1156 - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1157 - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1158 - "dependencies": {
1159 - "end-of-stream": "^1.1.0",
1160 - "once": "^1.3.1"
1161 - }
1162 - },
1163 - "node_modules/puppeteer": {
1164 - "version": "9.1.1",
1165 - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz",
1166 - "integrity": "sha512-W+nOulP2tYd/ZG99WuZC/I5ljjQQ7EUw/jQGcIb9eu8mDlZxNY2SgcJXTLG9h5gRvqA3uJOe4hZXYsd3EqioMw==",
1167 - "hasInstallScript": true,
1168 - "dependencies": {
1169 - "debug": "^4.1.0",
1170 - "devtools-protocol": "0.0.869402",
1171 - "extract-zip": "^2.0.0",
1172 - "https-proxy-agent": "^5.0.0",
1173 - "node-fetch": "^2.6.1",
1174 - "pkg-dir": "^4.2.0",
1175 - "progress": "^2.0.1",
1176 - "proxy-from-env": "^1.1.0",
1177 - "rimraf": "^3.0.2",
1178 - "tar-fs": "^2.0.0",
1179 - "unbzip2-stream": "^1.3.3",
1180 - "ws": "^7.2.3"
1181 - },
1182 - "engines": {
1183 - "node": ">=10.18.1"
1184 - }
1185 - },
1186 - "node_modules/puppeteer/node_modules/debug": {
1187 - "version": "4.3.1",
1188 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1189 - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1190 - "dependencies": {
1191 - "ms": "2.1.2"
1192 - },
1193 - "engines": {
1194 - "node": ">=6.0"
1195 - },
1196 - "peerDependenciesMeta": {
1197 - "supports-color": {
1198 - "optional": true
1199 - }
1200 - }
1201 - },
1202 - "node_modules/puppeteer/node_modules/ms": {
1203 - "version": "2.1.2",
1204 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1205 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1206 - },
1207 - "node_modules/qs": {
1208 - "version": "6.7.0",
1209 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
1210 - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
1211 - "engines": {
1212 - "node": ">=0.6"
1213 - }
1214 - },
1215 - "node_modules/range-parser": {
1216 - "version": "1.2.1",
1217 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1218 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
1219 - "engines": {
1220 - "node": ">= 0.6"
1221 - }
1222 - },
1223 - "node_modules/raw-body": {
1224 - "version": "2.4.0",
1225 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
1226 - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
1227 - "dependencies": {
1228 - "bytes": "3.1.0",
1229 - "http-errors": "1.7.2",
1230 - "iconv-lite": "0.4.24",
1231 - "unpipe": "1.0.0"
1232 - },
1233 - "engines": {
1234 - "node": ">= 0.8"
1235 - }
1236 - },
1237 - "node_modules/readable-stream": {
1238 - "version": "3.6.0",
1239 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
1240 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
1241 - "dependencies": {
1242 - "inherits": "^2.0.3",
1243 - "string_decoder": "^1.1.1",
1244 - "util-deprecate": "^1.0.1"
1245 - },
1246 - "engines": {
1247 - "node": ">= 6"
1248 - }
1249 - },
1250 - "node_modules/rimraf": {
1251 - "version": "3.0.2",
1252 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1253 - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1254 - "dependencies": {
1255 - "glob": "^7.1.3"
1256 - },
1257 - "bin": {
1258 - "rimraf": "bin.js"
1259 - },
1260 - "funding": {
1261 - "url": "https://github.com/sponsors/isaacs"
1262 - }
1263 - },
1264 - "node_modules/safe-buffer": {
1265 - "version": "5.1.2",
1266 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1267 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1268 - },
1269 - "node_modules/safer-buffer": {
1270 - "version": "2.1.2",
1271 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1272 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1273 - },
1274 - "node_modules/sanitize-html": {
1275 - "version": "2.3.3",
1276 - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.3.3.tgz",
1277 - "integrity": "sha512-DCFXPt7Di0c6JUnlT90eIgrjs6TsJl/8HYU3KLdmrVclFN4O0heTcVbJiMa23OKVr6aR051XYtsgd8EWwEBwUA==",
1278 - "dependencies": {
1279 - "deepmerge": "^4.2.2",
1280 - "escape-string-regexp": "^4.0.0",
1281 - "htmlparser2": "^6.0.0",
1282 - "is-plain-object": "^5.0.0",
1283 - "klona": "^2.0.3",
1284 - "parse-srcset": "^1.0.2",
1285 - "postcss": "^8.0.2"
1286 - }
1287 - },
1288 - "node_modules/send": {
1289 - "version": "0.17.1",
1290 - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
1291 - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
1292 - "dependencies": {
1293 - "debug": "2.6.9",
1294 - "depd": "~1.1.2",
1295 - "destroy": "~1.0.4",
1296 - "encodeurl": "~1.0.2",
1297 - "escape-html": "~1.0.3",
1298 - "etag": "~1.8.1",
1299 - "fresh": "0.5.2",
1300 - "http-errors": "~1.7.2",
1301 - "mime": "1.6.0",
1302 - "ms": "2.1.1",
1303 - "on-finished": "~2.3.0",
1304 - "range-parser": "~1.2.1",
1305 - "statuses": "~1.5.0"
1306 - },
1307 - "engines": {
1308 - "node": ">= 0.8.0"
1309 - }
1310 - },
1311 - "node_modules/send/node_modules/ms": {
1312 - "version": "2.1.1",
1313 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
1314 - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
1315 - },
1316 - "node_modules/serve-static": {
1317 - "version": "1.14.1",
1318 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
1319 - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
1320 - "dependencies": {
1321 - "encodeurl": "~1.0.2",
1322 - "escape-html": "~1.0.3",
1323 - "parseurl": "~1.3.3",
1324 - "send": "0.17.1"
1325 - },
1326 - "engines": {
1327 - "node": ">= 0.8.0"
1328 - }
1329 - },
1330 - "node_modules/setprototypeof": {
1331 - "version": "1.1.1",
1332 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
1333 - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
1334 - },
1335 - "node_modules/sorted-array-functions": {
1336 - "version": "1.3.0",
1337 - "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz",
1338 - "integrity": "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA=="
1339 - },
1340 - "node_modules/source-map": {
1341 - "version": "0.6.1",
1342 - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1343 - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1344 - "engines": {
1345 - "node": ">=0.10.0"
1346 - }
1347 - },
1348 - "node_modules/statuses": {
1349 - "version": "1.5.0",
1350 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1351 - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
1352 - "engines": {
1353 - "node": ">= 0.6"
1354 - }
1355 - },
1356 - "node_modules/string_decoder": {
1357 - "version": "1.3.0",
1358 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
1359 - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
1360 - "dependencies": {
1361 - "safe-buffer": "~5.2.0"
1362 - }
1363 - },
1364 - "node_modules/string_decoder/node_modules/safe-buffer": {
1365 - "version": "5.2.1",
1366 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1367 - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1368 - "funding": [
1369 - {
1370 - "type": "github",
1371 - "url": "https://github.com/sponsors/feross"
1372 - },
1373 - {
1374 - "type": "patreon",
1375 - "url": "https://www.patreon.com/feross"
1376 - },
1377 - {
1378 - "type": "consulting",
1379 - "url": "https://feross.org/support"
1380 - }
1381 - ]
1382 - },
1383 - "node_modules/tar-fs": {
1384 - "version": "2.1.1",
1385 - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
1386 - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
1387 - "dependencies": {
1388 - "chownr": "^1.1.1",
1389 - "mkdirp-classic": "^0.5.2",
1390 - "pump": "^3.0.0",
1391 - "tar-stream": "^2.1.4"
1392 - }
1393 - },
1394 - "node_modules/tar-stream": {
1395 - "version": "2.2.0",
1396 - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
1397 - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
1398 - "dependencies": {
1399 - "bl": "^4.0.3",
1400 - "end-of-stream": "^1.4.1",
1401 - "fs-constants": "^1.0.0",
1402 - "inherits": "^2.0.3",
1403 - "readable-stream": "^3.1.1"
1404 - },
1405 - "engines": {
1406 - "node": ">=6"
1407 - }
1408 - },
1409 - "node_modules/through": {
1410 - "version": "2.3.8",
1411 - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1412 - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
1413 - },
1414 - "node_modules/toidentifier": {
1415 - "version": "1.0.0",
1416 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
1417 - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
1418 - "engines": {
1419 - "node": ">=0.6"
1420 - }
1421 - },
1422 - "node_modules/tslib": {
1423 - "version": "2.2.0",
1424 - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
1425 - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
1426 - },
1427 - "node_modules/type-is": {
1428 - "version": "1.6.18",
1429 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1430 - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1431 - "dependencies": {
1432 - "media-typer": "0.3.0",
1433 - "mime-types": "~2.1.24"
1434 - },
1435 - "engines": {
1436 - "node": ">= 0.6"
1437 - }
1438 - },
1439 - "node_modules/unbzip2-stream": {
1440 - "version": "1.4.3",
1441 - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
1442 - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
1443 - "dependencies": {
1444 - "buffer": "^5.2.1",
1445 - "through": "^2.3.8"
1446 - }
1447 - },
1448 - "node_modules/unpipe": {
1449 - "version": "1.0.0",
1450 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1451 - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
1452 - "engines": {
1453 - "node": ">= 0.8"
1454 - }
1455 - },
1456 - "node_modules/util-deprecate": {
1457 - "version": "1.0.2",
1458 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1459 - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1460 - },
1461 - "node_modules/utils-merge": {
1462 - "version": "1.0.1",
1463 - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1464 - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
1465 - "engines": {
1466 - "node": ">= 0.4.0"
1467 - }
1468 - },
1469 - "node_modules/vary": {
1470 - "version": "1.1.2",
1471 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1472 - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
1473 - "engines": {
1474 - "node": ">= 0.8"
1475 - }
1476 - },
1477 - "node_modules/wrappy": {
1478 - "version": "1.0.2",
1479 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1480 - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1481 - },
1482 - "node_modules/ws": {
1483 - "version": "7.4.5",
1484 - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz",
1485 - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==",
1486 - "engines": {
1487 - "node": ">=8.3.0"
1488 - },
1489 - "peerDependencies": {
1490 - "bufferutil": "^4.0.1",
1491 - "utf-8-validate": "^5.0.2"
1492 - },
1493 - "peerDependenciesMeta": {
1494 - "bufferutil": {
1495 - "optional": true
1496 - },
1497 - "utf-8-validate": {
1498 - "optional": true
1499 - }
1500 - }
1501 - },
1502 - "node_modules/yauzl": {
1503 - "version": "2.10.0",
1504 - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
1505 - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
1506 - "dependencies": {
1507 - "buffer-crc32": "~0.2.3",
1508 - "fd-slicer": "~1.1.0"
1509 - }
1510 - }
1511 - },
1512 "dependencies": { 6 "dependencies": {
1513 "@types/node": { 7 "@types/node": {
1514 - "version": "15.0.2", 8 + "version": "15.12.1",
1515 - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz", 9 + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.1.tgz",
1516 - "integrity": "sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA==", 10 + "integrity": "sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw==",
1517 "optional": true 11 "optional": true
1518 }, 12 },
1519 "@types/yauzl": { 13 "@types/yauzl": {
...@@ -1557,11 +51,50 @@ ...@@ -1557,11 +51,50 @@
1557 } 51 }
1558 } 52 }
1559 }, 53 },
54 + "ajv": {
55 + "version": "6.12.6",
56 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
57 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
58 + "requires": {
59 + "fast-deep-equal": "^3.1.1",
60 + "fast-json-stable-stringify": "^2.0.0",
61 + "json-schema-traverse": "^0.4.1",
62 + "uri-js": "^4.2.2"
63 + }
64 + },
1560 "array-flatten": { 65 "array-flatten": {
1561 "version": "1.1.1", 66 "version": "1.1.1",
1562 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 67 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1563 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 68 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
1564 }, 69 },
70 + "asn1": {
71 + "version": "0.2.4",
72 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
73 + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
74 + "requires": {
75 + "safer-buffer": "~2.1.0"
76 + }
77 + },
78 + "assert-plus": {
79 + "version": "1.0.0",
80 + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
81 + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
82 + },
83 + "asynckit": {
84 + "version": "0.4.0",
85 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
86 + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
87 + },
88 + "aws-sign2": {
89 + "version": "0.7.0",
90 + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
91 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
92 + },
93 + "aws4": {
94 + "version": "1.11.0",
95 + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
96 + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
97 + },
1565 "balanced-match": { 98 "balanced-match": {
1566 "version": "1.0.2", 99 "version": "1.0.2",
1567 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 100 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
...@@ -1572,6 +105,14 @@ ...@@ -1572,6 +105,14 @@
1572 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 105 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1573 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 106 "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
1574 }, 107 },
108 + "bcrypt-pbkdf": {
109 + "version": "1.0.2",
110 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
111 + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
112 + "requires": {
113 + "tweetnacl": "^0.14.3"
114 + }
115 + },
1575 "bl": { 116 "bl": {
1576 "version": "4.1.0", 117 "version": "4.1.0",
1577 "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 118 "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
...@@ -1648,6 +189,11 @@ ...@@ -1648,6 +189,11 @@
1648 "get-intrinsic": "^1.0.2" 189 "get-intrinsic": "^1.0.2"
1649 } 190 }
1650 }, 191 },
192 + "caseless": {
193 + "version": "0.12.0",
194 + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
195 + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
196 + },
1651 "cheerio": { 197 "cheerio": {
1652 "version": "1.0.0-rc.9", 198 "version": "1.0.0-rc.9",
1653 "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz", 199 "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.9.tgz",
...@@ -1684,6 +230,14 @@ ...@@ -1684,6 +230,14 @@
1684 "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", 230 "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
1685 "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" 231 "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
1686 }, 232 },
233 + "combined-stream": {
234 + "version": "1.0.8",
235 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
236 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
237 + "requires": {
238 + "delayed-stream": "~1.0.0"
239 + }
240 + },
1687 "concat-map": { 241 "concat-map": {
1688 "version": "0.0.1", 242 "version": "0.0.1",
1689 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 243 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
...@@ -1712,6 +266,11 @@ ...@@ -1712,6 +266,11 @@
1712 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 266 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1713 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 267 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
1714 }, 268 },
269 + "core-util-is": {
270 + "version": "1.0.2",
271 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
272 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
273 + },
1715 "cron-parser": { 274 "cron-parser": {
1716 "version": "3.5.0", 275 "version": "3.5.0",
1717 "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-3.5.0.tgz", 276 "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-3.5.0.tgz",
...@@ -1738,6 +297,14 @@ ...@@ -1738,6 +297,14 @@
1738 "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz", 297 "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz",
1739 "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==" 298 "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA=="
1740 }, 299 },
300 + "dashdash": {
301 + "version": "1.14.1",
302 + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
303 + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
304 + "requires": {
305 + "assert-plus": "^1.0.0"
306 + }
307 + },
1741 "debug": { 308 "debug": {
1742 "version": "2.6.9", 309 "version": "2.6.9",
1743 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 310 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
...@@ -1759,6 +326,11 @@ ...@@ -1759,6 +326,11 @@
1759 "object-keys": "^1.0.12" 326 "object-keys": "^1.0.12"
1760 } 327 }
1761 }, 328 },
329 + "delayed-stream": {
330 + "version": "1.0.0",
331 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
332 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
333 + },
1762 "depd": { 334 "depd": {
1763 "version": "1.1.2", 335 "version": "1.1.2",
1764 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 336 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
...@@ -1807,6 +379,15 @@ ...@@ -1807,6 +379,15 @@
1807 "domhandler": "^4.2.0" 379 "domhandler": "^4.2.0"
1808 } 380 }
1809 }, 381 },
382 + "ecc-jsbn": {
383 + "version": "0.1.2",
384 + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
385 + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
386 + "requires": {
387 + "jsbn": "~0.1.0",
388 + "safer-buffer": "^2.1.0"
389 + }
390 + },
1810 "ee-first": { 391 "ee-first": {
1811 "version": "1.1.1", 392 "version": "1.1.1",
1812 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 393 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
...@@ -1882,6 +463,11 @@ ...@@ -1882,6 +463,11 @@
1882 "vary": "~1.1.2" 463 "vary": "~1.1.2"
1883 } 464 }
1884 }, 465 },
466 + "extend": {
467 + "version": "3.0.2",
468 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
469 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
470 + },
1885 "extract-zip": { 471 "extract-zip": {
1886 "version": "2.0.1", 472 "version": "2.0.1",
1887 "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 473 "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
...@@ -1908,6 +494,21 @@ ...@@ -1908,6 +494,21 @@
1908 } 494 }
1909 } 495 }
1910 }, 496 },
497 + "extsprintf": {
498 + "version": "1.3.0",
499 + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
500 + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
501 + },
502 + "fast-deep-equal": {
503 + "version": "3.1.3",
504 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
505 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
506 + },
507 + "fast-json-stable-stringify": {
508 + "version": "2.1.0",
509 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
510 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
511 + },
1911 "fd-slicer": { 512 "fd-slicer": {
1912 "version": "1.1.0", 513 "version": "1.1.0",
1913 "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 514 "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
...@@ -1939,6 +540,21 @@ ...@@ -1939,6 +540,21 @@
1939 "path-exists": "^4.0.0" 540 "path-exists": "^4.0.0"
1940 } 541 }
1941 }, 542 },
543 + "forever-agent": {
544 + "version": "0.6.1",
545 + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
546 + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
547 + },
548 + "form-data": {
549 + "version": "2.3.3",
550 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
551 + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
552 + "requires": {
553 + "asynckit": "^0.4.0",
554 + "combined-stream": "^1.0.6",
555 + "mime-types": "^2.1.12"
556 + }
557 + },
1942 "forwarded": { 558 "forwarded": {
1943 "version": "0.1.2", 559 "version": "0.1.2",
1944 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 560 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
...@@ -1982,6 +598,14 @@ ...@@ -1982,6 +598,14 @@
1982 "pump": "^3.0.0" 598 "pump": "^3.0.0"
1983 } 599 }
1984 }, 600 },
601 + "getpass": {
602 + "version": "0.1.7",
603 + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
604 + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
605 + "requires": {
606 + "assert-plus": "^1.0.0"
607 + }
608 + },
1985 "glob": { 609 "glob": {
1986 "version": "7.1.7", 610 "version": "7.1.7",
1987 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 611 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
...@@ -1995,6 +619,20 @@ ...@@ -1995,6 +619,20 @@
1995 "path-is-absolute": "^1.0.0" 619 "path-is-absolute": "^1.0.0"
1996 } 620 }
1997 }, 621 },
622 + "har-schema": {
623 + "version": "2.0.0",
624 + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
625 + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
626 + },
627 + "har-validator": {
628 + "version": "5.1.5",
629 + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
630 + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
631 + "requires": {
632 + "ajv": "^6.12.3",
633 + "har-schema": "^2.0.0"
634 + }
635 + },
1998 "has": { 636 "has": {
1999 "version": "1.0.3", 637 "version": "1.0.3",
2000 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 638 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
...@@ -2031,6 +669,16 @@ ...@@ -2031,6 +669,16 @@
2031 "toidentifier": "1.0.0" 669 "toidentifier": "1.0.0"
2032 } 670 }
2033 }, 671 },
672 + "http-signature": {
673 + "version": "1.2.0",
674 + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
675 + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
676 + "requires": {
677 + "assert-plus": "^1.0.0",
678 + "jsprim": "^1.2.2",
679 + "sshpk": "^1.7.0"
680 + }
681 + },
2034 "https-proxy-agent": { 682 "https-proxy-agent": {
2035 "version": "5.0.0", 683 "version": "5.0.0",
2036 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", 684 "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
...@@ -2101,6 +749,47 @@ ...@@ -2101,6 +749,47 @@
2101 "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", 749 "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
2102 "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" 750 "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
2103 }, 751 },
752 + "is-typedarray": {
753 + "version": "1.0.0",
754 + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
755 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
756 + },
757 + "isstream": {
758 + "version": "0.1.2",
759 + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
760 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
761 + },
762 + "jsbn": {
763 + "version": "0.1.1",
764 + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
765 + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
766 + },
767 + "json-schema": {
768 + "version": "0.2.3",
769 + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
770 + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
771 + },
772 + "json-schema-traverse": {
773 + "version": "0.4.1",
774 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
775 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
776 + },
777 + "json-stringify-safe": {
778 + "version": "5.0.1",
779 + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
780 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
781 + },
782 + "jsprim": {
783 + "version": "1.4.1",
784 + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
785 + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
786 + "requires": {
787 + "assert-plus": "1.0.0",
788 + "extsprintf": "1.3.0",
789 + "json-schema": "0.2.3",
790 + "verror": "1.10.0"
791 + }
792 + },
2104 "klona": { 793 "klona": {
2105 "version": "2.0.4", 794 "version": "2.0.4",
2106 "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", 795 "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
...@@ -2165,6 +854,19 @@ ...@@ -2165,6 +854,19 @@
2165 "brace-expansion": "^1.1.7" 854 "brace-expansion": "^1.1.7"
2166 } 855 }
2167 }, 856 },
857 + "minimist": {
858 + "version": "1.2.5",
859 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
860 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
861 + },
862 + "mkdirp": {
863 + "version": "0.5.5",
864 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
865 + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
866 + "requires": {
867 + "minimist": "^1.2.5"
868 + }
869 + },
2168 "mkdirp-classic": { 870 "mkdirp-classic": {
2169 "version": "0.5.3", 871 "version": "0.5.3",
2170 "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 872 "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
...@@ -2208,6 +910,11 @@ ...@@ -2208,6 +910,11 @@
2208 "boolbase": "^1.0.0" 910 "boolbase": "^1.0.0"
2209 } 911 }
2210 }, 912 },
913 + "oauth-sign": {
914 + "version": "0.9.0",
915 + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
916 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
917 + },
2211 "object-keys": { 918 "object-keys": {
2212 "version": "1.1.1", 919 "version": "1.1.1",
2213 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 920 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
...@@ -2293,6 +1000,11 @@ ...@@ -2293,6 +1000,11 @@
2293 "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1000 "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
2294 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 1001 "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
2295 }, 1002 },
1003 + "performance-now": {
1004 + "version": "2.1.0",
1005 + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1006 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1007 + },
2296 "pkg-dir": { 1008 "pkg-dir": {
2297 "version": "4.2.0", 1009 "version": "4.2.0",
2298 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 1010 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
...@@ -2330,6 +1042,11 @@ ...@@ -2330,6 +1042,11 @@
2330 "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1042 "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
2331 "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1043 "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
2332 }, 1044 },
1045 + "psl": {
1046 + "version": "1.8.0",
1047 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1048 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1049 + },
2333 "pump": { 1050 "pump": {
2334 "version": "3.0.0", 1051 "version": "3.0.0",
2335 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1052 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
...@@ -2339,6 +1056,11 @@ ...@@ -2339,6 +1056,11 @@
2339 "once": "^1.3.1" 1056 "once": "^1.3.1"
2340 } 1057 }
2341 }, 1058 },
1059 + "punycode": {
1060 + "version": "2.1.1",
1061 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1062 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
1063 + },
2342 "puppeteer": { 1064 "puppeteer": {
2343 "version": "9.1.1", 1065 "version": "9.1.1",
2344 "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz", 1066 "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-9.1.1.tgz",
...@@ -2373,6 +1095,70 @@ ...@@ -2373,6 +1095,70 @@
2373 } 1095 }
2374 } 1096 }
2375 }, 1097 },
1098 + "puppeteer-core": {
1099 + "version": "10.0.0",
1100 + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-10.0.0.tgz",
1101 + "integrity": "sha512-kaNsKhNYcayHnlwpkBf1w/lhyi1zUSHGLgh5z6DwhTbTrVN0pQHjWj7/TNBooop5Ehv0H7KFuH5QTbxrRFeDdA==",
1102 + "requires": {
1103 + "debug": "4.3.1",
1104 + "devtools-protocol": "0.0.883894",
1105 + "extract-zip": "2.0.1",
1106 + "https-proxy-agent": "5.0.0",
1107 + "node-fetch": "2.6.1",
1108 + "pkg-dir": "4.2.0",
1109 + "progress": "2.0.1",
1110 + "proxy-from-env": "1.1.0",
1111 + "rimraf": "3.0.2",
1112 + "tar-fs": "2.0.0",
1113 + "unbzip2-stream": "1.3.3",
1114 + "ws": "7.4.6"
1115 + },
1116 + "dependencies": {
1117 + "debug": {
1118 + "version": "4.3.1",
1119 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1120 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1121 + "requires": {
1122 + "ms": "2.1.2"
1123 + }
1124 + },
1125 + "devtools-protocol": {
1126 + "version": "0.0.883894",
1127 + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.883894.tgz",
1128 + "integrity": "sha512-33idhm54QJzf3Q7QofMgCvIVSd2o9H3kQPWaKT/fhoZh+digc+WSiMhbkeG3iN79WY4Hwr9G05NpbhEVrsOYAg=="
1129 + },
1130 + "ms": {
1131 + "version": "2.1.2",
1132 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1133 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1134 + },
1135 + "progress": {
1136 + "version": "2.0.1",
1137 + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
1138 + "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg=="
1139 + },
1140 + "tar-fs": {
1141 + "version": "2.0.0",
1142 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz",
1143 + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==",
1144 + "requires": {
1145 + "chownr": "^1.1.1",
1146 + "mkdirp": "^0.5.1",
1147 + "pump": "^3.0.0",
1148 + "tar-stream": "^2.0.0"
1149 + }
1150 + },
1151 + "unbzip2-stream": {
1152 + "version": "1.3.3",
1153 + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz",
1154 + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
1155 + "requires": {
1156 + "buffer": "^5.2.1",
1157 + "through": "^2.3.8"
1158 + }
1159 + }
1160 + }
1161 + },
2376 "qs": { 1162 "qs": {
2377 "version": "6.7.0", 1163 "version": "6.7.0",
2378 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 1164 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
...@@ -2404,6 +1190,40 @@ ...@@ -2404,6 +1190,40 @@
2404 "util-deprecate": "^1.0.1" 1190 "util-deprecate": "^1.0.1"
2405 } 1191 }
2406 }, 1192 },
1193 + "request": {
1194 + "version": "2.88.2",
1195 + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1196 + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1197 + "requires": {
1198 + "aws-sign2": "~0.7.0",
1199 + "aws4": "^1.8.0",
1200 + "caseless": "~0.12.0",
1201 + "combined-stream": "~1.0.6",
1202 + "extend": "~3.0.2",
1203 + "forever-agent": "~0.6.1",
1204 + "form-data": "~2.3.2",
1205 + "har-validator": "~5.1.3",
1206 + "http-signature": "~1.2.0",
1207 + "is-typedarray": "~1.0.0",
1208 + "isstream": "~0.1.2",
1209 + "json-stringify-safe": "~5.0.1",
1210 + "mime-types": "~2.1.19",
1211 + "oauth-sign": "~0.9.0",
1212 + "performance-now": "^2.1.0",
1213 + "qs": "~6.5.2",
1214 + "safe-buffer": "^5.1.2",
1215 + "tough-cookie": "~2.5.0",
1216 + "tunnel-agent": "^0.6.0",
1217 + "uuid": "^3.3.2"
1218 + },
1219 + "dependencies": {
1220 + "qs": {
1221 + "version": "6.5.2",
1222 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1223 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
1224 + }
1225 + }
1226 + },
2407 "rimraf": { 1227 "rimraf": {
2408 "version": "3.0.2", 1228 "version": "3.0.2",
2409 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1229 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
...@@ -2489,6 +1309,22 @@ ...@@ -2489,6 +1309,22 @@
2489 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1309 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2490 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1310 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
2491 }, 1311 },
1312 + "sshpk": {
1313 + "version": "1.16.1",
1314 + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1315 + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1316 + "requires": {
1317 + "asn1": "~0.2.3",
1318 + "assert-plus": "^1.0.0",
1319 + "bcrypt-pbkdf": "^1.0.0",
1320 + "dashdash": "^1.12.0",
1321 + "ecc-jsbn": "~0.1.1",
1322 + "getpass": "^0.1.1",
1323 + "jsbn": "~0.1.0",
1324 + "safer-buffer": "^2.0.2",
1325 + "tweetnacl": "~0.14.0"
1326 + }
1327 + },
2492 "statuses": { 1328 "statuses": {
2493 "version": "1.5.0", 1329 "version": "1.5.0",
2494 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1330 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
...@@ -2542,11 +1378,33 @@ ...@@ -2542,11 +1378,33 @@
2542 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 1378 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
2543 "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 1379 "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
2544 }, 1380 },
1381 + "tough-cookie": {
1382 + "version": "2.5.0",
1383 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1384 + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1385 + "requires": {
1386 + "psl": "^1.1.28",
1387 + "punycode": "^2.1.1"
1388 + }
1389 + },
2545 "tslib": { 1390 "tslib": {
2546 "version": "2.2.0", 1391 "version": "2.2.0",
2547 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", 1392 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
2548 "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" 1393 "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w=="
2549 }, 1394 },
1395 + "tunnel-agent": {
1396 + "version": "0.6.0",
1397 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1398 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1399 + "requires": {
1400 + "safe-buffer": "^5.0.1"
1401 + }
1402 + },
1403 + "tweetnacl": {
1404 + "version": "0.14.5",
1405 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1406 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1407 + },
2550 "type-is": { 1408 "type-is": {
2551 "version": "1.6.18", 1409 "version": "1.6.18",
2552 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 1410 "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
...@@ -2570,6 +1428,14 @@ ...@@ -2570,6 +1428,14 @@
2570 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 1428 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2571 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 1429 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
2572 }, 1430 },
1431 + "uri-js": {
1432 + "version": "4.4.1",
1433 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1434 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1435 + "requires": {
1436 + "punycode": "^2.1.0"
1437 + }
1438 + },
2573 "util-deprecate": { 1439 "util-deprecate": {
2574 "version": "1.0.2", 1440 "version": "1.0.2",
2575 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1441 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
...@@ -2580,21 +1446,35 @@ ...@@ -2580,21 +1446,35 @@
2580 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 1446 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
2581 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 1447 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
2582 }, 1448 },
1449 + "uuid": {
1450 + "version": "3.4.0",
1451 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1452 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
1453 + },
2583 "vary": { 1454 "vary": {
2584 "version": "1.1.2", 1455 "version": "1.1.2",
2585 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 1456 "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2586 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 1457 "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
2587 }, 1458 },
1459 + "verror": {
1460 + "version": "1.10.0",
1461 + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1462 + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1463 + "requires": {
1464 + "assert-plus": "^1.0.0",
1465 + "core-util-is": "1.0.2",
1466 + "extsprintf": "^1.2.0"
1467 + }
1468 + },
2588 "wrappy": { 1469 "wrappy": {
2589 "version": "1.0.2", 1470 "version": "1.0.2",
2590 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1471 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2591 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1472 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
2592 }, 1473 },
2593 "ws": { 1474 "ws": {
2594 - "version": "7.4.5", 1475 + "version": "7.4.6",
2595 - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", 1476 + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
2596 - "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", 1477 + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
2597 - "requires": {}
2598 }, 1478 },
2599 "yauzl": { 1479 "yauzl": {
2600 "version": "2.10.0", 1480 "version": "2.10.0",
......
...@@ -14,10 +14,13 @@ ...@@ -14,10 +14,13 @@
14 "author": "김대선", 14 "author": "김대선",
15 "license": "ISC", 15 "license": "ISC",
16 "dependencies": { 16 "dependencies": {
17 + "body-parser": "^1.19.0",
17 "cheerio": "^1.0.0-rc.9", 18 "cheerio": "^1.0.0-rc.9",
18 "express": "^4.17.1", 19 "express": "^4.17.1",
19 "node-schedule": "^2.0.0", 20 "node-schedule": "^2.0.0",
20 "puppeteer": "^9.1.1", 21 "puppeteer": "^9.1.1",
22 + "puppeteer-core": "^10.0.0",
23 + "request": "^2.88.2",
21 "sanitize-html": "^2.3.3" 24 "sanitize-html": "^2.3.3"
22 } 25 }
23 } 26 }
......