Commit dbcd2dae8a4598dbef9cc6e975d3df15bdb87a88
1 parent
0631d96b2c
Exists in
master
Ready to test
Showing 34 changed files with 4692 additions and 0 deletions Inline Diff
- .eslintrc.js
- .gitignore
- LICENSE.txt
- docs/XML-RPC_TopUpGateway.pdf
- docs/plink/API Pulsa v-1.2 (Alternatif).pdf
- index.js
- lib/axios-safe-failed.js
- lib/callback/common-middleware.js
- lib/callback/index.js
- lib/callback/main-handler.js
- lib/dumper/callback.js
- lib/dumper/init.js
- lib/dumper/request.js
- lib/dumper/vars.js
- lib/generic-xmlrpc/compose-payload.js
- lib/generic-xmlrpc/get-params-members-obj.js
- lib/generic-xmlrpc/get-params-members.js
- lib/generic-xmlrpc/pop-envelope.js
- lib/hit.js
- lib/logger.js
- lib/mkdir-if-not-exists.js
- lib/parse-result.js
- lib/parse-xml.js
- lib/partner.js
- lib/report.js
- lib/translate-rc/index.js
- lib/translate-rc/rcs.js
- package-lock.json
- package.json
- test-data/method-response-1.xml
- test-data/top-up-request-1.xml
- test/generic-xmlrpc/compose-payload.js
- test/generic-xmlrpc/get-params-members-obj.js
- test/generic-xmlrpc/get-params-members.js
.eslintrc.js
File was created | 1 | module.exports = { | |
2 | env: { | ||
3 | commonjs: true, | ||
4 | es2021: true, | ||
5 | node: true, | ||
6 | }, | ||
7 | extends: [ | ||
8 | 'airbnb-base', | ||
9 | ], | ||
10 | parserOptions: { | ||
11 | ecmaVersion: 12, | ||
12 | }, | ||
13 | rules: { | ||
14 | indent: ['error', 4], | ||
15 | }, | ||
16 | }; | ||
17 |
.gitignore
File was created | 1 | /node_modules/ | |
2 | /lib/custom-controlpanel/public/tmp/ | ||
3 | /config-backup/ | ||
4 | /config.json | ||
5 | /var/backup/ | ||
6 | /var/data/ | ||
7 | /var/run/ | ||
8 | /tmp/ | ||
9 | /logs/ | ||
10 | /dump | ||
11 | /dump_trx | ||
12 | config_*.json | ||
13 | pid.txt | ||
14 | *.json.backup | ||
15 | database.json |
LICENSE.txt
File was created | 1 | (c) Copyright 2021 PT TEKNOLOGI TRANSAKSI DIGITAL | |
2 | http://tektrans.id/ | ||
3 |
docs/XML-RPC_TopUpGateway.pdf
No preview for this file type
docs/plink/API Pulsa v-1.2 (Alternatif).pdf
No preview for this file type
index.js
File was created | 1 | process.chdir(__dirname); | |
2 | |||
3 | const fs = require('fs'); | ||
4 | |||
5 | fs.writeFileSync('pid.txt', process.pid.toString()); | ||
6 | |||
7 | const config = require('komodo-sdk/config'); | ||
8 | |||
9 | global.KOMODO_LOG_LABEL = `KOMODO-GW@${config.handler_name || 'ST24'}`; | ||
10 | |||
11 | require('komodo-sdk/api-server'); | ||
12 | |||
13 | // const adviceServer = require('komodo-sdk/gateway/advice-push-server'); | ||
14 | |||
15 | const pullgw = require('komodo-sdk/gateway/pull'); | ||
16 | |||
17 | require('./lib/callback'); | ||
18 | |||
19 | const partnerPrepaid = require('./lib/partner'); | ||
20 | |||
21 | pullgw.setPartner(partnerPrepaid); | ||
22 | |||
23 | // adviceServer.setPartner(partnerPrepaid); | ||
24 |
lib/axios-safe-failed.js
File was created | 1 | const safeErrorCodes = [ | |
2 | 'EHOSTUNREACH', | ||
3 | 'ENOTFOUND', | ||
4 | 'ECONNREFUSED', | ||
5 | 'ETIMEDOUT', // timeout on connecting | ||
6 | |||
7 | // Berikut adalah error code yang tidak aman untuk dianggap gagal | ||
8 | |||
9 | // terjadi karena timeout setelah konek (akibat pengaturan timeout pada request axios) | ||
10 | // 'ECONNABORTED', | ||
11 | ]; | ||
12 | |||
13 | module.exports = (e) => (safeErrorCodes.indexOf(e.code) >= 0) | ||
14 | || (e.response && e.response.status && e.response.status >= 400 && e.response.status < 500); | ||
15 |
lib/callback/common-middleware.js
File was created | 1 | const MODULE_NAME = 'CALLBACK.COMMON-MIDDLEWARE'; | |
2 | |||
3 | const logger = require('komodo-sdk/logger'); | ||
4 | const dumper = require('../dumper/callback'); | ||
5 | |||
6 | module.exports = (req, res, next) => { | ||
7 | const { xid } = res.locals; | ||
8 | logger.info(`${MODULE_NAME} C1BB8552: Got a hit on callback listener`, { | ||
9 | xid, | ||
10 | remoteAddress: req.ip, | ||
11 | httpMethod: req.method, | ||
12 | url: req.url, | ||
13 | userAgent: req.get('user-agent'), | ||
14 | contentType: req.get('content-type'), | ||
15 | }); | ||
16 | |||
17 | dumper(xid, req); | ||
18 | |||
19 | next(); | ||
20 | }; | ||
21 |
lib/callback/index.js
File was created | 1 | /** | |
2 | * XML-RPC callback listener | ||
3 | * | ||
4 | * @author Adhidarma Hadiwinoto <me@adhisimon.org> | ||
5 | * @since 2021-06-02 | ||
6 | * @version 20210602 | ||
7 | */ | ||
8 | |||
9 | const MODULE_NAME = 'CALLBACK'; | ||
10 | |||
11 | const express = require('express'); | ||
12 | const uniqid = require('uniqid'); | ||
13 | |||
14 | const config = require('komodo-sdk/config'); | ||
15 | const logger = require('komodo-sdk/logger'); | ||
16 | |||
17 | const commonMiddleware = require('./common-middleware'); | ||
18 | const mainHandler = require('./main-handler'); | ||
19 | |||
20 | const listenPort = config.partner.callback_port | ||
21 | || config.reverse_report_port; | ||
22 | |||
23 | if (!listenPort) { | ||
24 | logger.warn(`${MODULE_NAME} B2D51894: Please specified callback listen port on config.partner.callback_port`); | ||
25 | process.exit(1); | ||
26 | } | ||
27 | |||
28 | const app = express(); | ||
29 | |||
30 | app.use((req, res, next) => { | ||
31 | res.locals.xid = uniqid(); | ||
32 | next(); | ||
33 | }); | ||
34 | |||
35 | app.use(express.text({ type: 'text/*' })); | ||
36 | app.use(commonMiddleware); | ||
37 | app.use(mainHandler); | ||
38 | |||
39 | app | ||
40 | .listen(listenPort, () => { | ||
41 | logger.verbose(`${MODULE_NAME} 12322885: Start listening`, { | ||
42 | port: listenPort, | ||
43 | }); | ||
44 | }) | ||
45 | .on('error', (e) => { | ||
46 | logger.warn(`${MODULE_NAME} 03709C04: Exception on starting`, { | ||
47 | eCode: e.code, | ||
48 | eMessage: e.message, | ||
49 | }); | ||
50 | |||
51 | process.exit(1); | ||
52 | }); | ||
53 |
lib/callback/main-handler.js
File was created | 1 | const MODULE_NAME = 'CALLBACK.MAIN-HANDLER'; | |
2 | |||
3 | const logger = require('komodo-sdk/logger'); | ||
4 | |||
5 | const parseResult = require('../parse-result'); | ||
6 | |||
7 | module.exports = (req, res) => { | ||
8 | res.end('ACK\n'); | ||
9 | |||
10 | const { xid } = res.locals; | ||
11 | |||
12 | if (!req.body) { | ||
13 | logger.verbose(`${MODULE_NAME} 18FCF551: Ignoring request without body`, { xid }); | ||
14 | |||
15 | return; | ||
16 | } | ||
17 | |||
18 | if (typeof req.body !== 'string') { | ||
19 | logger.verbose(`${MODULE_NAME} 55F8AB88: Ignoring request with non string type`, { | ||
20 | xid, | ||
21 | typeofBody: typeof req.body, | ||
22 | }); | ||
23 | |||
24 | return; | ||
25 | } | ||
26 | |||
27 | logger.verbose(`${MODULE_NAME} 48B1E679: Parsing callback`, { xid }); | ||
28 | parseResult(xid, null, req.body, true); | ||
29 | }; | ||
30 |
lib/dumper/callback.js
File was created | 1 | const MODULE_NAME = 'DUMPER.CALLBACK'; | |
2 | |||
3 | const fs = require('fs'); | ||
4 | |||
5 | const fsPromise = fs.promises; | ||
6 | const moment = require('moment'); | ||
7 | const config = require('komodo-sdk/config'); | ||
8 | const logger = require('komodo-sdk/logger'); | ||
9 | const path = require('path'); | ||
10 | const mkdirIfNotExists = require('../mkdir-if-not-exists'); | ||
11 | |||
12 | require('./init'); | ||
13 | const vars = require('./vars'); | ||
14 | |||
15 | const { baseDumpDir } = vars; | ||
16 | const baseCallbackDumpDir = path.join(baseDumpDir, 'callback'); | ||
17 | |||
18 | if (!fs.existsSync(baseCallbackDumpDir)) { | ||
19 | fs.mkdirSync(baseCallbackDumpDir, { recursive: true }); | ||
20 | } | ||
21 | |||
22 | const doNotDump = !config.partner.dump_callback; | ||
23 | |||
24 | module.exports = async (xid, req) => { | ||
25 | if (!req) return; | ||
26 | if (doNotDump) return; | ||
27 | |||
28 | logger.verbose(`${MODULE_NAME} E244F70E: Dumping`, { | ||
29 | xid, | ||
30 | }); | ||
31 | |||
32 | const dumpDir = path.join( | ||
33 | baseCallbackDumpDir, | ||
34 | moment().format('YYYY-MM-DD'), | ||
35 | ); | ||
36 | |||
37 | await mkdirIfNotExists(xid, dumpDir); | ||
38 | |||
39 | const dumpFileName = path.join( | ||
40 | dumpDir, | ||
41 | `callback_${xid}.txt`, | ||
42 | ); | ||
43 | |||
44 | const data = `-------- BEGIN OF CALLBACK DUMP -------- | ||
45 | |||
46 | ${moment().format('YYYY-MM-DD HH:mm:ss')} | ||
47 | |||
48 | XID: ${xid} | ||
49 | |||
50 | REMOTE ADDR: ${req.ip} | ||
51 | USER AGENT: ${req.get('user-agent')} | ||
52 | CONTENT-TYPE: ${req.get('content-type')} | ||
53 | |||
54 | HTTP METHOD: ${req.method} | ||
55 | URL: ${req.url} | ||
56 | |||
57 | QUERY STRING: ${req.query && JSON.stringify(req.query, null, 2)} | ||
58 | |||
59 | BODY: | ||
60 | ${typeof req.body === 'string' ? req.body : JSON.stringify(req.body, null, 2)} | ||
61 | |||
62 | -------- END OF CALLBACK DUMP -------- | ||
63 | `; | ||
64 | |||
65 | try { | ||
66 | logger.verbose(`${MODULE_NAME} ED80B898: Writing file`, { | ||
67 | xid, | ||
68 | dumpFileName, | ||
69 | }); | ||
70 | |||
71 | await fsPromise.writeFile(dumpFileName, data); | ||
72 | |||
73 | logger.verbose(`${MODULE_NAME} 362AEFC6: Writing last dump file`, { xid }); | ||
74 | await fsPromise.writeFile( | ||
75 | path.join(baseDumpDir, 'last-callback.txt'), | ||
76 | data, | ||
77 | ); | ||
78 | } catch (e) { | ||
79 | logger.warn(`${MODULE_NAME} 925869BC: Exception on writing dump file`, { | ||
80 | xid, | ||
81 | eCode: e.code, | ||
82 | eMessage: e.message, | ||
83 | }); | ||
84 | } | ||
85 | }; | ||
86 |
lib/dumper/init.js
File was created | 1 | const MODULE_NAME = 'DUMPER.INIT'; | |
2 | |||
3 | const fs = require('fs'); | ||
4 | const logger = require('../logger'); | ||
5 | const vars = require('./vars'); | ||
6 | |||
7 | if (!fs.existsSync(vars.baseDumpDir)) { | ||
8 | logger.verbose(`${MODULE_NAME} 38756EC8: Creating base dump directory`, { | ||
9 | baseDumpDir: vars.baseDumpDir, | ||
10 | }); | ||
11 | |||
12 | fs.mkdirSync(vars.baseDumpDir); | ||
13 | } | ||
14 |
lib/dumper/request.js
File was created | 1 | const MODULE_NAME = 'DUMPER.REQUEST'; | |
2 | |||
3 | const fs = require('fs'); | ||
4 | |||
5 | const fsPromise = fs.promises; | ||
6 | const moment = require('moment'); | ||
7 | const config = require('komodo-sdk/config'); | ||
8 | const logger = require('komodo-sdk/logger'); | ||
9 | const path = require('path'); | ||
10 | const mkdirIfNotExists = require('../mkdir-if-not-exists'); | ||
11 | |||
12 | require('./init'); | ||
13 | const vars = require('./vars'); | ||
14 | |||
15 | const { baseDumpDir } = vars; | ||
16 | const baseRequestDumpDir = path.join(baseDumpDir, 'request'); | ||
17 | |||
18 | if (!fs.existsSync(baseRequestDumpDir)) { | ||
19 | fs.mkdirSync(baseRequestDumpDir, { recursive: true }); | ||
20 | } | ||
21 | |||
22 | const doNotDump = !config.partner.dump_request; | ||
23 | |||
24 | module.exports = async ( | ||
25 | xid, task, endpointUrl, payload, axiosConfig, axiosResponse, exceptionOnHit, | ||
26 | ) => { | ||
27 | if (doNotDump) return; | ||
28 | |||
29 | const { | ||
30 | trx_id: trxId, | ||
31 | } = task; | ||
32 | |||
33 | logger.verbose(`${MODULE_NAME} 826334AF: Dumping`, { | ||
34 | xid, | ||
35 | trxId, | ||
36 | }); | ||
37 | |||
38 | const dumpDir = path.join( | ||
39 | baseRequestDumpDir, | ||
40 | moment().format('YYYY-MM-DD'), | ||
41 | ); | ||
42 | |||
43 | await mkdirIfNotExists(xid, dumpDir); | ||
44 | |||
45 | const dumpFileName = path.join( | ||
46 | dumpDir, | ||
47 | `trx_${trxId}_${xid}.txt`, | ||
48 | ); | ||
49 | |||
50 | const data = `-------- BEGIN OF REQUEST DUMP -------- | ||
51 | |||
52 | ${moment().format('YYYY-MM-DD HH:mm:ss')} | ||
53 | |||
54 | XID: ${xid} | ||
55 | TRX ID: ${trxId} | ||
56 | TRX DATE: ${task.created} | ||
57 | DESTINATION: ${task.destination} | ||
58 | LOCAL PRODUCT: ${task.product} | ||
59 | REMOTE PRODUCT: ${task.remote_product} | ||
60 | |||
61 | HTTP METHOD: POST | ||
62 | ENDPOINT URL: ${endpointUrl} | ||
63 | |||
64 | HIT CONFIG: ${(axiosConfig && JSON.stringify(axiosConfig, null, 2)) || '-'} | ||
65 | |||
66 | PAYLOAD: | ||
67 | ${payload} | ||
68 | |||
69 | RESPONSE HEADERS: | ||
70 | ${axiosResponse && axiosResponse.headers && JSON.stringify(axiosResponse.headers)} | ||
71 | |||
72 | HTTP STATUS: ${axiosResponse && axiosResponse.status} ${(axiosResponse && axiosResponse.statusText) || ''} | ||
73 | HIT EXCEPTION: ${ | ||
74 | exceptionOnHit | ||
75 | ? JSON.stringify({ code: exceptionOnHit.code, message: exceptionOnHit.message }, null, 2) | ||
76 | : '-' | ||
77 | } | ||
78 | |||
79 | RESPONSE BODY: | ||
80 | ${ | ||
81 | ( | ||
82 | axiosResponse && axiosResponse.data | ||
83 | && ( | ||
84 | (typeof axiosResponse.data === 'string' && axiosResponse.data) | ||
85 | || JSON.stringify(axiosResponse.data, null, 2) | ||
86 | ) | ||
87 | ) || '' | ||
88 | } | ||
89 | |||
90 | -------- END OF REQUEST DUMP -------- | ||
91 | `; | ||
92 | |||
93 | try { | ||
94 | logger.verbose(`${MODULE_NAME} E915E0D8: Writing file`, { | ||
95 | xid, | ||
96 | dumpFileName, | ||
97 | }); | ||
98 | |||
99 | await fsPromise.writeFile(dumpFileName, data); | ||
100 | |||
101 | logger.verbose(`${MODULE_NAME} 7275A26C: Writing last dump file`, { xid }); | ||
102 | await fsPromise.writeFile( | ||
103 | path.join(baseDumpDir, 'last-request.txt'), | ||
104 | data, | ||
105 | ); | ||
106 | } catch (e) { | ||
107 | logger.warn(`${MODULE_NAME} 29212E93: Exception on writing dump file`, { | ||
108 | xid, | ||
109 | eCode: e.code, | ||
110 | eMessage: e.message, | ||
111 | }); | ||
112 | } | ||
113 | }; | ||
114 |
lib/dumper/vars.js
File was created | 1 | exports.baseDumpDir = 'dump'; | |
2 |
lib/generic-xmlrpc/compose-payload.js
File was created | 1 | const paramsIsArray = (methodName, params) => `<?xml version="1.0"?> | |
2 | <methodCall> | ||
3 | <methodName>${methodName}</methodName> | ||
4 | <params> | ||
5 | <param> | ||
6 | <value> | ||
7 | <struct> | ||
8 | ${(params || []).map((param) => ` | ||
9 | <member> | ||
10 | <name>${param.name}</name> | ||
11 | <value> | ||
12 | <${param.type || 'string'}>${param.value}</${param.type || 'string'}> | ||
13 | </value> | ||
14 | </member> | ||
15 | |||
16 | `).join('')} | ||
17 | </struct> | ||
18 | </value> | ||
19 | </param> | ||
20 | </params> | ||
21 | </methodCall>`; | ||
22 | |||
23 | const paramsIsNotArray = (methodName, params) => { | ||
24 | const paramsInArray = []; | ||
25 | |||
26 | // eslint-disable-next-line no-restricted-syntax | ||
27 | for (const [keyword, value] of Object.entries(params)) { | ||
28 | paramsInArray.push({ | ||
29 | name: keyword, | ||
30 | value: (typeof value === 'object' && value.value) || value, | ||
31 | type: value.type || 'string', | ||
32 | }); | ||
33 | } | ||
34 | |||
35 | return paramsIsArray(methodName, paramsInArray); | ||
36 | }; | ||
37 | |||
38 | module.exports = (methodName, params) => ( | ||
39 | Array.isArray(params) | ||
40 | ? paramsIsArray(methodName, params) | ||
41 | : paramsIsNotArray(methodName, params) | ||
42 | ); | ||
43 |
lib/generic-xmlrpc/get-params-members-obj.js
File was created | 1 | /* eslint-disable no-console */ | |
2 | const MODULE_NAME = 'GENERIC-XMLRPC.GET-PARAMS-MEMBERS-OBJ'; | ||
3 | |||
4 | const getParamsMembers = require('./get-params-members'); | ||
5 | |||
6 | module.exports = (data, isDebug) => { | ||
7 | const arr = getParamsMembers(data); | ||
8 | if (!arr) { | ||
9 | if (isDebug) console.log(`${MODULE_NAME} A2E8ED8E: Undefined getParamsMember result`); | ||
10 | return null; | ||
11 | } | ||
12 | |||
13 | const result = {}; | ||
14 | arr.forEach((item) => { | ||
15 | result[item.name] = item.value; | ||
16 | }); | ||
17 | |||
18 | if (isDebug) { | ||
19 | console.log(`${MODULE_NAME} A393BDE0: Returning result:`); | ||
20 | console.log(JSON.stringify(result, null, 2)); | ||
21 | } | ||
22 | |||
23 | return result; | ||
24 | }; | ||
25 |
lib/generic-xmlrpc/get-params-members.js
File was created | 1 | const popEnvelope = require('./pop-envelope'); | |
2 | |||
3 | const getMembersNative = (data) => { | ||
4 | const body = popEnvelope(data); | ||
5 | if (!body) return null; | ||
6 | |||
7 | return body | ||
8 | && body.params | ||
9 | && body.params.param | ||
10 | && body.params.param.value | ||
11 | && body.params.param.value.struct | ||
12 | && body.params.param.value.struct.member; | ||
13 | }; | ||
14 | |||
15 | module.exports = (data) => { | ||
16 | const members = getMembersNative(data); | ||
17 | if (!members) return null; | ||
18 | |||
19 | return members.map((item) => ({ | ||
20 | name: item.name, | ||
21 | value: item.value && item.value.string, | ||
22 | })); | ||
23 | }; | ||
24 |
lib/generic-xmlrpc/pop-envelope.js
File was created | 1 | module.exports = (data) => data | |
2 | && (typeof data === 'object') | ||
3 | && (data.methodCall || data.methodResponse); | ||
4 |
lib/hit.js
File was created | 1 | const MODULE_NAME = 'HIT'; | |
2 | |||
3 | const axios = require('axios').default; | ||
4 | |||
5 | const config = require('komodo-sdk/config'); | ||
6 | const logger = require('komodo-sdk/logger'); | ||
7 | |||
8 | const composePayload = require('./generic-xmlrpc/compose-payload'); | ||
9 | const report = require('./report'); | ||
10 | const dumper = require('./dumper/request'); | ||
11 | const axiosSafeFailed = require('./axios-safe-failed'); | ||
12 | const parseResult = require('./parse-result'); | ||
13 | |||
14 | const defaultAxiosConfig = { | ||
15 | headers: { | ||
16 | 'User-Agent': 'Komodo-GW-ST24B', | ||
17 | 'Content-Type': 'text/xml', | ||
18 | }, | ||
19 | timeout: config.partner.hit_timeout = 2 * 60 * 120, | ||
20 | }; | ||
21 | |||
22 | module.exports = async (xid, task) => { | ||
23 | const methodName = config.partner.topuprequest_method_name || 'topUpRequest'; | ||
24 | |||
25 | logger.verbose(`${MODULE_NAME} E4F52474: Processing task`, { | ||
26 | xid, methodName, task, | ||
27 | }); | ||
28 | |||
29 | const params = { | ||
30 | MSISDN: config.partner.msisdn, | ||
31 | REQUESTID: task.trx_id, | ||
32 | PIN: config.partner.pin, | ||
33 | NOHP: task.destination, | ||
34 | NOM: task.remote_product, | ||
35 | }; | ||
36 | |||
37 | const payload = composePayload(methodName, params); | ||
38 | const axiosConfig = JSON.parse(JSON.stringify(defaultAxiosConfig)); | ||
39 | axiosConfig.headers['Content-length'] = payload.length; | ||
40 | |||
41 | let response; | ||
42 | let eToDump; | ||
43 | |||
44 | const endpointUrl = config.partner.url; | ||
45 | |||
46 | try { | ||
47 | logger.verbose(`${MODULE_NAME} 47FDCA85: Going to HIT partner`, { | ||
48 | xid, | ||
49 | endpointUrl, | ||
50 | methodName, | ||
51 | params, | ||
52 | }); | ||
53 | |||
54 | response = await axios.post(endpointUrl, params, axiosConfig); | ||
55 | if (!response) { | ||
56 | const e = new Error(`${MODULE_NAME} BAACC918: Empty response`); | ||
57 | e.rc = '90'; | ||
58 | logger.warn(e.message, { xid }); | ||
59 | throw e; | ||
60 | } | ||
61 | |||
62 | if (!response.data) { | ||
63 | const e = new Error(`${MODULE_NAME} C816D842: Empty response data`); | ||
64 | e.rc = '90'; | ||
65 | logger.warn(e.message, { xid }); | ||
66 | throw e; | ||
67 | } | ||
68 | |||
69 | if (typeof response.data !== 'string') { | ||
70 | const e = new Error(`${MODULE_NAME} 32A75E8E: Response data is not a string`); | ||
71 | e.rc = '90'; | ||
72 | logger.warn(e.message, { xid }); | ||
73 | throw e; | ||
74 | } | ||
75 | |||
76 | logger.verbose(`${MODULE_NAME} D0CBD82A: Parsing response`, { xid }); | ||
77 | parseResult(xid, null, response.data, false); | ||
78 | } catch (e) { | ||
79 | eToDump = e; | ||
80 | |||
81 | logger.warn(`${MODULE_NAME} 2653B932: Got an exception`, { | ||
82 | xid, | ||
83 | eCode: e.code, | ||
84 | eMessage: e.message, | ||
85 | eRc: e.rc, | ||
86 | responseStatus: e.response && e.response.status, | ||
87 | responseStatusText: e.response && e.response.statusText, | ||
88 | responseContentType: e.response && e.response.headers && e.response.headers['content-type'], | ||
89 | responseBody: e.response && e.response.data, | ||
90 | }); | ||
91 | |||
92 | if (e.response) response = e.response; | ||
93 | |||
94 | const rc = e.rc || axiosSafeFailed(e) || '68'; | ||
95 | |||
96 | report(xid, { | ||
97 | trx_id: task.trx_id, | ||
98 | rc, | ||
99 | message: { | ||
100 | xid, | ||
101 | 'GW-ERROR': { | ||
102 | code: e.code, | ||
103 | message: e.message, | ||
104 | endpointUrl, | ||
105 | httpStatus: (e.response && e.response.status) || null, | ||
106 | httpStatusText: (e.response && e.response.statusText) || null, | ||
107 | responseBody: e.response && e.response.data, | ||
108 | }, | ||
109 | }, | ||
110 | }); | ||
111 | } finally { | ||
112 | dumper( | ||
113 | xid, | ||
114 | task, | ||
115 | endpointUrl, | ||
116 | payload, | ||
117 | axiosConfig, | ||
118 | response.config || axiosConfig, | ||
119 | eToDump, | ||
120 | ); | ||
121 | } | ||
122 | }; | ||
123 |
lib/logger.js
File was created | 1 | const isInTest = typeof global.it === 'function'; | |
2 | |||
3 | // eslint-disable-next-line no-console | ||
4 | module.exports = isInTest ? { verbose: console.log, info: console.log, warn: console.log } : require('komodo-sdk/logger'); | ||
5 |
lib/mkdir-if-not-exists.js
File was created | 1 | const MODULE_NAME = 'MKDIR-IF-NOT-EXISTS'; | |
2 | |||
3 | const fs = require('fs').promises; | ||
4 | |||
5 | const logger = require('komodo-sdk/logger'); | ||
6 | |||
7 | const mkdir = async (xid, dirname) => { | ||
8 | try { | ||
9 | logger.verbose(`${MODULE_NAME} EAE923FB: Making directory`, { xid, dirname }); | ||
10 | await fs.mkdir(dirname, { recursive: true }); | ||
11 | } catch (e) { | ||
12 | logger.warn(`${MODULE_NAME} 1E8EBB84: Exception on making directory`, { | ||
13 | xid, dirname, eCode: e.code, eMessage: e.message, | ||
14 | }); | ||
15 | } | ||
16 | }; | ||
17 | |||
18 | module.exports = async (xid, dirname) => { | ||
19 | try { | ||
20 | fs.stat(dirname); | ||
21 | } catch (e) { | ||
22 | await mkdir(xid, dirname); | ||
23 | } | ||
24 | }; | ||
25 |
lib/parse-result.js
File was created | 1 | const MODULE_NAME = 'PARSE-RESULT'; | |
2 | |||
3 | const config = require('komodo-sdk/config'); | ||
4 | const logger = require('komodo-sdk/logger'); | ||
5 | |||
6 | const getParamsMemberObj = require('./generic-xmlrpc/get-params-members-obj'); | ||
7 | const parseXml = require('./parse-xml'); | ||
8 | |||
9 | const report = require('./report'); | ||
10 | const translateRc = require('./translate-rc'); | ||
11 | |||
12 | module.exports = (xid, trxIdFromCaller, xml, isCallback) => { | ||
13 | logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid }); | ||
14 | |||
15 | if (!trxIdFromCaller && !isCallback) { | ||
16 | if (logger) logger.warn(`${MODULE_NAME} 8CAAD7C9: No trx id on non callback`, { xid }); | ||
17 | return; | ||
18 | } | ||
19 | |||
20 | const obj = parseXml(xid, xml); | ||
21 | if (!obj) { | ||
22 | logger.warn(`${MODULE_NAME} B46CAAD1: Invalid XML`, { xid }); | ||
23 | |||
24 | if (trxIdFromCaller) { | ||
25 | report(xid, { | ||
26 | trx_id: trxIdFromCaller, | ||
27 | rc: '68', | ||
28 | message: { | ||
29 | xid, | ||
30 | isDirectResponse: !isCallback, | ||
31 | isCallback: !!isCallback, | ||
32 | body: xml, | ||
33 | }, | ||
34 | }); | ||
35 | } | ||
36 | |||
37 | return; | ||
38 | } | ||
39 | |||
40 | const params = getParamsMemberObj(obj, false); | ||
41 | logger.verbose(`${MODULE_NAME} 3D5400C1: Params extracted from response`, { xid, params }); | ||
42 | |||
43 | const requestIdField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.requestId) || 'REQUESTID'; | ||
44 | const requestIdFromResponse = params[requestIdField]; | ||
45 | |||
46 | const responseCodeField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.responseCode) || 'RESPONSECODE'; | ||
47 | const responseCodeFromResponse = params[responseCodeField]; | ||
48 | |||
49 | // eslint-disable-next-line max-len | ||
50 | // const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; | ||
51 | // const messageFromResponse = params[messageField]; | ||
52 | |||
53 | const snField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.sn) || 'SN'; | ||
54 | const snFromResponse = params[snField]; | ||
55 | |||
56 | const trxId = trxIdFromCaller || requestIdFromResponse; | ||
57 | if (!trxId) { | ||
58 | logger.warn(`${MODULE_NAME} 534E684A: Unknown trxId`, { xid }); | ||
59 | return; | ||
60 | } | ||
61 | |||
62 | const rc = translateRc(xid, responseCodeFromResponse) || '68'; | ||
63 | |||
64 | const sn = (rc === '00' && snFromResponse) || null; | ||
65 | |||
66 | report(xid, { | ||
67 | trx_id: trxId, | ||
68 | rc, | ||
69 | sn, | ||
70 | message: { | ||
71 | xid, | ||
72 | responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', | ||
73 | body: xml, | ||
74 | }, | ||
75 | }); | ||
76 | }; | ||
77 |
lib/parse-xml.js
File was created | 1 | const MODULE_NAME = 'PARSE-XML'; | |
2 | |||
3 | const isInTest = typeof global.it === 'function'; | ||
4 | const xmlParser = require('fast-xml-parser'); | ||
5 | |||
6 | // eslint-disable-next-line no-console | ||
7 | const warn = isInTest ? console.log : require('komodo-sdk/logger').warn; | ||
8 | |||
9 | const parseOptions = { | ||
10 | parseNodeValue: false, | ||
11 | trimValue: true, | ||
12 | }; | ||
13 | |||
14 | module.exports = (xid, str) => { | ||
15 | let result; | ||
16 | try { | ||
17 | result = xmlParser.parse(str, parseOptions); | ||
18 | if (!result) { | ||
19 | const e = new Error(`${MODULE_NAME} 64EE88A6: XML parser return invalid value`); | ||
20 | warn(e.message, { xid }); | ||
21 | |||
22 | throw e; | ||
23 | } | ||
24 | } catch (e) { | ||
25 | warn(`${MODULE_NAME} F9B6010C: Exception on parsing xml`, { | ||
26 | xid, | ||
27 | eCode: e.code, | ||
28 | eMessage: e.message, | ||
29 | }); | ||
30 | |||
31 | result = null; | ||
32 | } | ||
33 | |||
34 | return result; | ||
35 | }; | ||
36 |
lib/partner.js
File was created | 1 | const uniqid = require('uniqid'); | |
2 | const hit = require('./hit'); | ||
3 | |||
4 | exports.buy = (task) => { | ||
5 | const xid = uniqid(); | ||
6 | hit(xid, task); | ||
7 | }; | ||
8 |
lib/report.js
File was created | 1 | const MODULE_NAME = 'REPORT'; | |
2 | |||
3 | const stringify = require('json-stringify-pretty-compact'); | ||
4 | |||
5 | const pull = require('komodo-sdk/gateway/pull'); | ||
6 | const logger = require('komodo-sdk/logger'); | ||
7 | |||
8 | module.exports = (xid, data) => { | ||
9 | if (!data) return; | ||
10 | |||
11 | logger.verbose(`${MODULE_NAME} BAACC918: Reporting to CORE`, { | ||
12 | xid, | ||
13 | data, | ||
14 | }); | ||
15 | |||
16 | const reportMsg = JSON.parse(JSON.stringify(data)); | ||
17 | if (typeof reportMsg.message !== 'string') { | ||
18 | reportMsg.message = stringify(reportMsg.message); | ||
19 | } | ||
20 | |||
21 | pull.report(reportMsg); | ||
22 | }; | ||
23 |
lib/translate-rc/index.js
File was created | 1 | const MODULE_NAME = 'TRANSLATE-RC'; | |
2 | |||
3 | const fs = require('fs'); | ||
4 | const path = require('path'); | ||
5 | |||
6 | const logger = require('../logger'); | ||
7 | |||
8 | const dictDefault = require('./rcs'); | ||
9 | |||
10 | const dictCustomFilename = path.join(process.cwd(), 'rc-local.json'); | ||
11 | const dictCustomFileExists = fs.existsSync(dictCustomFilename); | ||
12 | |||
13 | // eslint-disable-next-line import/no-dynamic-require | ||
14 | const dictCustom = dictCustomFileExists ? require(dictCustomFilename) : {}; | ||
15 | |||
16 | if (dictCustomFileExists) { | ||
17 | logger.verbose(`${MODULE_NAME} 14F61E23: Custom RC dictionary found`, { | ||
18 | fileName: dictCustomFilename, | ||
19 | content: dictCustom, | ||
20 | }); | ||
21 | } | ||
22 | |||
23 | module.exports = (xid, rcFromPartner) => { | ||
24 | if (!rcFromPartner) { | ||
25 | logger.verbose(`${MODULE_NAME} 030CFC8F: Unknown rcFromPartner`, { xid }); | ||
26 | return null; | ||
27 | } | ||
28 | |||
29 | logger.verbose(`${MODULE_NAME} 9EDC60A9: Translating RC from partner`, { xid, rcFromPartner }); | ||
30 | |||
31 | if (dictCustom[rcFromPartner]) { | ||
32 | logger.verbose(`${MODULE_NAME} 0F4ED40E: Found on custom dict`, { xid }); | ||
33 | return dictCustom[rcFromPartner]; | ||
34 | } | ||
35 | |||
36 | if (dictDefault[rcFromPartner]) { | ||
37 | logger.verbose(`${MODULE_NAME} D1B588D9: Found on default dict`, { xid }); | ||
38 | return dictDefault[rcFromPartner]; | ||
39 | } | ||
40 | |||
41 | logger.verbose(`${MODULE_NAME} 61A6ADCE: Using default rc (40)`, { xid }); | ||
42 | return '40'; | ||
43 | }; | ||
44 |
lib/translate-rc/rcs.js
File was created | 1 | module.exports = { | |
2 | '00': '00', | ||
3 | 68: '68', | ||
4 | 14: '14', | ||
5 | 15: '88', | ||
6 | 16: '90', | ||
7 | 17: '14', | ||
8 | 19: '90', | ||
9 | 20: '90', | ||
10 | 74: '77', | ||
11 | 82: '94', | ||
12 | 89: '90', | ||
13 | I8: '14', | ||
14 | I9: '14', | ||
15 | A0: '68', | ||
16 | Q1: '90', | ||
17 | }; | ||
18 |
package-lock.json
File was created | 1 | { | |
2 | "name": "komodo-gw-st24b", | ||
3 | "version": "0.1.0", | ||
4 | "lockfileVersion": 1, | ||
5 | "requires": true, | ||
6 | "dependencies": { | ||
7 | "@babel/code-frame": { | ||
8 | "version": "7.12.11", | ||
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", | ||
10 | "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", | ||
11 | "dev": true, | ||
12 | "requires": { | ||
13 | "@babel/highlight": "^7.10.4" | ||
14 | } | ||
15 | }, | ||
16 | "@babel/helper-validator-identifier": { | ||
17 | "version": "7.14.5", | ||
18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", | ||
19 | "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", | ||
20 | "dev": true | ||
21 | }, | ||
22 | "@babel/highlight": { | ||
23 | "version": "7.14.5", | ||
24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", | ||
25 | "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", | ||
26 | "dev": true, | ||
27 | "requires": { | ||
28 | "@babel/helper-validator-identifier": "^7.14.5", | ||
29 | "chalk": "^2.0.0", | ||
30 | "js-tokens": "^4.0.0" | ||
31 | }, | ||
32 | "dependencies": { | ||
33 | "chalk": { | ||
34 | "version": "2.4.2", | ||
35 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||
36 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||
37 | "dev": true, | ||
38 | "requires": { | ||
39 | "ansi-styles": "^3.2.1", | ||
40 | "escape-string-regexp": "^1.0.5", | ||
41 | "supports-color": "^5.3.0" | ||
42 | } | ||
43 | }, | ||
44 | "escape-string-regexp": { | ||
45 | "version": "1.0.5", | ||
46 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | ||
47 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | ||
48 | "dev": true | ||
49 | } | ||
50 | } | ||
51 | }, | ||
52 | "@cloudcmd/copy-file": { | ||
53 | "version": "1.1.1", | ||
54 | "resolved": "https://registry.npmjs.org/@cloudcmd/copy-file/-/copy-file-1.1.1.tgz", | ||
55 | "integrity": "sha512-t6pTJdsV0qhh9YX22/Npsv95GqVABc5GRInSK7JSSNIpPLq9TM+K7odYzcOuQRPZAD9OHxZfbYsB4WJOalzqng==", | ||
56 | "requires": { | ||
57 | "es6-promisify": "^6.0.0", | ||
58 | "pipe-io": "^3.0.0", | ||
59 | "wraptile": "^2.0.0", | ||
60 | "zames": "^2.0.0" | ||
61 | } | ||
62 | }, | ||
63 | "@dabh/diagnostics": { | ||
64 | "version": "2.0.2", | ||
65 | "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", | ||
66 | "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", | ||
67 | "requires": { | ||
68 | "colorspace": "1.1.x", | ||
69 | "enabled": "2.0.x", | ||
70 | "kuler": "^2.0.0" | ||
71 | } | ||
72 | }, | ||
73 | "@eslint/eslintrc": { | ||
74 | "version": "0.4.2", | ||
75 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", | ||
76 | "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", | ||
77 | "dev": true, | ||
78 | "requires": { | ||
79 | "ajv": "^6.12.4", | ||
80 | "debug": "^4.1.1", | ||
81 | "espree": "^7.3.0", | ||
82 | "globals": "^13.9.0", | ||
83 | "ignore": "^4.0.6", | ||
84 | "import-fresh": "^3.2.1", | ||
85 | "js-yaml": "^3.13.1", | ||
86 | "minimatch": "^3.0.4", | ||
87 | "strip-json-comments": "^3.1.1" | ||
88 | } | ||
89 | }, | ||
90 | "@types/json5": { | ||
91 | "version": "0.0.29", | ||
92 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", | ||
93 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", | ||
94 | "dev": true | ||
95 | }, | ||
96 | "@ungap/promise-all-settled": { | ||
97 | "version": "1.1.2", | ||
98 | "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", | ||
99 | "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", | ||
100 | "dev": true | ||
101 | }, | ||
102 | "a-sync-waterfall": { | ||
103 | "version": "1.0.1", | ||
104 | "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", | ||
105 | "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" | ||
106 | }, | ||
107 | "accepts": { | ||
108 | "version": "1.3.7", | ||
109 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", | ||
110 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", | ||
111 | "requires": { | ||
112 | "mime-types": "~2.1.24", | ||
113 | "negotiator": "0.6.2" | ||
114 | } | ||
115 | }, | ||
116 | "acorn": { | ||
117 | "version": "7.4.1", | ||
118 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", | ||
119 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", | ||
120 | "dev": true | ||
121 | }, | ||
122 | "acorn-jsx": { | ||
123 | "version": "5.3.1", | ||
124 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", | ||
125 | "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", | ||
126 | "dev": true | ||
127 | }, | ||
128 | "ajv": { | ||
129 | "version": "6.12.6", | ||
130 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||
131 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", | ||
132 | "requires": { | ||
133 | "fast-deep-equal": "^3.1.1", | ||
134 | "fast-json-stable-stringify": "^2.0.0", | ||
135 | "json-schema-traverse": "^0.4.1", | ||
136 | "uri-js": "^4.2.2" | ||
137 | } | ||
138 | }, | ||
139 | "ansi-colors": { | ||
140 | "version": "4.1.1", | ||
141 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", | ||
142 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", | ||
143 | "dev": true | ||
144 | }, | ||
145 | "ansi-regex": { | ||
146 | "version": "5.0.0", | ||
147 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||
148 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||
149 | "dev": true | ||
150 | }, | ||
151 | "ansi-styles": { | ||
152 | "version": "3.2.1", | ||
153 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||
154 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||
155 | "dev": true, | ||
156 | "requires": { | ||
157 | "color-convert": "^1.9.0" | ||
158 | } | ||
159 | }, | ||
160 | "anymatch": { | ||
161 | "version": "3.1.2", | ||
162 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", | ||
163 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", | ||
164 | "dev": true, | ||
165 | "requires": { | ||
166 | "normalize-path": "^3.0.0", | ||
167 | "picomatch": "^2.0.4" | ||
168 | } | ||
169 | }, | ||
170 | "argparse": { | ||
171 | "version": "1.0.10", | ||
172 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | ||
173 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | ||
174 | "dev": true, | ||
175 | "requires": { | ||
176 | "sprintf-js": "~1.0.2" | ||
177 | } | ||
178 | }, | ||
179 | "array-flatten": { | ||
180 | "version": "1.1.1", | ||
181 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||
182 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" | ||
183 | }, | ||
184 | "array-includes": { | ||
185 | "version": "3.1.3", | ||
186 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", | ||
187 | "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", | ||
188 | "dev": true, | ||
189 | "requires": { | ||
190 | "call-bind": "^1.0.2", | ||
191 | "define-properties": "^1.1.3", | ||
192 | "es-abstract": "^1.18.0-next.2", | ||
193 | "get-intrinsic": "^1.1.1", | ||
194 | "is-string": "^1.0.5" | ||
195 | } | ||
196 | }, | ||
197 | "array-unique": { | ||
198 | "version": "0.3.2", | ||
199 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", | ||
200 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" | ||
201 | }, | ||
202 | "array.prototype.flat": { | ||
203 | "version": "1.2.4", | ||
204 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", | ||
205 | "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", | ||
206 | "dev": true, | ||
207 | "requires": { | ||
208 | "call-bind": "^1.0.0", | ||
209 | "define-properties": "^1.1.3", | ||
210 | "es-abstract": "^1.18.0-next.1" | ||
211 | } | ||
212 | }, | ||
213 | "asap": { | ||
214 | "version": "2.0.6", | ||
215 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", | ||
216 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" | ||
217 | }, | ||
218 | "asn1": { | ||
219 | "version": "0.2.4", | ||
220 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | ||
221 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | ||
222 | "requires": { | ||
223 | "safer-buffer": "~2.1.0" | ||
224 | } | ||
225 | }, | ||
226 | "assert-plus": { | ||
227 | "version": "1.0.0", | ||
228 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
229 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
230 | }, | ||
231 | "astral-regex": { | ||
232 | "version": "2.0.0", | ||
233 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", | ||
234 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", | ||
235 | "dev": true | ||
236 | }, | ||
237 | "async": { | ||
238 | "version": "3.2.0", | ||
239 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", | ||
240 | "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" | ||
241 | }, | ||
242 | "asynckit": { | ||
243 | "version": "0.4.0", | ||
244 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
245 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" | ||
246 | }, | ||
247 | "aws-sign2": { | ||
248 | "version": "0.7.0", | ||
249 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
250 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" | ||
251 | }, | ||
252 | "aws4": { | ||
253 | "version": "1.11.0", | ||
254 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", | ||
255 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" | ||
256 | }, | ||
257 | "axios": { | ||
258 | "version": "0.21.1", | ||
259 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", | ||
260 | "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", | ||
261 | "requires": { | ||
262 | "follow-redirects": "^1.10.0" | ||
263 | } | ||
264 | }, | ||
265 | "balanced-match": { | ||
266 | "version": "1.0.2", | ||
267 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | ||
268 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | ||
269 | }, | ||
270 | "basic-auth": { | ||
271 | "version": "2.0.1", | ||
272 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", | ||
273 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", | ||
274 | "requires": { | ||
275 | "safe-buffer": "5.1.2" | ||
276 | }, | ||
277 | "dependencies": { | ||
278 | "safe-buffer": { | ||
279 | "version": "5.1.2", | ||
280 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
281 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
282 | } | ||
283 | } | ||
284 | }, | ||
285 | "bcrypt-pbkdf": { | ||
286 | "version": "1.0.2", | ||
287 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
288 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | ||
289 | "requires": { | ||
290 | "tweetnacl": "^0.14.3" | ||
291 | } | ||
292 | }, | ||
293 | "binary-extensions": { | ||
294 | "version": "2.2.0", | ||
295 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", | ||
296 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", | ||
297 | "dev": true | ||
298 | }, | ||
299 | "body-parser": { | ||
300 | "version": "1.19.0", | ||
301 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", | ||
302 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", | ||
303 | "requires": { | ||
304 | "bytes": "3.1.0", | ||
305 | "content-type": "~1.0.4", | ||
306 | "debug": "2.6.9", | ||
307 | "depd": "~1.1.2", | ||
308 | "http-errors": "1.7.2", | ||
309 | "iconv-lite": "0.4.24", | ||
310 | "on-finished": "~2.3.0", | ||
311 | "qs": "6.7.0", | ||
312 | "raw-body": "2.4.0", | ||
313 | "type-is": "~1.6.17" | ||
314 | }, | ||
315 | "dependencies": { | ||
316 | "debug": { | ||
317 | "version": "2.6.9", | ||
318 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
319 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
320 | "requires": { | ||
321 | "ms": "2.0.0" | ||
322 | } | ||
323 | }, | ||
324 | "ms": { | ||
325 | "version": "2.0.0", | ||
326 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
327 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
328 | } | ||
329 | } | ||
330 | }, | ||
331 | "brace-expansion": { | ||
332 | "version": "1.1.11", | ||
333 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
334 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
335 | "requires": { | ||
336 | "balanced-match": "^1.0.0", | ||
337 | "concat-map": "0.0.1" | ||
338 | } | ||
339 | }, | ||
340 | "braces": { | ||
341 | "version": "3.0.2", | ||
342 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", | ||
343 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", | ||
344 | "dev": true, | ||
345 | "requires": { | ||
346 | "fill-range": "^7.0.1" | ||
347 | } | ||
348 | }, | ||
349 | "browser-stdout": { | ||
350 | "version": "1.3.1", | ||
351 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", | ||
352 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", | ||
353 | "dev": true | ||
354 | }, | ||
355 | "bytes": { | ||
356 | "version": "3.1.0", | ||
357 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", | ||
358 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" | ||
359 | }, | ||
360 | "call-bind": { | ||
361 | "version": "1.0.2", | ||
362 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | ||
363 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | ||
364 | "dev": true, | ||
365 | "requires": { | ||
366 | "function-bind": "^1.1.1", | ||
367 | "get-intrinsic": "^1.0.2" | ||
368 | } | ||
369 | }, | ||
370 | "callsites": { | ||
371 | "version": "3.1.0", | ||
372 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", | ||
373 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", | ||
374 | "dev": true | ||
375 | }, | ||
376 | "camelcase": { | ||
377 | "version": "6.2.0", | ||
378 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", | ||
379 | "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", | ||
380 | "dev": true | ||
381 | }, | ||
382 | "caseless": { | ||
383 | "version": "0.12.0", | ||
384 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
385 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | ||
386 | }, | ||
387 | "chalk": { | ||
388 | "version": "4.1.1", | ||
389 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", | ||
390 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", | ||
391 | "dev": true, | ||
392 | "requires": { | ||
393 | "ansi-styles": "^4.1.0", | ||
394 | "supports-color": "^7.1.0" | ||
395 | }, | ||
396 | "dependencies": { | ||
397 | "ansi-styles": { | ||
398 | "version": "4.3.0", | ||
399 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
400 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
401 | "dev": true, | ||
402 | "requires": { | ||
403 | "color-convert": "^2.0.1" | ||
404 | } | ||
405 | }, | ||
406 | "color-convert": { | ||
407 | "version": "2.0.1", | ||
408 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
409 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
410 | "dev": true, | ||
411 | "requires": { | ||
412 | "color-name": "~1.1.4" | ||
413 | } | ||
414 | }, | ||
415 | "color-name": { | ||
416 | "version": "1.1.4", | ||
417 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
418 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
419 | "dev": true | ||
420 | }, | ||
421 | "has-flag": { | ||
422 | "version": "4.0.0", | ||
423 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
424 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||
425 | "dev": true | ||
426 | }, | ||
427 | "supports-color": { | ||
428 | "version": "7.2.0", | ||
429 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||
430 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||
431 | "dev": true, | ||
432 | "requires": { | ||
433 | "has-flag": "^4.0.0" | ||
434 | } | ||
435 | } | ||
436 | } | ||
437 | }, | ||
438 | "charenc": { | ||
439 | "version": "0.0.2", | ||
440 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", | ||
441 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" | ||
442 | }, | ||
443 | "chokidar": { | ||
444 | "version": "3.5.1", | ||
445 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", | ||
446 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", | ||
447 | "dev": true, | ||
448 | "requires": { | ||
449 | "anymatch": "~3.1.1", | ||
450 | "braces": "~3.0.2", | ||
451 | "fsevents": "~2.3.1", | ||
452 | "glob-parent": "~5.1.0", | ||
453 | "is-binary-path": "~2.1.0", | ||
454 | "is-glob": "~4.0.1", | ||
455 | "normalize-path": "~3.0.0", | ||
456 | "readdirp": "~3.5.0" | ||
457 | } | ||
458 | }, | ||
459 | "circular-buffer": { | ||
460 | "version": "0.0.6", | ||
461 | "resolved": "https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.6.tgz", | ||
462 | "integrity": "sha1-6c+iujGdNw3idDtgCMpTnN3r9TY=" | ||
463 | }, | ||
464 | "cliui": { | ||
465 | "version": "7.0.4", | ||
466 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||
467 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||
468 | "dev": true, | ||
469 | "requires": { | ||
470 | "string-width": "^4.2.0", | ||
471 | "strip-ansi": "^6.0.0", | ||
472 | "wrap-ansi": "^7.0.0" | ||
473 | } | ||
474 | }, | ||
475 | "color": { | ||
476 | "version": "3.0.0", | ||
477 | "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", | ||
478 | "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", | ||
479 | "requires": { | ||
480 | "color-convert": "^1.9.1", | ||
481 | "color-string": "^1.5.2" | ||
482 | } | ||
483 | }, | ||
484 | "color-convert": { | ||
485 | "version": "1.9.3", | ||
486 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
487 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
488 | "requires": { | ||
489 | "color-name": "1.1.3" | ||
490 | } | ||
491 | }, | ||
492 | "color-name": { | ||
493 | "version": "1.1.3", | ||
494 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
495 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | ||
496 | }, | ||
497 | "color-string": { | ||
498 | "version": "1.5.5", | ||
499 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", | ||
500 | "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", | ||
501 | "requires": { | ||
502 | "color-name": "^1.0.0", | ||
503 | "simple-swizzle": "^0.2.2" | ||
504 | } | ||
505 | }, | ||
506 | "colors": { | ||
507 | "version": "1.4.0", | ||
508 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", | ||
509 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" | ||
510 | }, | ||
511 | "colorspace": { | ||
512 | "version": "1.1.2", | ||
513 | "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", | ||
514 | "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", | ||
515 | "requires": { | ||
516 | "color": "3.0.x", | ||
517 | "text-hex": "1.0.x" | ||
518 | } | ||
519 | }, | ||
520 | "combined-stream": { | ||
521 | "version": "1.0.8", | ||
522 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||
523 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
524 | "requires": { | ||
525 | "delayed-stream": "~1.0.0" | ||
526 | } | ||
527 | }, | ||
528 | "commander": { | ||
529 | "version": "2.20.3", | ||
530 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | ||
531 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" | ||
532 | }, | ||
533 | "concat-map": { | ||
534 | "version": "0.0.1", | ||
535 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
536 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||
537 | }, | ||
538 | "confusing-browser-globals": { | ||
539 | "version": "1.0.10", | ||
540 | "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", | ||
541 | "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", | ||
542 | "dev": true | ||
543 | }, | ||
544 | "content-disposition": { | ||
545 | "version": "0.5.3", | ||
546 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", | ||
547 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", | ||
548 | "requires": { | ||
549 | "safe-buffer": "5.1.2" | ||
550 | }, | ||
551 | "dependencies": { | ||
552 | "safe-buffer": { | ||
553 | "version": "5.1.2", | ||
554 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
555 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
556 | } | ||
557 | } | ||
558 | }, | ||
559 | "content-type": { | ||
560 | "version": "1.0.4", | ||
561 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||
562 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" | ||
563 | }, | ||
564 | "cookie": { | ||
565 | "version": "0.4.0", | ||
566 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", | ||
567 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" | ||
568 | }, | ||
569 | "cookie-signature": { | ||
570 | "version": "1.0.6", | ||
571 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||
572 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | ||
573 | }, | ||
574 | "core-util-is": { | ||
575 | "version": "1.0.2", | ||
576 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||
577 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" | ||
578 | }, | ||
579 | "cross-spawn": { | ||
580 | "version": "7.0.3", | ||
581 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | ||
582 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", | ||
583 | "dev": true, | ||
584 | "requires": { | ||
585 | "path-key": "^3.1.0", | ||
586 | "shebang-command": "^2.0.0", | ||
587 | "which": "^2.0.1" | ||
588 | } | ||
589 | }, | ||
590 | "crypt": { | ||
591 | "version": "0.0.2", | ||
592 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", | ||
593 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" | ||
594 | }, | ||
595 | "currify": { | ||
596 | "version": "3.0.0", | ||
597 | "resolved": "https://registry.npmjs.org/currify/-/currify-3.0.0.tgz", | ||
598 | "integrity": "sha512-ecz0Dq3T2UwiLwhiYvEFhdM4yUvlCLRgVbvpt6oI8RteJzEztum1UbLbN6snQ5nfHqtMcnrxkd7N0LeAIErorw==" | ||
599 | }, | ||
600 | "cycle": { | ||
601 | "version": "1.0.3", | ||
602 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", | ||
603 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" | ||
604 | }, | ||
605 | "dashdash": { | ||
606 | "version": "1.14.1", | ||
607 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
608 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||
609 | "requires": { | ||
610 | "assert-plus": "^1.0.0" | ||
611 | } | ||
612 | }, | ||
613 | "debug": { | ||
614 | "version": "4.3.1", | ||
615 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | ||
616 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | ||
617 | "requires": { | ||
618 | "ms": "2.1.2" | ||
619 | } | ||
620 | }, | ||
621 | "decamelize": { | ||
622 | "version": "4.0.0", | ||
623 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", | ||
624 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", | ||
625 | "dev": true | ||
626 | }, | ||
627 | "deep-is": { | ||
628 | "version": "0.1.3", | ||
629 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | ||
630 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | ||
631 | "dev": true | ||
632 | }, | ||
633 | "define-properties": { | ||
634 | "version": "1.1.3", | ||
635 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | ||
636 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | ||
637 | "dev": true, | ||
638 | "requires": { | ||
639 | "object-keys": "^1.0.12" | ||
640 | } | ||
641 | }, | ||
642 | "delayed-stream": { | ||
643 | "version": "1.0.0", | ||
644 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
645 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | ||
646 | }, | ||
647 | "depd": { | ||
648 | "version": "1.1.2", | ||
649 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | ||
650 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" | ||
651 | }, | ||
652 | "destroy": { | ||
653 | "version": "1.0.4", | ||
654 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | ||
655 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | ||
656 | }, | ||
657 | "diff": { | ||
658 | "version": "5.0.0", | ||
659 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", | ||
660 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", | ||
661 | "dev": true | ||
662 | }, | ||
663 | "doctrine": { | ||
664 | "version": "3.0.0", | ||
665 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | ||
666 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", | ||
667 | "dev": true, | ||
668 | "requires": { | ||
669 | "esutils": "^2.0.2" | ||
670 | } | ||
671 | }, | ||
672 | "dot-object": { | ||
673 | "version": "1.9.0", | ||
674 | "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-1.9.0.tgz", | ||
675 | "integrity": "sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==", | ||
676 | "requires": { | ||
677 | "commander": "^2.20.0", | ||
678 | "glob": "^7.1.4" | ||
679 | } | ||
680 | }, | ||
681 | "double-ended-queue": { | ||
682 | "version": "2.1.0-0", | ||
683 | "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", | ||
684 | "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" | ||
685 | }, | ||
686 | "ecc-jsbn": { | ||
687 | "version": "0.1.2", | ||
688 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
689 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | ||
690 | "requires": { | ||
691 | "jsbn": "~0.1.0", | ||
692 | "safer-buffer": "^2.1.0" | ||
693 | } | ||
694 | }, | ||
695 | "ee-first": { | ||
696 | "version": "1.1.1", | ||
697 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
698 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" | ||
699 | }, | ||
700 | "emoji-regex": { | ||
701 | "version": "8.0.0", | ||
702 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", | ||
703 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", | ||
704 | "dev": true | ||
705 | }, | ||
706 | "enabled": { | ||
707 | "version": "2.0.0", | ||
708 | "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", | ||
709 | "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" | ||
710 | }, | ||
711 | "encodeurl": { | ||
712 | "version": "1.0.2", | ||
713 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
714 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" | ||
715 | }, | ||
716 | "enquirer": { | ||
717 | "version": "2.3.6", | ||
718 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", | ||
719 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", | ||
720 | "dev": true, | ||
721 | "requires": { | ||
722 | "ansi-colors": "^4.1.1" | ||
723 | } | ||
724 | }, | ||
725 | "error-ex": { | ||
726 | "version": "1.3.2", | ||
727 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", | ||
728 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", | ||
729 | "dev": true, | ||
730 | "requires": { | ||
731 | "is-arrayish": "^0.2.1" | ||
732 | } | ||
733 | }, | ||
734 | "es-abstract": { | ||
735 | "version": "1.18.3", | ||
736 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", | ||
737 | "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", | ||
738 | "dev": true, | ||
739 | "requires": { | ||
740 | "call-bind": "^1.0.2", | ||
741 | "es-to-primitive": "^1.2.1", | ||
742 | "function-bind": "^1.1.1", | ||
743 | "get-intrinsic": "^1.1.1", | ||
744 | "has": "^1.0.3", | ||
745 | "has-symbols": "^1.0.2", | ||
746 | "is-callable": "^1.2.3", | ||
747 | "is-negative-zero": "^2.0.1", | ||
748 | "is-regex": "^1.1.3", | ||
749 | "is-string": "^1.0.6", | ||
750 | "object-inspect": "^1.10.3", | ||
751 | "object-keys": "^1.1.1", | ||
752 | "object.assign": "^4.1.2", | ||
753 | "string.prototype.trimend": "^1.0.4", | ||
754 | "string.prototype.trimstart": "^1.0.4", | ||
755 | "unbox-primitive": "^1.0.1" | ||
756 | } | ||
757 | }, | ||
758 | "es-to-primitive": { | ||
759 | "version": "1.2.1", | ||
760 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", | ||
761 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", | ||
762 | "dev": true, | ||
763 | "requires": { | ||
764 | "is-callable": "^1.1.4", | ||
765 | "is-date-object": "^1.0.1", | ||
766 | "is-symbol": "^1.0.2" | ||
767 | } | ||
768 | }, | ||
769 | "es6-promisify": { | ||
770 | "version": "6.1.1", | ||
771 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", | ||
772 | "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" | ||
773 | }, | ||
774 | "escalade": { | ||
775 | "version": "3.1.1", | ||
776 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", | ||
777 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", | ||
778 | "dev": true | ||
779 | }, | ||
780 | "escape-html": { | ||
781 | "version": "1.0.3", | ||
782 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
783 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" | ||
784 | }, | ||
785 | "escape-string-regexp": { | ||
786 | "version": "4.0.0", | ||
787 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", | ||
788 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", | ||
789 | "dev": true | ||
790 | }, | ||
791 | "eslint": { | ||
792 | "version": "7.29.0", | ||
793 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.29.0.tgz", | ||
794 | "integrity": "sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==", | ||
795 | "dev": true, | ||
796 | "requires": { | ||
797 | "@babel/code-frame": "7.12.11", | ||
798 | "@eslint/eslintrc": "^0.4.2", | ||
799 | "ajv": "^6.10.0", | ||
800 | "chalk": "^4.0.0", | ||
801 | "cross-spawn": "^7.0.2", | ||
802 | "debug": "^4.0.1", | ||
803 | "doctrine": "^3.0.0", | ||
804 | "enquirer": "^2.3.5", | ||
805 | "escape-string-regexp": "^4.0.0", | ||
806 | "eslint-scope": "^5.1.1", | ||
807 | "eslint-utils": "^2.1.0", | ||
808 | "eslint-visitor-keys": "^2.0.0", | ||
809 | "espree": "^7.3.1", | ||
810 | "esquery": "^1.4.0", | ||
811 | "esutils": "^2.0.2", | ||
812 | "fast-deep-equal": "^3.1.3", | ||
813 | "file-entry-cache": "^6.0.1", | ||
814 | "functional-red-black-tree": "^1.0.1", | ||
815 | "glob-parent": "^5.1.2", | ||
816 | "globals": "^13.6.0", | ||
817 | "ignore": "^4.0.6", | ||
818 | "import-fresh": "^3.0.0", | ||
819 | "imurmurhash": "^0.1.4", | ||
820 | "is-glob": "^4.0.0", | ||
821 | "js-yaml": "^3.13.1", | ||
822 | "json-stable-stringify-without-jsonify": "^1.0.1", | ||
823 | "levn": "^0.4.1", | ||
824 | "lodash.merge": "^4.6.2", | ||
825 | "minimatch": "^3.0.4", | ||
826 | "natural-compare": "^1.4.0", | ||
827 | "optionator": "^0.9.1", | ||
828 | "progress": "^2.0.0", | ||
829 | "regexpp": "^3.1.0", | ||
830 | "semver": "^7.2.1", | ||
831 | "strip-ansi": "^6.0.0", | ||
832 | "strip-json-comments": "^3.1.0", | ||
833 | "table": "^6.0.9", | ||
834 | "text-table": "^0.2.0", | ||
835 | "v8-compile-cache": "^2.0.3" | ||
836 | } | ||
837 | }, | ||
838 | "eslint-config-airbnb-base": { | ||
839 | "version": "14.2.1", | ||
840 | "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", | ||
841 | "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", | ||
842 | "dev": true, | ||
843 | "requires": { | ||
844 | "confusing-browser-globals": "^1.0.10", | ||
845 | "object.assign": "^4.1.2", | ||
846 | "object.entries": "^1.1.2" | ||
847 | } | ||
848 | }, | ||
849 | "eslint-import-resolver-node": { | ||
850 | "version": "0.3.4", | ||
851 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", | ||
852 | "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", | ||
853 | "dev": true, | ||
854 | "requires": { | ||
855 | "debug": "^2.6.9", | ||
856 | "resolve": "^1.13.1" | ||
857 | }, | ||
858 | "dependencies": { | ||
859 | "debug": { | ||
860 | "version": "2.6.9", | ||
861 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
862 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
863 | "dev": true, | ||
864 | "requires": { | ||
865 | "ms": "2.0.0" | ||
866 | } | ||
867 | }, | ||
868 | "ms": { | ||
869 | "version": "2.0.0", | ||
870 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
871 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
872 | "dev": true | ||
873 | } | ||
874 | } | ||
875 | }, | ||
876 | "eslint-module-utils": { | ||
877 | "version": "2.6.1", | ||
878 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", | ||
879 | "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", | ||
880 | "dev": true, | ||
881 | "requires": { | ||
882 | "debug": "^3.2.7", | ||
883 | "pkg-dir": "^2.0.0" | ||
884 | }, | ||
885 | "dependencies": { | ||
886 | "debug": { | ||
887 | "version": "3.2.7", | ||
888 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", | ||
889 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", | ||
890 | "dev": true, | ||
891 | "requires": { | ||
892 | "ms": "^2.1.1" | ||
893 | } | ||
894 | } | ||
895 | } | ||
896 | }, | ||
897 | "eslint-plugin-import": { | ||
898 | "version": "2.23.4", | ||
899 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", | ||
900 | "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", | ||
901 | "dev": true, | ||
902 | "requires": { | ||
903 | "array-includes": "^3.1.3", | ||
904 | "array.prototype.flat": "^1.2.4", | ||
905 | "debug": "^2.6.9", | ||
906 | "doctrine": "^2.1.0", | ||
907 | "eslint-import-resolver-node": "^0.3.4", | ||
908 | "eslint-module-utils": "^2.6.1", | ||
909 | "find-up": "^2.0.0", | ||
910 | "has": "^1.0.3", | ||
911 | "is-core-module": "^2.4.0", | ||
912 | "minimatch": "^3.0.4", | ||
913 | "object.values": "^1.1.3", | ||
914 | "pkg-up": "^2.0.0", | ||
915 | "read-pkg-up": "^3.0.0", | ||
916 | "resolve": "^1.20.0", | ||
917 | "tsconfig-paths": "^3.9.0" | ||
918 | }, | ||
919 | "dependencies": { | ||
920 | "debug": { | ||
921 | "version": "2.6.9", | ||
922 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
923 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
924 | "dev": true, | ||
925 | "requires": { | ||
926 | "ms": "2.0.0" | ||
927 | } | ||
928 | }, | ||
929 | "doctrine": { | ||
930 | "version": "2.1.0", | ||
931 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", | ||
932 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", | ||
933 | "dev": true, | ||
934 | "requires": { | ||
935 | "esutils": "^2.0.2" | ||
936 | } | ||
937 | }, | ||
938 | "find-up": { | ||
939 | "version": "2.1.0", | ||
940 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", | ||
941 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | ||
942 | "dev": true, | ||
943 | "requires": { | ||
944 | "locate-path": "^2.0.0" | ||
945 | } | ||
946 | }, | ||
947 | "locate-path": { | ||
948 | "version": "2.0.0", | ||
949 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", | ||
950 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | ||
951 | "dev": true, | ||
952 | "requires": { | ||
953 | "p-locate": "^2.0.0", | ||
954 | "path-exists": "^3.0.0" | ||
955 | } | ||
956 | }, | ||
957 | "ms": { | ||
958 | "version": "2.0.0", | ||
959 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
960 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
961 | "dev": true | ||
962 | }, | ||
963 | "p-limit": { | ||
964 | "version": "1.3.0", | ||
965 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||
966 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", | ||
967 | "dev": true, | ||
968 | "requires": { | ||
969 | "p-try": "^1.0.0" | ||
970 | } | ||
971 | }, | ||
972 | "p-locate": { | ||
973 | "version": "2.0.0", | ||
974 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", | ||
975 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | ||
976 | "dev": true, | ||
977 | "requires": { | ||
978 | "p-limit": "^1.1.0" | ||
979 | } | ||
980 | }, | ||
981 | "path-exists": { | ||
982 | "version": "3.0.0", | ||
983 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
984 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
985 | "dev": true | ||
986 | } | ||
987 | } | ||
988 | }, | ||
989 | "eslint-scope": { | ||
990 | "version": "5.1.1", | ||
991 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | ||
992 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | ||
993 | "dev": true, | ||
994 | "requires": { | ||
995 | "esrecurse": "^4.3.0", | ||
996 | "estraverse": "^4.1.1" | ||
997 | } | ||
998 | }, | ||
999 | "eslint-utils": { | ||
1000 | "version": "2.1.0", | ||
1001 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", | ||
1002 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", | ||
1003 | "dev": true, | ||
1004 | "requires": { | ||
1005 | "eslint-visitor-keys": "^1.1.0" | ||
1006 | }, | ||
1007 | "dependencies": { | ||
1008 | "eslint-visitor-keys": { | ||
1009 | "version": "1.3.0", | ||
1010 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", | ||
1011 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", | ||
1012 | "dev": true | ||
1013 | } | ||
1014 | } | ||
1015 | }, | ||
1016 | "eslint-visitor-keys": { | ||
1017 | "version": "2.1.0", | ||
1018 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", | ||
1019 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", | ||
1020 | "dev": true | ||
1021 | }, | ||
1022 | "espree": { | ||
1023 | "version": "7.3.1", | ||
1024 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", | ||
1025 | "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", | ||
1026 | "dev": true, | ||
1027 | "requires": { | ||
1028 | "acorn": "^7.4.0", | ||
1029 | "acorn-jsx": "^5.3.1", | ||
1030 | "eslint-visitor-keys": "^1.3.0" | ||
1031 | }, | ||
1032 | "dependencies": { | ||
1033 | "eslint-visitor-keys": { | ||
1034 | "version": "1.3.0", | ||
1035 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", | ||
1036 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", | ||
1037 | "dev": true | ||
1038 | } | ||
1039 | } | ||
1040 | }, | ||
1041 | "esprima": { | ||
1042 | "version": "4.0.1", | ||
1043 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||
1044 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||
1045 | "dev": true | ||
1046 | }, | ||
1047 | "esquery": { | ||
1048 | "version": "1.4.0", | ||
1049 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", | ||
1050 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", | ||
1051 | "dev": true, | ||
1052 | "requires": { | ||
1053 | "estraverse": "^5.1.0" | ||
1054 | }, | ||
1055 | "dependencies": { | ||
1056 | "estraverse": { | ||
1057 | "version": "5.2.0", | ||
1058 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", | ||
1059 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", | ||
1060 | "dev": true | ||
1061 | } | ||
1062 | } | ||
1063 | }, | ||
1064 | "esrecurse": { | ||
1065 | "version": "4.3.0", | ||
1066 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | ||
1067 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | ||
1068 | "dev": true, | ||
1069 | "requires": { | ||
1070 | "estraverse": "^5.2.0" | ||
1071 | }, | ||
1072 | "dependencies": { | ||
1073 | "estraverse": { | ||
1074 | "version": "5.2.0", | ||
1075 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", | ||
1076 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", | ||
1077 | "dev": true | ||
1078 | } | ||
1079 | } | ||
1080 | }, | ||
1081 | "estraverse": { | ||
1082 | "version": "4.3.0", | ||
1083 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | ||
1084 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | ||
1085 | "dev": true | ||
1086 | }, | ||
1087 | "esutils": { | ||
1088 | "version": "2.0.3", | ||
1089 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | ||
1090 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | ||
1091 | "dev": true | ||
1092 | }, | ||
1093 | "etag": { | ||
1094 | "version": "1.8.1", | ||
1095 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
1096 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" | ||
1097 | }, | ||
1098 | "express": { | ||
1099 | "version": "4.17.1", | ||
1100 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", | ||
1101 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", | ||
1102 | "requires": { | ||
1103 | "accepts": "~1.3.7", | ||
1104 | "array-flatten": "1.1.1", | ||
1105 | "body-parser": "1.19.0", | ||
1106 | "content-disposition": "0.5.3", | ||
1107 | "content-type": "~1.0.4", | ||
1108 | "cookie": "0.4.0", | ||
1109 | "cookie-signature": "1.0.6", | ||
1110 | "debug": "2.6.9", | ||
1111 | "depd": "~1.1.2", | ||
1112 | "encodeurl": "~1.0.2", | ||
1113 | "escape-html": "~1.0.3", | ||
1114 | "etag": "~1.8.1", | ||
1115 | "finalhandler": "~1.1.2", | ||
1116 | "fresh": "0.5.2", | ||
1117 | "merge-descriptors": "1.0.1", | ||
1118 | "methods": "~1.1.2", | ||
1119 | "on-finished": "~2.3.0", | ||
1120 | "parseurl": "~1.3.3", | ||
1121 | "path-to-regexp": "0.1.7", | ||
1122 | "proxy-addr": "~2.0.5", | ||
1123 | "qs": "6.7.0", | ||
1124 | "range-parser": "~1.2.1", | ||
1125 | "safe-buffer": "5.1.2", | ||
1126 | "send": "0.17.1", | ||
1127 | "serve-static": "1.14.1", | ||
1128 | "setprototypeof": "1.1.1", | ||
1129 | "statuses": "~1.5.0", | ||
1130 | "type-is": "~1.6.18", | ||
1131 | "utils-merge": "1.0.1", | ||
1132 | "vary": "~1.1.2" | ||
1133 | }, | ||
1134 | "dependencies": { | ||
1135 | "debug": { | ||
1136 | "version": "2.6.9", | ||
1137 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
1138 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
1139 | "requires": { | ||
1140 | "ms": "2.0.0" | ||
1141 | } | ||
1142 | }, | ||
1143 | "ms": { | ||
1144 | "version": "2.0.0", | ||
1145 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
1146 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
1147 | }, | ||
1148 | "safe-buffer": { | ||
1149 | "version": "5.1.2", | ||
1150 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
1151 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
1152 | } | ||
1153 | } | ||
1154 | }, | ||
1155 | "express-session": { | ||
1156 | "version": "1.17.2", | ||
1157 | "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", | ||
1158 | "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", | ||
1159 | "requires": { | ||
1160 | "cookie": "0.4.1", | ||
1161 | "cookie-signature": "1.0.6", | ||
1162 | "debug": "2.6.9", | ||
1163 | "depd": "~2.0.0", | ||
1164 | "on-headers": "~1.0.2", | ||
1165 | "parseurl": "~1.3.3", | ||
1166 | "safe-buffer": "5.2.1", | ||
1167 | "uid-safe": "~2.1.5" | ||
1168 | }, | ||
1169 | "dependencies": { | ||
1170 | "cookie": { | ||
1171 | "version": "0.4.1", | ||
1172 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", | ||
1173 | "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" | ||
1174 | }, | ||
1175 | "debug": { | ||
1176 | "version": "2.6.9", | ||
1177 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
1178 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
1179 | "requires": { | ||
1180 | "ms": "2.0.0" | ||
1181 | } | ||
1182 | }, | ||
1183 | "depd": { | ||
1184 | "version": "2.0.0", | ||
1185 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", | ||
1186 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" | ||
1187 | }, | ||
1188 | "ms": { | ||
1189 | "version": "2.0.0", | ||
1190 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
1191 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
1192 | } | ||
1193 | } | ||
1194 | }, | ||
1195 | "extend": { | ||
1196 | "version": "3.0.2", | ||
1197 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
1198 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
1199 | }, | ||
1200 | "extsprintf": { | ||
1201 | "version": "1.3.0", | ||
1202 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
1203 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" | ||
1204 | }, | ||
1205 | "fast-deep-equal": { | ||
1206 | "version": "3.1.3", | ||
1207 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | ||
1208 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" | ||
1209 | }, | ||
1210 | "fast-json-stable-stringify": { | ||
1211 | "version": "2.1.0", | ||
1212 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||
1213 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" | ||
1214 | }, | ||
1215 | "fast-levenshtein": { | ||
1216 | "version": "2.0.6", | ||
1217 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | ||
1218 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | ||
1219 | "dev": true | ||
1220 | }, | ||
1221 | "fast-safe-stringify": { | ||
1222 | "version": "2.0.7", | ||
1223 | "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", | ||
1224 | "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" | ||
1225 | }, | ||
1226 | "fast-xml-parser": { | ||
1227 | "version": "3.19.0", | ||
1228 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", | ||
1229 | "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" | ||
1230 | }, | ||
1231 | "fecha": { | ||
1232 | "version": "4.2.1", | ||
1233 | "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", | ||
1234 | "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" | ||
1235 | }, | ||
1236 | "file-entry-cache": { | ||
1237 | "version": "6.0.1", | ||
1238 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", | ||
1239 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", | ||
1240 | "dev": true, | ||
1241 | "requires": { | ||
1242 | "flat-cache": "^3.0.4" | ||
1243 | } | ||
1244 | }, | ||
1245 | "file-stream-rotator": { | ||
1246 | "version": "0.4.1", | ||
1247 | "resolved": "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.4.1.tgz", | ||
1248 | "integrity": "sha512-W3aa3QJEc8BS2MmdVpQiYLKHj3ijpto1gMDlsgCRSKfIUe6MwkcpODGPQ3vZfb0XvCeCqlu9CBQTN7oQri2TZQ==", | ||
1249 | "requires": { | ||
1250 | "moment": "^2.11.2" | ||
1251 | } | ||
1252 | }, | ||
1253 | "fill-range": { | ||
1254 | "version": "7.0.1", | ||
1255 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", | ||
1256 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", | ||
1257 | "dev": true, | ||
1258 | "requires": { | ||
1259 | "to-regex-range": "^5.0.1" | ||
1260 | } | ||
1261 | }, | ||
1262 | "finalhandler": { | ||
1263 | "version": "1.1.2", | ||
1264 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", | ||
1265 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", | ||
1266 | "requires": { | ||
1267 | "debug": "2.6.9", | ||
1268 | "encodeurl": "~1.0.2", | ||
1269 | "escape-html": "~1.0.3", | ||
1270 | "on-finished": "~2.3.0", | ||
1271 | "parseurl": "~1.3.3", | ||
1272 | "statuses": "~1.5.0", | ||
1273 | "unpipe": "~1.0.0" | ||
1274 | }, | ||
1275 | "dependencies": { | ||
1276 | "debug": { | ||
1277 | "version": "2.6.9", | ||
1278 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
1279 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
1280 | "requires": { | ||
1281 | "ms": "2.0.0" | ||
1282 | } | ||
1283 | }, | ||
1284 | "ms": { | ||
1285 | "version": "2.0.0", | ||
1286 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
1287 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
1288 | } | ||
1289 | } | ||
1290 | }, | ||
1291 | "find-up": { | ||
1292 | "version": "5.0.0", | ||
1293 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", | ||
1294 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", | ||
1295 | "dev": true, | ||
1296 | "requires": { | ||
1297 | "locate-path": "^6.0.0", | ||
1298 | "path-exists": "^4.0.0" | ||
1299 | } | ||
1300 | }, | ||
1301 | "flat": { | ||
1302 | "version": "5.0.2", | ||
1303 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", | ||
1304 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", | ||
1305 | "dev": true | ||
1306 | }, | ||
1307 | "flat-cache": { | ||
1308 | "version": "3.0.4", | ||
1309 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", | ||
1310 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", | ||
1311 | "dev": true, | ||
1312 | "requires": { | ||
1313 | "flatted": "^3.1.0", | ||
1314 | "rimraf": "^3.0.2" | ||
1315 | } | ||
1316 | }, | ||
1317 | "flatted": { | ||
1318 | "version": "3.1.1", | ||
1319 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", | ||
1320 | "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", | ||
1321 | "dev": true | ||
1322 | }, | ||
1323 | "fn.name": { | ||
1324 | "version": "1.1.0", | ||
1325 | "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", | ||
1326 | "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" | ||
1327 | }, | ||
1328 | "follow-redirects": { | ||
1329 | "version": "1.14.1", | ||
1330 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", | ||
1331 | "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" | ||
1332 | }, | ||
1333 | "forever-agent": { | ||
1334 | "version": "0.6.1", | ||
1335 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
1336 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" | ||
1337 | }, | ||
1338 | "form-data": { | ||
1339 | "version": "2.3.3", | ||
1340 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
1341 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
1342 | "requires": { | ||
1343 | "asynckit": "^0.4.0", | ||
1344 | "combined-stream": "^1.0.6", | ||
1345 | "mime-types": "^2.1.12" | ||
1346 | } | ||
1347 | }, | ||
1348 | "forwarded": { | ||
1349 | "version": "0.2.0", | ||
1350 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | ||
1351 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" | ||
1352 | }, | ||
1353 | "fresh": { | ||
1354 | "version": "0.5.2", | ||
1355 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
1356 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | ||
1357 | }, | ||
1358 | "fs-copy-file": { | ||
1359 | "version": "2.1.2", | ||
1360 | "resolved": "https://registry.npmjs.org/fs-copy-file/-/fs-copy-file-2.1.2.tgz", | ||
1361 | "integrity": "sha512-h5h3i58/mr86CSJvDLGV0ZEIUj4QfdfKt0NFX6AH4sRTRjs2/d5U1EQt5C9fUV6ZSi7MeSfZRW3LX9HttLXHeg==", | ||
1362 | "requires": { | ||
1363 | "@cloudcmd/copy-file": "^1.1.0" | ||
1364 | } | ||
1365 | }, | ||
1366 | "fs.realpath": { | ||
1367 | "version": "1.0.0", | ||
1368 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||
1369 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" | ||
1370 | }, | ||
1371 | "fsevents": { | ||
1372 | "version": "2.3.2", | ||
1373 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | ||
1374 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | ||
1375 | "dev": true, | ||
1376 | "optional": true | ||
1377 | }, | ||
1378 | "function-bind": { | ||
1379 | "version": "1.1.1", | ||
1380 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
1381 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", | ||
1382 | "dev": true | ||
1383 | }, | ||
1384 | "functional-red-black-tree": { | ||
1385 | "version": "1.0.1", | ||
1386 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", | ||
1387 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", | ||
1388 | "dev": true | ||
1389 | }, | ||
1390 | "get-caller-file": { | ||
1391 | "version": "2.0.5", | ||
1392 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||
1393 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||
1394 | "dev": true | ||
1395 | }, | ||
1396 | "get-intrinsic": { | ||
1397 | "version": "1.1.1", | ||
1398 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", | ||
1399 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", | ||
1400 | "dev": true, | ||
1401 | "requires": { | ||
1402 | "function-bind": "^1.1.1", | ||
1403 | "has": "^1.0.3", | ||
1404 | "has-symbols": "^1.0.1" | ||
1405 | } | ||
1406 | }, | ||
1407 | "getpass": { | ||
1408 | "version": "0.1.7", | ||
1409 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
1410 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||
1411 | "requires": { | ||
1412 | "assert-plus": "^1.0.0" | ||
1413 | } | ||
1414 | }, | ||
1415 | "glob": { | ||
1416 | "version": "7.1.7", | ||
1417 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", | ||
1418 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", | ||
1419 | "requires": { | ||
1420 | "fs.realpath": "^1.0.0", | ||
1421 | "inflight": "^1.0.4", | ||
1422 | "inherits": "2", | ||
1423 | "minimatch": "^3.0.4", | ||
1424 | "once": "^1.3.0", | ||
1425 | "path-is-absolute": "^1.0.0" | ||
1426 | } | ||
1427 | }, | ||
1428 | "glob-parent": { | ||
1429 | "version": "5.1.2", | ||
1430 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||
1431 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||
1432 | "dev": true, | ||
1433 | "requires": { | ||
1434 | "is-glob": "^4.0.1" | ||
1435 | } | ||
1436 | }, | ||
1437 | "globals": { | ||
1438 | "version": "13.9.0", | ||
1439 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", | ||
1440 | "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", | ||
1441 | "dev": true, | ||
1442 | "requires": { | ||
1443 | "type-fest": "^0.20.2" | ||
1444 | } | ||
1445 | }, | ||
1446 | "graceful-fs": { | ||
1447 | "version": "4.2.6", | ||
1448 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", | ||
1449 | "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", | ||
1450 | "dev": true | ||
1451 | }, | ||
1452 | "growl": { | ||
1453 | "version": "1.10.5", | ||
1454 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", | ||
1455 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", | ||
1456 | "dev": true | ||
1457 | }, | ||
1458 | "har-schema": { | ||
1459 | "version": "2.0.0", | ||
1460 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
1461 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" | ||
1462 | }, | ||
1463 | "har-validator": { | ||
1464 | "version": "5.1.5", | ||
1465 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", | ||
1466 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", | ||
1467 | "requires": { | ||
1468 | "ajv": "^6.12.3", | ||
1469 | "har-schema": "^2.0.0" | ||
1470 | } | ||
1471 | }, | ||
1472 | "has": { | ||
1473 | "version": "1.0.3", | ||
1474 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
1475 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
1476 | "dev": true, | ||
1477 | "requires": { | ||
1478 | "function-bind": "^1.1.1" | ||
1479 | } | ||
1480 | }, | ||
1481 | "has-bigints": { | ||
1482 | "version": "1.0.1", | ||
1483 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", | ||
1484 | "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", | ||
1485 | "dev": true | ||
1486 | }, | ||
1487 | "has-flag": { | ||
1488 | "version": "3.0.0", | ||
1489 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||
1490 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||
1491 | "dev": true | ||
1492 | }, | ||
1493 | "has-symbols": { | ||
1494 | "version": "1.0.2", | ||
1495 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", | ||
1496 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", | ||
1497 | "dev": true | ||
1498 | }, | ||
1499 | "he": { | ||
1500 | "version": "1.2.0", | ||
1501 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | ||
1502 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||
1503 | "dev": true | ||
1504 | }, | ||
1505 | "hosted-git-info": { | ||
1506 | "version": "2.8.9", | ||
1507 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", | ||
1508 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", | ||
1509 | "dev": true | ||
1510 | }, | ||
1511 | "http-errors": { | ||
1512 | "version": "1.7.2", | ||
1513 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", | ||
1514 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", | ||
1515 | "requires": { | ||
1516 | "depd": "~1.1.2", | ||
1517 | "inherits": "2.0.3", | ||
1518 | "setprototypeof": "1.1.1", | ||
1519 | "statuses": ">= 1.5.0 < 2", | ||
1520 | "toidentifier": "1.0.0" | ||
1521 | }, | ||
1522 | "dependencies": { | ||
1523 | "inherits": { | ||
1524 | "version": "2.0.3", | ||
1525 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||
1526 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" | ||
1527 | } | ||
1528 | } | ||
1529 | }, | ||
1530 | "http-signature": { | ||
1531 | "version": "1.2.0", | ||
1532 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
1533 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||
1534 | "requires": { | ||
1535 | "assert-plus": "^1.0.0", | ||
1536 | "jsprim": "^1.2.2", | ||
1537 | "sshpk": "^1.7.0" | ||
1538 | } | ||
1539 | }, | ||
1540 | "iconv-lite": { | ||
1541 | "version": "0.4.24", | ||
1542 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
1543 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
1544 | "requires": { | ||
1545 | "safer-buffer": ">= 2.1.2 < 3" | ||
1546 | } | ||
1547 | }, | ||
1548 | "ignore": { | ||
1549 | "version": "4.0.6", | ||
1550 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", | ||
1551 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", | ||
1552 | "dev": true | ||
1553 | }, | ||
1554 | "import-fresh": { | ||
1555 | "version": "3.3.0", | ||
1556 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", | ||
1557 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", | ||
1558 | "dev": true, | ||
1559 | "requires": { | ||
1560 | "parent-module": "^1.0.0", | ||
1561 | "resolve-from": "^4.0.0" | ||
1562 | } | ||
1563 | }, | ||
1564 | "imurmurhash": { | ||
1565 | "version": "0.1.4", | ||
1566 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", | ||
1567 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", | ||
1568 | "dev": true | ||
1569 | }, | ||
1570 | "inflight": { | ||
1571 | "version": "1.0.6", | ||
1572 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||
1573 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", | ||
1574 | "requires": { | ||
1575 | "once": "^1.3.0", | ||
1576 | "wrappy": "1" | ||
1577 | } | ||
1578 | }, | ||
1579 | "inherits": { | ||
1580 | "version": "2.0.4", | ||
1581 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
1582 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||
1583 | }, | ||
1584 | "ipaddr.js": { | ||
1585 | "version": "1.9.1", | ||
1586 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||
1587 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | ||
1588 | }, | ||
1589 | "is-arrayish": { | ||
1590 | "version": "0.2.1", | ||
1591 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", | ||
1592 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", | ||
1593 | "dev": true | ||
1594 | }, | ||
1595 | "is-bigint": { | ||
1596 | "version": "1.0.2", | ||
1597 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", | ||
1598 | "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", | ||
1599 | "dev": true | ||
1600 | }, | ||
1601 | "is-binary-path": { | ||
1602 | "version": "2.1.0", | ||
1603 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", | ||
1604 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", | ||
1605 | "dev": true, | ||
1606 | "requires": { | ||
1607 | "binary-extensions": "^2.0.0" | ||
1608 | } | ||
1609 | }, | ||
1610 | "is-boolean-object": { | ||
1611 | "version": "1.1.1", | ||
1612 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", | ||
1613 | "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", | ||
1614 | "dev": true, | ||
1615 | "requires": { | ||
1616 | "call-bind": "^1.0.2" | ||
1617 | } | ||
1618 | }, | ||
1619 | "is-callable": { | ||
1620 | "version": "1.2.3", | ||
1621 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", | ||
1622 | "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", | ||
1623 | "dev": true | ||
1624 | }, | ||
1625 | "is-core-module": { | ||
1626 | "version": "2.4.0", | ||
1627 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", | ||
1628 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", | ||
1629 | "dev": true, | ||
1630 | "requires": { | ||
1631 | "has": "^1.0.3" | ||
1632 | } | ||
1633 | }, | ||
1634 | "is-date-object": { | ||
1635 | "version": "1.0.4", | ||
1636 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", | ||
1637 | "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", | ||
1638 | "dev": true | ||
1639 | }, | ||
1640 | "is-extglob": { | ||
1641 | "version": "2.1.1", | ||
1642 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | ||
1643 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", | ||
1644 | "dev": true | ||
1645 | }, | ||
1646 | "is-fullwidth-code-point": { | ||
1647 | "version": "3.0.0", | ||
1648 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||
1649 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||
1650 | "dev": true | ||
1651 | }, | ||
1652 | "is-glob": { | ||
1653 | "version": "4.0.1", | ||
1654 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", | ||
1655 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", | ||
1656 | "dev": true, | ||
1657 | "requires": { | ||
1658 | "is-extglob": "^2.1.1" | ||
1659 | } | ||
1660 | }, | ||
1661 | "is-negative-zero": { | ||
1662 | "version": "2.0.1", | ||
1663 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", | ||
1664 | "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", | ||
1665 | "dev": true | ||
1666 | }, | ||
1667 | "is-number": { | ||
1668 | "version": "7.0.0", | ||
1669 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | ||
1670 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", | ||
1671 | "dev": true | ||
1672 | }, | ||
1673 | "is-number-object": { | ||
1674 | "version": "1.0.5", | ||
1675 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", | ||
1676 | "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", | ||
1677 | "dev": true | ||
1678 | }, | ||
1679 | "is-plain-obj": { | ||
1680 | "version": "2.1.0", | ||
1681 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", | ||
1682 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", | ||
1683 | "dev": true | ||
1684 | }, | ||
1685 | "is-regex": { | ||
1686 | "version": "1.1.3", | ||
1687 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", | ||
1688 | "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", | ||
1689 | "dev": true, | ||
1690 | "requires": { | ||
1691 | "call-bind": "^1.0.2", | ||
1692 | "has-symbols": "^1.0.2" | ||
1693 | } | ||
1694 | }, | ||
1695 | "is-stream": { | ||
1696 | "version": "2.0.0", | ||
1697 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", | ||
1698 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" | ||
1699 | }, | ||
1700 | "is-string": { | ||
1701 | "version": "1.0.6", | ||
1702 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", | ||
1703 | "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", | ||
1704 | "dev": true | ||
1705 | }, | ||
1706 | "is-symbol": { | ||
1707 | "version": "1.0.4", | ||
1708 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", | ||
1709 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", | ||
1710 | "dev": true, | ||
1711 | "requires": { | ||
1712 | "has-symbols": "^1.0.2" | ||
1713 | } | ||
1714 | }, | ||
1715 | "is-typedarray": { | ||
1716 | "version": "1.0.0", | ||
1717 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
1718 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | ||
1719 | }, | ||
1720 | "is-unicode-supported": { | ||
1721 | "version": "0.1.0", | ||
1722 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", | ||
1723 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", | ||
1724 | "dev": true | ||
1725 | }, | ||
1726 | "isarray": { | ||
1727 | "version": "1.0.0", | ||
1728 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
1729 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||
1730 | }, | ||
1731 | "isexe": { | ||
1732 | "version": "2.0.0", | ||
1733 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | ||
1734 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | ||
1735 | "dev": true | ||
1736 | }, | ||
1737 | "isstream": { | ||
1738 | "version": "0.1.2", | ||
1739 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
1740 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
1741 | }, | ||
1742 | "js-tokens": { | ||
1743 | "version": "4.0.0", | ||
1744 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||
1745 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | ||
1746 | "dev": true | ||
1747 | }, | ||
1748 | "js-yaml": { | ||
1749 | "version": "3.14.1", | ||
1750 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", | ||
1751 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", | ||
1752 | "dev": true, | ||
1753 | "requires": { | ||
1754 | "argparse": "^1.0.7", | ||
1755 | "esprima": "^4.0.0" | ||
1756 | } | ||
1757 | }, | ||
1758 | "jsbn": { | ||
1759 | "version": "0.1.1", | ||
1760 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
1761 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" | ||
1762 | }, | ||
1763 | "json-parse-better-errors": { | ||
1764 | "version": "1.0.2", | ||
1765 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", | ||
1766 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", | ||
1767 | "dev": true | ||
1768 | }, | ||
1769 | "json-query": { | ||
1770 | "version": "2.2.2", | ||
1771 | "resolved": "https://registry.npmjs.org/json-query/-/json-query-2.2.2.tgz", | ||
1772 | "integrity": "sha1-tlWLijeUzNIXkmqjgCQyS3e0irE=" | ||
1773 | }, | ||
1774 | "json-schema": { | ||
1775 | "version": "0.2.3", | ||
1776 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||
1777 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" | ||
1778 | }, | ||
1779 | "json-schema-traverse": { | ||
1780 | "version": "0.4.1", | ||
1781 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
1782 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
1783 | }, | ||
1784 | "json-stable-stringify-without-jsonify": { | ||
1785 | "version": "1.0.1", | ||
1786 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | ||
1787 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", | ||
1788 | "dev": true | ||
1789 | }, | ||
1790 | "json-stringify-pretty-compact": { | ||
1791 | "version": "3.0.0", | ||
1792 | "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", | ||
1793 | "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==" | ||
1794 | }, | ||
1795 | "json-stringify-safe": { | ||
1796 | "version": "5.0.1", | ||
1797 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
1798 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||
1799 | }, | ||
1800 | "json5": { | ||
1801 | "version": "1.0.1", | ||
1802 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", | ||
1803 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", | ||
1804 | "dev": true, | ||
1805 | "requires": { | ||
1806 | "minimist": "^1.2.0" | ||
1807 | } | ||
1808 | }, | ||
1809 | "jsprim": { | ||
1810 | "version": "1.4.1", | ||
1811 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||
1812 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||
1813 | "requires": { | ||
1814 | "assert-plus": "1.0.0", | ||
1815 | "extsprintf": "1.3.0", | ||
1816 | "json-schema": "0.2.3", | ||
1817 | "verror": "1.10.0" | ||
1818 | } | ||
1819 | }, | ||
1820 | "komodo-sdk": { | ||
1821 | "version": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git#9e598d4f323f0d8dc5e60294c5257dc674cf0ad4", | ||
1822 | "from": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git", | ||
1823 | "requires": { | ||
1824 | "array-unique": "^0.3.2", | ||
1825 | "basic-auth": "^2.0.0", | ||
1826 | "body-parser": "^1.18.2", | ||
1827 | "dot-object": "^1.7.0", | ||
1828 | "express": "^4.17.1", | ||
1829 | "express-session": "^1.15.6", | ||
1830 | "fs-copy-file": "^2.1.2", | ||
1831 | "json-query": "^2.2.2", | ||
1832 | "lru-cache": "^4.1.1", | ||
1833 | "macaddress": "^0.2.9", | ||
1834 | "moment": "^2.24.0", | ||
1835 | "node-machine-id": "^1.1.10", | ||
1836 | "node-natural-sort": "^0.8.6", | ||
1837 | "numeral": "^2.0.6", | ||
1838 | "nunjucks": "^3.2.1", | ||
1839 | "pkginfo": "^0.4.1", | ||
1840 | "redis": "^2.8.0", | ||
1841 | "request": "^2.88.0", | ||
1842 | "sha1": "^1.1.1", | ||
1843 | "simple-git": "^1.80.1", | ||
1844 | "strftime": "^0.10.0", | ||
1845 | "string-natural-compare": "^2.0.2", | ||
1846 | "uniqid": "^4.1.1", | ||
1847 | "uuid": "^3.1.0", | ||
1848 | "winston": "^3.3.3", | ||
1849 | "winston-circular-buffer": "^1.0.0", | ||
1850 | "winston-daily-rotate-file": "^3.10.0" | ||
1851 | }, | ||
1852 | "dependencies": { | ||
1853 | "lru-cache": { | ||
1854 | "version": "4.1.5", | ||
1855 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||
1856 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||
1857 | "requires": { | ||
1858 | "pseudomap": "^1.0.2", | ||
1859 | "yallist": "^2.1.2" | ||
1860 | } | ||
1861 | }, | ||
1862 | "uniqid": { | ||
1863 | "version": "4.1.1", | ||
1864 | "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", | ||
1865 | "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", | ||
1866 | "requires": { | ||
1867 | "macaddress": "^0.2.8" | ||
1868 | } | ||
1869 | }, | ||
1870 | "yallist": { | ||
1871 | "version": "2.1.2", | ||
1872 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
1873 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" | ||
1874 | } | ||
1875 | } | ||
1876 | }, | ||
1877 | "kuler": { | ||
1878 | "version": "2.0.0", | ||
1879 | "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", | ||
1880 | "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" | ||
1881 | }, | ||
1882 | "levn": { | ||
1883 | "version": "0.4.1", | ||
1884 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", | ||
1885 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", | ||
1886 | "dev": true, | ||
1887 | "requires": { | ||
1888 | "prelude-ls": "^1.2.1", | ||
1889 | "type-check": "~0.4.0" | ||
1890 | } | ||
1891 | }, | ||
1892 | "load-json-file": { | ||
1893 | "version": "4.0.0", | ||
1894 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", | ||
1895 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", | ||
1896 | "dev": true, | ||
1897 | "requires": { | ||
1898 | "graceful-fs": "^4.1.2", | ||
1899 | "parse-json": "^4.0.0", | ||
1900 | "pify": "^3.0.0", | ||
1901 | "strip-bom": "^3.0.0" | ||
1902 | } | ||
1903 | }, | ||
1904 | "locate-path": { | ||
1905 | "version": "6.0.0", | ||
1906 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", | ||
1907 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", | ||
1908 | "dev": true, | ||
1909 | "requires": { | ||
1910 | "p-locate": "^5.0.0" | ||
1911 | } | ||
1912 | }, | ||
1913 | "lodash.clonedeep": { | ||
1914 | "version": "4.5.0", | ||
1915 | "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", | ||
1916 | "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", | ||
1917 | "dev": true | ||
1918 | }, | ||
1919 | "lodash.merge": { | ||
1920 | "version": "4.6.2", | ||
1921 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", | ||
1922 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", | ||
1923 | "dev": true | ||
1924 | }, | ||
1925 | "lodash.truncate": { | ||
1926 | "version": "4.4.2", | ||
1927 | "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", | ||
1928 | "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", | ||
1929 | "dev": true | ||
1930 | }, | ||
1931 | "log-symbols": { | ||
1932 | "version": "4.1.0", | ||
1933 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", | ||
1934 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", | ||
1935 | "dev": true, | ||
1936 | "requires": { | ||
1937 | "chalk": "^4.1.0", | ||
1938 | "is-unicode-supported": "^0.1.0" | ||
1939 | } | ||
1940 | }, | ||
1941 | "logform": { | ||
1942 | "version": "2.2.0", | ||
1943 | "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", | ||
1944 | "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", | ||
1945 | "requires": { | ||
1946 | "colors": "^1.2.1", | ||
1947 | "fast-safe-stringify": "^2.0.4", | ||
1948 | "fecha": "^4.2.0", | ||
1949 | "ms": "^2.1.1", | ||
1950 | "triple-beam": "^1.3.0" | ||
1951 | } | ||
1952 | }, | ||
1953 | "lru-cache": { | ||
1954 | "version": "6.0.0", | ||
1955 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||
1956 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||
1957 | "dev": true, | ||
1958 | "requires": { | ||
1959 | "yallist": "^4.0.0" | ||
1960 | } | ||
1961 | }, | ||
1962 | "macaddress": { | ||
1963 | "version": "0.2.9", | ||
1964 | "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.9.tgz", | ||
1965 | "integrity": "sha512-k4F1JUof6cQXxNFzx3thLby4oJzXTXQueAOOts944Vqizn+Rjc2QNFenT9FJSLU1CH3PmrHRSyZs2E+Cqw+P2w==" | ||
1966 | }, | ||
1967 | "media-typer": { | ||
1968 | "version": "0.3.0", | ||
1969 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||
1970 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" | ||
1971 | }, | ||
1972 | "merge-descriptors": { | ||
1973 | "version": "1.0.1", | ||
1974 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||
1975 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" | ||
1976 | }, | ||
1977 | "methods": { | ||
1978 | "version": "1.1.2", | ||
1979 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||
1980 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" | ||
1981 | }, | ||
1982 | "mime": { | ||
1983 | "version": "1.6.0", | ||
1984 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
1985 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" | ||
1986 | }, | ||
1987 | "mime-db": { | ||
1988 | "version": "1.48.0", | ||
1989 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", | ||
1990 | "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" | ||
1991 | }, | ||
1992 | "mime-types": { | ||
1993 | "version": "2.1.31", | ||
1994 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", | ||
1995 | "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", | ||
1996 | "requires": { | ||
1997 | "mime-db": "1.48.0" | ||
1998 | } | ||
1999 | }, | ||
2000 | "minimatch": { | ||
2001 | "version": "3.0.4", | ||
2002 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||
2003 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||
2004 | "requires": { | ||
2005 | "brace-expansion": "^1.1.7" | ||
2006 | } | ||
2007 | }, | ||
2008 | "minimist": { | ||
2009 | "version": "1.2.5", | ||
2010 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||
2011 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||
2012 | "dev": true | ||
2013 | }, | ||
2014 | "mocha": { | ||
2015 | "version": "9.0.1", | ||
2016 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.1.tgz", | ||
2017 | "integrity": "sha512-9zwsavlRO+5csZu6iRtl3GHImAbhERoDsZwdRkdJ/bE+eVplmoxNKE901ZJ9LdSchYBjSCPbjKc5XvcAri2ylw==", | ||
2018 | "dev": true, | ||
2019 | "requires": { | ||
2020 | "@ungap/promise-all-settled": "1.1.2", | ||
2021 | "ansi-colors": "4.1.1", | ||
2022 | "browser-stdout": "1.3.1", | ||
2023 | "chokidar": "3.5.1", | ||
2024 | "debug": "4.3.1", | ||
2025 | "diff": "5.0.0", | ||
2026 | "escape-string-regexp": "4.0.0", | ||
2027 | "find-up": "5.0.0", | ||
2028 | "glob": "7.1.7", | ||
2029 | "growl": "1.10.5", | ||
2030 | "he": "1.2.0", | ||
2031 | "js-yaml": "4.1.0", | ||
2032 | "log-symbols": "4.1.0", | ||
2033 | "minimatch": "3.0.4", | ||
2034 | "ms": "2.1.3", | ||
2035 | "nanoid": "3.1.23", | ||
2036 | "serialize-javascript": "5.0.1", | ||
2037 | "strip-json-comments": "3.1.1", | ||
2038 | "supports-color": "8.1.1", | ||
2039 | "which": "2.0.2", | ||
2040 | "wide-align": "1.1.3", | ||
2041 | "workerpool": "6.1.4", | ||
2042 | "yargs": "16.2.0", | ||
2043 | "yargs-parser": "20.2.4", | ||
2044 | "yargs-unparser": "2.0.0" | ||
2045 | }, | ||
2046 | "dependencies": { | ||
2047 | "argparse": { | ||
2048 | "version": "2.0.1", | ||
2049 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||
2050 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", | ||
2051 | "dev": true | ||
2052 | }, | ||
2053 | "has-flag": { | ||
2054 | "version": "4.0.0", | ||
2055 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
2056 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||
2057 | "dev": true | ||
2058 | }, | ||
2059 | "js-yaml": { | ||
2060 | "version": "4.1.0", | ||
2061 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | ||
2062 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | ||
2063 | "dev": true, | ||
2064 | "requires": { | ||
2065 | "argparse": "^2.0.1" | ||
2066 | } | ||
2067 | }, | ||
2068 | "ms": { | ||
2069 | "version": "2.1.3", | ||
2070 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
2071 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
2072 | "dev": true | ||
2073 | }, | ||
2074 | "supports-color": { | ||
2075 | "version": "8.1.1", | ||
2076 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", | ||
2077 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", | ||
2078 | "dev": true, | ||
2079 | "requires": { | ||
2080 | "has-flag": "^4.0.0" | ||
2081 | } | ||
2082 | } | ||
2083 | } | ||
2084 | }, | ||
2085 | "moment": { | ||
2086 | "version": "2.29.1", | ||
2087 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", | ||
2088 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" | ||
2089 | }, | ||
2090 | "ms": { | ||
2091 | "version": "2.1.2", | ||
2092 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
2093 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
2094 | }, | ||
2095 | "nanoid": { | ||
2096 | "version": "3.1.23", | ||
2097 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", | ||
2098 | "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", | ||
2099 | "dev": true | ||
2100 | }, | ||
2101 | "natural-compare": { | ||
2102 | "version": "1.4.0", | ||
2103 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", | ||
2104 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | ||
2105 | "dev": true | ||
2106 | }, | ||
2107 | "negotiator": { | ||
2108 | "version": "0.6.2", | ||
2109 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", | ||
2110 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" | ||
2111 | }, | ||
2112 | "node-machine-id": { | ||
2113 | "version": "1.1.12", | ||
2114 | "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", | ||
2115 | "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" | ||
2116 | }, | ||
2117 | "node-natural-sort": { | ||
2118 | "version": "0.8.7", | ||
2119 | "resolved": "https://registry.npmjs.org/node-natural-sort/-/node-natural-sort-0.8.7.tgz", | ||
2120 | "integrity": "sha512-rMaLlHV5BlnRhIl6jUfgqdLY5U0NJkIxUdOsmpz3Txwh7js4+GwTiomhO8W4rp3SvX1zZ56mx13zfEWESr+qqA==" | ||
2121 | }, | ||
2122 | "normalize-package-data": { | ||
2123 | "version": "2.5.0", | ||
2124 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", | ||
2125 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", | ||
2126 | "dev": true, | ||
2127 | "requires": { | ||
2128 | "hosted-git-info": "^2.1.4", | ||
2129 | "resolve": "^1.10.0", | ||
2130 | "semver": "2 || 3 || 4 || 5", | ||
2131 | "validate-npm-package-license": "^3.0.1" | ||
2132 | }, | ||
2133 | "dependencies": { | ||
2134 | "semver": { | ||
2135 | "version": "5.7.1", | ||
2136 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
2137 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||
2138 | "dev": true | ||
2139 | } | ||
2140 | } | ||
2141 | }, | ||
2142 | "normalize-path": { | ||
2143 | "version": "3.0.0", | ||
2144 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||
2145 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", | ||
2146 | "dev": true | ||
2147 | }, | ||
2148 | "numeral": { | ||
2149 | "version": "2.0.6", | ||
2150 | "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", | ||
2151 | "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" | ||
2152 | }, | ||
2153 | "nunjucks": { | ||
2154 | "version": "3.2.3", | ||
2155 | "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.3.tgz", | ||
2156 | "integrity": "sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ==", | ||
2157 | "requires": { | ||
2158 | "a-sync-waterfall": "^1.0.0", | ||
2159 | "asap": "^2.0.3", | ||
2160 | "commander": "^5.1.0" | ||
2161 | }, | ||
2162 | "dependencies": { | ||
2163 | "commander": { | ||
2164 | "version": "5.1.0", | ||
2165 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", | ||
2166 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" | ||
2167 | } | ||
2168 | } | ||
2169 | }, | ||
2170 | "oauth-sign": { | ||
2171 | "version": "0.9.0", | ||
2172 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
2173 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
2174 | }, | ||
2175 | "object-hash": { | ||
2176 | "version": "1.3.1", | ||
2177 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", | ||
2178 | "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" | ||
2179 | }, | ||
2180 | "object-inspect": { | ||
2181 | "version": "1.10.3", | ||
2182 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", | ||
2183 | "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", | ||
2184 | "dev": true | ||
2185 | }, | ||
2186 | "object-keys": { | ||
2187 | "version": "1.1.1", | ||
2188 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | ||
2189 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | ||
2190 | "dev": true | ||
2191 | }, | ||
2192 | "object.assign": { | ||
2193 | "version": "4.1.2", | ||
2194 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", | ||
2195 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", | ||
2196 | "dev": true, | ||
2197 | "requires": { | ||
2198 | "call-bind": "^1.0.0", | ||
2199 | "define-properties": "^1.1.3", | ||
2200 | "has-symbols": "^1.0.1", | ||
2201 | "object-keys": "^1.1.1" | ||
2202 | } | ||
2203 | }, | ||
2204 | "object.entries": { | ||
2205 | "version": "1.1.4", | ||
2206 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", | ||
2207 | "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", | ||
2208 | "dev": true, | ||
2209 | "requires": { | ||
2210 | "call-bind": "^1.0.2", | ||
2211 | "define-properties": "^1.1.3", | ||
2212 | "es-abstract": "^1.18.2" | ||
2213 | } | ||
2214 | }, | ||
2215 | "object.values": { | ||
2216 | "version": "1.1.4", | ||
2217 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", | ||
2218 | "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", | ||
2219 | "dev": true, | ||
2220 | "requires": { | ||
2221 | "call-bind": "^1.0.2", | ||
2222 | "define-properties": "^1.1.3", | ||
2223 | "es-abstract": "^1.18.2" | ||
2224 | } | ||
2225 | }, | ||
2226 | "on-finished": { | ||
2227 | "version": "2.3.0", | ||
2228 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | ||
2229 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", | ||
2230 | "requires": { | ||
2231 | "ee-first": "1.1.1" | ||
2232 | } | ||
2233 | }, | ||
2234 | "on-headers": { | ||
2235 | "version": "1.0.2", | ||
2236 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", | ||
2237 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" | ||
2238 | }, | ||
2239 | "once": { | ||
2240 | "version": "1.4.0", | ||
2241 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | ||
2242 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", | ||
2243 | "requires": { | ||
2244 | "wrappy": "1" | ||
2245 | } | ||
2246 | }, | ||
2247 | "one-time": { | ||
2248 | "version": "1.0.0", | ||
2249 | "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", | ||
2250 | "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", | ||
2251 | "requires": { | ||
2252 | "fn.name": "1.x.x" | ||
2253 | } | ||
2254 | }, | ||
2255 | "optionator": { | ||
2256 | "version": "0.9.1", | ||
2257 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", | ||
2258 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", | ||
2259 | "dev": true, | ||
2260 | "requires": { | ||
2261 | "deep-is": "^0.1.3", | ||
2262 | "fast-levenshtein": "^2.0.6", | ||
2263 | "levn": "^0.4.1", | ||
2264 | "prelude-ls": "^1.2.1", | ||
2265 | "type-check": "^0.4.0", | ||
2266 | "word-wrap": "^1.2.3" | ||
2267 | } | ||
2268 | }, | ||
2269 | "p-limit": { | ||
2270 | "version": "3.1.0", | ||
2271 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", | ||
2272 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", | ||
2273 | "dev": true, | ||
2274 | "requires": { | ||
2275 | "yocto-queue": "^0.1.0" | ||
2276 | } | ||
2277 | }, | ||
2278 | "p-locate": { | ||
2279 | "version": "5.0.0", | ||
2280 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", | ||
2281 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", | ||
2282 | "dev": true, | ||
2283 | "requires": { | ||
2284 | "p-limit": "^3.0.2" | ||
2285 | } | ||
2286 | }, | ||
2287 | "p-try": { | ||
2288 | "version": "1.0.0", | ||
2289 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", | ||
2290 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", | ||
2291 | "dev": true | ||
2292 | }, | ||
2293 | "parent-module": { | ||
2294 | "version": "1.0.1", | ||
2295 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | ||
2296 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", | ||
2297 | "dev": true, | ||
2298 | "requires": { | ||
2299 | "callsites": "^3.0.0" | ||
2300 | } | ||
2301 | }, | ||
2302 | "parse-json": { | ||
2303 | "version": "4.0.0", | ||
2304 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", | ||
2305 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", | ||
2306 | "dev": true, | ||
2307 | "requires": { | ||
2308 | "error-ex": "^1.3.1", | ||
2309 | "json-parse-better-errors": "^1.0.1" | ||
2310 | } | ||
2311 | }, | ||
2312 | "parseurl": { | ||
2313 | "version": "1.3.3", | ||
2314 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
2315 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" | ||
2316 | }, | ||
2317 | "path-exists": { | ||
2318 | "version": "4.0.0", | ||
2319 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", | ||
2320 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", | ||
2321 | "dev": true | ||
2322 | }, | ||
2323 | "path-is-absolute": { | ||
2324 | "version": "1.0.1", | ||
2325 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||
2326 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" | ||
2327 | }, | ||
2328 | "path-key": { | ||
2329 | "version": "3.1.1", | ||
2330 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", | ||
2331 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", | ||
2332 | "dev": true | ||
2333 | }, | ||
2334 | "path-parse": { | ||
2335 | "version": "1.0.7", | ||
2336 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", | ||
2337 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", | ||
2338 | "dev": true | ||
2339 | }, | ||
2340 | "path-to-regexp": { | ||
2341 | "version": "0.1.7", | ||
2342 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||
2343 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" | ||
2344 | }, | ||
2345 | "path-type": { | ||
2346 | "version": "3.0.0", | ||
2347 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", | ||
2348 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", | ||
2349 | "dev": true, | ||
2350 | "requires": { | ||
2351 | "pify": "^3.0.0" | ||
2352 | } | ||
2353 | }, | ||
2354 | "performance-now": { | ||
2355 | "version": "2.1.0", | ||
2356 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||
2357 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | ||
2358 | }, | ||
2359 | "picomatch": { | ||
2360 | "version": "2.3.0", | ||
2361 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", | ||
2362 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", | ||
2363 | "dev": true | ||
2364 | }, | ||
2365 | "pify": { | ||
2366 | "version": "3.0.0", | ||
2367 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", | ||
2368 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", | ||
2369 | "dev": true | ||
2370 | }, | ||
2371 | "pipe-io": { | ||
2372 | "version": "3.0.12", | ||
2373 | "resolved": "https://registry.npmjs.org/pipe-io/-/pipe-io-3.0.12.tgz", | ||
2374 | "integrity": "sha512-reR49NtpkVgedzCQ9DPV727VAZKw8Ax3N/3iQwD1vHxTmswsuhurFh0Z5woVNM1OhHDigKzDN7u4kNipAA9yyA==" | ||
2375 | }, | ||
2376 | "pkg-dir": { | ||
2377 | "version": "2.0.0", | ||
2378 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", | ||
2379 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", | ||
2380 | "dev": true, | ||
2381 | "requires": { | ||
2382 | "find-up": "^2.1.0" | ||
2383 | }, | ||
2384 | "dependencies": { | ||
2385 | "find-up": { | ||
2386 | "version": "2.1.0", | ||
2387 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", | ||
2388 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | ||
2389 | "dev": true, | ||
2390 | "requires": { | ||
2391 | "locate-path": "^2.0.0" | ||
2392 | } | ||
2393 | }, | ||
2394 | "locate-path": { | ||
2395 | "version": "2.0.0", | ||
2396 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", | ||
2397 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | ||
2398 | "dev": true, | ||
2399 | "requires": { | ||
2400 | "p-locate": "^2.0.0", | ||
2401 | "path-exists": "^3.0.0" | ||
2402 | } | ||
2403 | }, | ||
2404 | "p-limit": { | ||
2405 | "version": "1.3.0", | ||
2406 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||
2407 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", | ||
2408 | "dev": true, | ||
2409 | "requires": { | ||
2410 | "p-try": "^1.0.0" | ||
2411 | } | ||
2412 | }, | ||
2413 | "p-locate": { | ||
2414 | "version": "2.0.0", | ||
2415 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", | ||
2416 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | ||
2417 | "dev": true, | ||
2418 | "requires": { | ||
2419 | "p-limit": "^1.1.0" | ||
2420 | } | ||
2421 | }, | ||
2422 | "path-exists": { | ||
2423 | "version": "3.0.0", | ||
2424 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
2425 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
2426 | "dev": true | ||
2427 | } | ||
2428 | } | ||
2429 | }, | ||
2430 | "pkg-up": { | ||
2431 | "version": "2.0.0", | ||
2432 | "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", | ||
2433 | "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", | ||
2434 | "dev": true, | ||
2435 | "requires": { | ||
2436 | "find-up": "^2.1.0" | ||
2437 | }, | ||
2438 | "dependencies": { | ||
2439 | "find-up": { | ||
2440 | "version": "2.1.0", | ||
2441 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", | ||
2442 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | ||
2443 | "dev": true, | ||
2444 | "requires": { | ||
2445 | "locate-path": "^2.0.0" | ||
2446 | } | ||
2447 | }, | ||
2448 | "locate-path": { | ||
2449 | "version": "2.0.0", | ||
2450 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", | ||
2451 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | ||
2452 | "dev": true, | ||
2453 | "requires": { | ||
2454 | "p-locate": "^2.0.0", | ||
2455 | "path-exists": "^3.0.0" | ||
2456 | } | ||
2457 | }, | ||
2458 | "p-limit": { | ||
2459 | "version": "1.3.0", | ||
2460 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||
2461 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", | ||
2462 | "dev": true, | ||
2463 | "requires": { | ||
2464 | "p-try": "^1.0.0" | ||
2465 | } | ||
2466 | }, | ||
2467 | "p-locate": { | ||
2468 | "version": "2.0.0", | ||
2469 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", | ||
2470 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | ||
2471 | "dev": true, | ||
2472 | "requires": { | ||
2473 | "p-limit": "^1.1.0" | ||
2474 | } | ||
2475 | }, | ||
2476 | "path-exists": { | ||
2477 | "version": "3.0.0", | ||
2478 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
2479 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
2480 | "dev": true | ||
2481 | } | ||
2482 | } | ||
2483 | }, | ||
2484 | "pkginfo": { | ||
2485 | "version": "0.4.1", | ||
2486 | "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", | ||
2487 | "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=" | ||
2488 | }, | ||
2489 | "prelude-ls": { | ||
2490 | "version": "1.2.1", | ||
2491 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", | ||
2492 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", | ||
2493 | "dev": true | ||
2494 | }, | ||
2495 | "process-nextick-args": { | ||
2496 | "version": "2.0.1", | ||
2497 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
2498 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||
2499 | }, | ||
2500 | "progress": { | ||
2501 | "version": "2.0.3", | ||
2502 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", | ||
2503 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", | ||
2504 | "dev": true | ||
2505 | }, | ||
2506 | "proxy-addr": { | ||
2507 | "version": "2.0.7", | ||
2508 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", | ||
2509 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", | ||
2510 | "requires": { | ||
2511 | "forwarded": "0.2.0", | ||
2512 | "ipaddr.js": "1.9.1" | ||
2513 | } | ||
2514 | }, | ||
2515 | "pseudomap": { | ||
2516 | "version": "1.0.2", | ||
2517 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||
2518 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" | ||
2519 | }, | ||
2520 | "psl": { | ||
2521 | "version": "1.8.0", | ||
2522 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||
2523 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | ||
2524 | }, | ||
2525 | "punycode": { | ||
2526 | "version": "2.1.1", | ||
2527 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
2528 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
2529 | }, | ||
2530 | "qs": { | ||
2531 | "version": "6.7.0", | ||
2532 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", | ||
2533 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" | ||
2534 | }, | ||
2535 | "random-bytes": { | ||
2536 | "version": "1.0.0", | ||
2537 | "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", | ||
2538 | "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" | ||
2539 | }, | ||
2540 | "randombytes": { | ||
2541 | "version": "2.1.0", | ||
2542 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | ||
2543 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", | ||
2544 | "dev": true, | ||
2545 | "requires": { | ||
2546 | "safe-buffer": "^5.1.0" | ||
2547 | } | ||
2548 | }, | ||
2549 | "range-parser": { | ||
2550 | "version": "1.2.1", | ||
2551 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
2552 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" | ||
2553 | }, | ||
2554 | "raw-body": { | ||
2555 | "version": "2.4.0", | ||
2556 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", | ||
2557 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", | ||
2558 | "requires": { | ||
2559 | "bytes": "3.1.0", | ||
2560 | "http-errors": "1.7.2", | ||
2561 | "iconv-lite": "0.4.24", | ||
2562 | "unpipe": "1.0.0" | ||
2563 | } | ||
2564 | }, | ||
2565 | "read-pkg": { | ||
2566 | "version": "3.0.0", | ||
2567 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", | ||
2568 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", | ||
2569 | "dev": true, | ||
2570 | "requires": { | ||
2571 | "load-json-file": "^4.0.0", | ||
2572 | "normalize-package-data": "^2.3.2", | ||
2573 | "path-type": "^3.0.0" | ||
2574 | } | ||
2575 | }, | ||
2576 | "read-pkg-up": { | ||
2577 | "version": "3.0.0", | ||
2578 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", | ||
2579 | "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", | ||
2580 | "dev": true, | ||
2581 | "requires": { | ||
2582 | "find-up": "^2.0.0", | ||
2583 | "read-pkg": "^3.0.0" | ||
2584 | }, | ||
2585 | "dependencies": { | ||
2586 | "find-up": { | ||
2587 | "version": "2.1.0", | ||
2588 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", | ||
2589 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | ||
2590 | "dev": true, | ||
2591 | "requires": { | ||
2592 | "locate-path": "^2.0.0" | ||
2593 | } | ||
2594 | }, | ||
2595 | "locate-path": { | ||
2596 | "version": "2.0.0", | ||
2597 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", | ||
2598 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | ||
2599 | "dev": true, | ||
2600 | "requires": { | ||
2601 | "p-locate": "^2.0.0", | ||
2602 | "path-exists": "^3.0.0" | ||
2603 | } | ||
2604 | }, | ||
2605 | "p-limit": { | ||
2606 | "version": "1.3.0", | ||
2607 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||
2608 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", | ||
2609 | "dev": true, | ||
2610 | "requires": { | ||
2611 | "p-try": "^1.0.0" | ||
2612 | } | ||
2613 | }, | ||
2614 | "p-locate": { | ||
2615 | "version": "2.0.0", | ||
2616 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", | ||
2617 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | ||
2618 | "dev": true, | ||
2619 | "requires": { | ||
2620 | "p-limit": "^1.1.0" | ||
2621 | } | ||
2622 | }, | ||
2623 | "path-exists": { | ||
2624 | "version": "3.0.0", | ||
2625 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
2626 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
2627 | "dev": true | ||
2628 | } | ||
2629 | } | ||
2630 | }, | ||
2631 | "readable-stream": { | ||
2632 | "version": "3.6.0", | ||
2633 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||
2634 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||
2635 | "requires": { | ||
2636 | "inherits": "^2.0.3", | ||
2637 | "string_decoder": "^1.1.1", | ||
2638 | "util-deprecate": "^1.0.1" | ||
2639 | } | ||
2640 | }, | ||
2641 | "readdirp": { | ||
2642 | "version": "3.5.0", | ||
2643 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", | ||
2644 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", | ||
2645 | "dev": true, | ||
2646 | "requires": { | ||
2647 | "picomatch": "^2.2.1" | ||
2648 | } | ||
2649 | }, | ||
2650 | "redis": { | ||
2651 | "version": "2.8.0", | ||
2652 | "resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", | ||
2653 | "integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==", | ||
2654 | "requires": { | ||
2655 | "double-ended-queue": "^2.1.0-0", | ||
2656 | "redis-commands": "^1.2.0", | ||
2657 | "redis-parser": "^2.6.0" | ||
2658 | } | ||
2659 | }, | ||
2660 | "redis-commands": { | ||
2661 | "version": "1.7.0", | ||
2662 | "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", | ||
2663 | "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" | ||
2664 | }, | ||
2665 | "redis-parser": { | ||
2666 | "version": "2.6.0", | ||
2667 | "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", | ||
2668 | "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=" | ||
2669 | }, | ||
2670 | "regexpp": { | ||
2671 | "version": "3.2.0", | ||
2672 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", | ||
2673 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", | ||
2674 | "dev": true | ||
2675 | }, | ||
2676 | "request": { | ||
2677 | "version": "2.88.2", | ||
2678 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | ||
2679 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", | ||
2680 | "requires": { | ||
2681 | "aws-sign2": "~0.7.0", | ||
2682 | "aws4": "^1.8.0", | ||
2683 | "caseless": "~0.12.0", | ||
2684 | "combined-stream": "~1.0.6", | ||
2685 | "extend": "~3.0.2", | ||
2686 | "forever-agent": "~0.6.1", | ||
2687 | "form-data": "~2.3.2", | ||
2688 | "har-validator": "~5.1.3", | ||
2689 | "http-signature": "~1.2.0", | ||
2690 | "is-typedarray": "~1.0.0", | ||
2691 | "isstream": "~0.1.2", | ||
2692 | "json-stringify-safe": "~5.0.1", | ||
2693 | "mime-types": "~2.1.19", | ||
2694 | "oauth-sign": "~0.9.0", | ||
2695 | "performance-now": "^2.1.0", | ||
2696 | "qs": "~6.5.2", | ||
2697 | "safe-buffer": "^5.1.2", | ||
2698 | "tough-cookie": "~2.5.0", | ||
2699 | "tunnel-agent": "^0.6.0", | ||
2700 | "uuid": "^3.3.2" | ||
2701 | }, | ||
2702 | "dependencies": { | ||
2703 | "qs": { | ||
2704 | "version": "6.5.2", | ||
2705 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | ||
2706 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" | ||
2707 | } | ||
2708 | } | ||
2709 | }, | ||
2710 | "require-directory": { | ||
2711 | "version": "2.1.1", | ||
2712 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||
2713 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | ||
2714 | "dev": true | ||
2715 | }, | ||
2716 | "require-from-string": { | ||
2717 | "version": "2.0.2", | ||
2718 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", | ||
2719 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", | ||
2720 | "dev": true | ||
2721 | }, | ||
2722 | "resolve": { | ||
2723 | "version": "1.20.0", | ||
2724 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", | ||
2725 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", | ||
2726 | "dev": true, | ||
2727 | "requires": { | ||
2728 | "is-core-module": "^2.2.0", | ||
2729 | "path-parse": "^1.0.6" | ||
2730 | } | ||
2731 | }, | ||
2732 | "resolve-from": { | ||
2733 | "version": "4.0.0", | ||
2734 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | ||
2735 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | ||
2736 | "dev": true | ||
2737 | }, | ||
2738 | "rimraf": { | ||
2739 | "version": "3.0.2", | ||
2740 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||
2741 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", | ||
2742 | "dev": true, | ||
2743 | "requires": { | ||
2744 | "glob": "^7.1.3" | ||
2745 | } | ||
2746 | }, | ||
2747 | "safe-buffer": { | ||
2748 | "version": "5.2.1", | ||
2749 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||
2750 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" | ||
2751 | }, | ||
2752 | "safer-buffer": { | ||
2753 | "version": "2.1.2", | ||
2754 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
2755 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
2756 | }, | ||
2757 | "semver": { | ||
2758 | "version": "7.3.5", | ||
2759 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", | ||
2760 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", | ||
2761 | "dev": true, | ||
2762 | "requires": { | ||
2763 | "lru-cache": "^6.0.0" | ||
2764 | } | ||
2765 | }, | ||
2766 | "send": { | ||
2767 | "version": "0.17.1", | ||
2768 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", | ||
2769 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", | ||
2770 | "requires": { | ||
2771 | "debug": "2.6.9", | ||
2772 | "depd": "~1.1.2", | ||
2773 | "destroy": "~1.0.4", | ||
2774 | "encodeurl": "~1.0.2", | ||
2775 | "escape-html": "~1.0.3", | ||
2776 | "etag": "~1.8.1", | ||
2777 | "fresh": "0.5.2", | ||
2778 | "http-errors": "~1.7.2", | ||
2779 | "mime": "1.6.0", | ||
2780 | "ms": "2.1.1", | ||
2781 | "on-finished": "~2.3.0", | ||
2782 | "range-parser": "~1.2.1", | ||
2783 | "statuses": "~1.5.0" | ||
2784 | }, | ||
2785 | "dependencies": { | ||
2786 | "debug": { | ||
2787 | "version": "2.6.9", | ||
2788 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
2789 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
2790 | "requires": { | ||
2791 | "ms": "2.0.0" | ||
2792 | }, | ||
2793 | "dependencies": { | ||
2794 | "ms": { | ||
2795 | "version": "2.0.0", | ||
2796 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
2797 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||
2798 | } | ||
2799 | } | ||
2800 | }, | ||
2801 | "ms": { | ||
2802 | "version": "2.1.1", | ||
2803 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", | ||
2804 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" | ||
2805 | } | ||
2806 | } | ||
2807 | }, | ||
2808 | "serialize-javascript": { | ||
2809 | "version": "5.0.1", | ||
2810 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", | ||
2811 | "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", | ||
2812 | "dev": true, | ||
2813 | "requires": { | ||
2814 | "randombytes": "^2.1.0" | ||
2815 | } | ||
2816 | }, | ||
2817 | "serve-static": { | ||
2818 | "version": "1.14.1", | ||
2819 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", | ||
2820 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", | ||
2821 | "requires": { | ||
2822 | "encodeurl": "~1.0.2", | ||
2823 | "escape-html": "~1.0.3", | ||
2824 | "parseurl": "~1.3.3", | ||
2825 | "send": "0.17.1" | ||
2826 | } | ||
2827 | }, | ||
2828 | "setprototypeof": { | ||
2829 | "version": "1.1.1", | ||
2830 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", | ||
2831 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" | ||
2832 | }, | ||
2833 | "sha1": { | ||
2834 | "version": "1.1.1", | ||
2835 | "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", | ||
2836 | "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", | ||
2837 | "requires": { | ||
2838 | "charenc": ">= 0.0.1", | ||
2839 | "crypt": ">= 0.0.1" | ||
2840 | } | ||
2841 | }, | ||
2842 | "shebang-command": { | ||
2843 | "version": "2.0.0", | ||
2844 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", | ||
2845 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", | ||
2846 | "dev": true, | ||
2847 | "requires": { | ||
2848 | "shebang-regex": "^3.0.0" | ||
2849 | } | ||
2850 | }, | ||
2851 | "shebang-regex": { | ||
2852 | "version": "3.0.0", | ||
2853 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", | ||
2854 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", | ||
2855 | "dev": true | ||
2856 | }, | ||
2857 | "should": { | ||
2858 | "version": "13.2.3", | ||
2859 | "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", | ||
2860 | "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", | ||
2861 | "dev": true, | ||
2862 | "requires": { | ||
2863 | "should-equal": "^2.0.0", | ||
2864 | "should-format": "^3.0.3", | ||
2865 | "should-type": "^1.4.0", | ||
2866 | "should-type-adaptors": "^1.0.1", | ||
2867 | "should-util": "^1.0.0" | ||
2868 | } | ||
2869 | }, | ||
2870 | "should-equal": { | ||
2871 | "version": "2.0.0", | ||
2872 | "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", | ||
2873 | "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", | ||
2874 | "dev": true, | ||
2875 | "requires": { | ||
2876 | "should-type": "^1.4.0" | ||
2877 | } | ||
2878 | }, | ||
2879 | "should-format": { | ||
2880 | "version": "3.0.3", | ||
2881 | "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", | ||
2882 | "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", | ||
2883 | "dev": true, | ||
2884 | "requires": { | ||
2885 | "should-type": "^1.3.0", | ||
2886 | "should-type-adaptors": "^1.0.1" | ||
2887 | } | ||
2888 | }, | ||
2889 | "should-type": { | ||
2890 | "version": "1.4.0", | ||
2891 | "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", | ||
2892 | "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", | ||
2893 | "dev": true | ||
2894 | }, | ||
2895 | "should-type-adaptors": { | ||
2896 | "version": "1.1.0", | ||
2897 | "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", | ||
2898 | "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", | ||
2899 | "dev": true, | ||
2900 | "requires": { | ||
2901 | "should-type": "^1.3.0", | ||
2902 | "should-util": "^1.0.0" | ||
2903 | } | ||
2904 | }, | ||
2905 | "should-util": { | ||
2906 | "version": "1.0.1", | ||
2907 | "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", | ||
2908 | "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", | ||
2909 | "dev": true | ||
2910 | }, | ||
2911 | "simple-git": { | ||
2912 | "version": "1.132.0", | ||
2913 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz", | ||
2914 | "integrity": "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==", | ||
2915 | "requires": { | ||
2916 | "debug": "^4.0.1" | ||
2917 | } | ||
2918 | }, | ||
2919 | "simple-swizzle": { | ||
2920 | "version": "0.2.2", | ||
2921 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", | ||
2922 | "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", | ||
2923 | "requires": { | ||
2924 | "is-arrayish": "^0.3.1" | ||
2925 | }, | ||
2926 | "dependencies": { | ||
2927 | "is-arrayish": { | ||
2928 | "version": "0.3.2", | ||
2929 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", | ||
2930 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" | ||
2931 | } | ||
2932 | } | ||
2933 | }, | ||
2934 | "slice-ansi": { | ||
2935 | "version": "4.0.0", | ||
2936 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", | ||
2937 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", | ||
2938 | "dev": true, | ||
2939 | "requires": { | ||
2940 | "ansi-styles": "^4.0.0", | ||
2941 | "astral-regex": "^2.0.0", | ||
2942 | "is-fullwidth-code-point": "^3.0.0" | ||
2943 | }, | ||
2944 | "dependencies": { | ||
2945 | "ansi-styles": { | ||
2946 | "version": "4.3.0", | ||
2947 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
2948 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
2949 | "dev": true, | ||
2950 | "requires": { | ||
2951 | "color-convert": "^2.0.1" | ||
2952 | } | ||
2953 | }, | ||
2954 | "color-convert": { | ||
2955 | "version": "2.0.1", | ||
2956 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
2957 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
2958 | "dev": true, | ||
2959 | "requires": { | ||
2960 | "color-name": "~1.1.4" | ||
2961 | } | ||
2962 | }, | ||
2963 | "color-name": { | ||
2964 | "version": "1.1.4", | ||
2965 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
2966 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
2967 | "dev": true | ||
2968 | } | ||
2969 | } | ||
2970 | }, | ||
2971 | "spdx-correct": { | ||
2972 | "version": "3.1.1", | ||
2973 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", | ||
2974 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", | ||
2975 | "dev": true, | ||
2976 | "requires": { | ||
2977 | "spdx-expression-parse": "^3.0.0", | ||
2978 | "spdx-license-ids": "^3.0.0" | ||
2979 | } | ||
2980 | }, | ||
2981 | "spdx-exceptions": { | ||
2982 | "version": "2.3.0", | ||
2983 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", | ||
2984 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", | ||
2985 | "dev": true | ||
2986 | }, | ||
2987 | "spdx-expression-parse": { | ||
2988 | "version": "3.0.1", | ||
2989 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", | ||
2990 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", | ||
2991 | "dev": true, | ||
2992 | "requires": { | ||
2993 | "spdx-exceptions": "^2.1.0", | ||
2994 | "spdx-license-ids": "^3.0.0" | ||
2995 | } | ||
2996 | }, | ||
2997 | "spdx-license-ids": { | ||
2998 | "version": "3.0.9", | ||
2999 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", | ||
3000 | "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", | ||
3001 | "dev": true | ||
3002 | }, | ||
3003 | "sprintf-js": { | ||
3004 | "version": "1.0.3", | ||
3005 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | ||
3006 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | ||
3007 | "dev": true | ||
3008 | }, | ||
3009 | "sshpk": { | ||
3010 | "version": "1.16.1", | ||
3011 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | ||
3012 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", | ||
3013 | "requires": { | ||
3014 | "asn1": "~0.2.3", | ||
3015 | "assert-plus": "^1.0.0", | ||
3016 | "bcrypt-pbkdf": "^1.0.0", | ||
3017 | "dashdash": "^1.12.0", | ||
3018 | "ecc-jsbn": "~0.1.1", | ||
3019 | "getpass": "^0.1.1", | ||
3020 | "jsbn": "~0.1.0", | ||
3021 | "safer-buffer": "^2.0.2", | ||
3022 | "tweetnacl": "~0.14.0" | ||
3023 | } | ||
3024 | }, | ||
3025 | "stack-trace": { | ||
3026 | "version": "0.0.10", | ||
3027 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", | ||
3028 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" | ||
3029 | }, | ||
3030 | "statuses": { | ||
3031 | "version": "1.5.0", | ||
3032 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | ||
3033 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" | ||
3034 | }, | ||
3035 | "strftime": { | ||
3036 | "version": "0.10.0", | ||
3037 | "resolved": "https://registry.npmjs.org/strftime/-/strftime-0.10.0.tgz", | ||
3038 | "integrity": "sha1-s/D6QZKVICpaKJ9ta+n0kJphcZM=" | ||
3039 | }, | ||
3040 | "string-natural-compare": { | ||
3041 | "version": "2.0.3", | ||
3042 | "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-2.0.3.tgz", | ||
3043 | "integrity": "sha512-4Kcl12rNjc+6EKhY8QyDVuQTAlMWwRiNbsxnVwBUKFr7dYPQuXVrtNU4sEkjF9LHY0AY6uVbB3ktbkIH4LC+BQ==" | ||
3044 | }, | ||
3045 | "string-width": { | ||
3046 | "version": "4.2.2", | ||
3047 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||
3048 | "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||
3049 | "dev": true, | ||
3050 | "requires": { | ||
3051 | "emoji-regex": "^8.0.0", | ||
3052 | "is-fullwidth-code-point": "^3.0.0", | ||
3053 | "strip-ansi": "^6.0.0" | ||
3054 | } | ||
3055 | }, | ||
3056 | "string.prototype.trimend": { | ||
3057 | "version": "1.0.4", | ||
3058 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", | ||
3059 | "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", | ||
3060 | "dev": true, | ||
3061 | "requires": { | ||
3062 | "call-bind": "^1.0.2", | ||
3063 | "define-properties": "^1.1.3" | ||
3064 | } | ||
3065 | }, | ||
3066 | "string.prototype.trimstart": { | ||
3067 | "version": "1.0.4", | ||
3068 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", | ||
3069 | "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", | ||
3070 | "dev": true, | ||
3071 | "requires": { | ||
3072 | "call-bind": "^1.0.2", | ||
3073 | "define-properties": "^1.1.3" | ||
3074 | } | ||
3075 | }, | ||
3076 | "string_decoder": { | ||
3077 | "version": "1.3.0", | ||
3078 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", | ||
3079 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", | ||
3080 | "requires": { | ||
3081 | "safe-buffer": "~5.2.0" | ||
3082 | } | ||
3083 | }, | ||
3084 | "strip-ansi": { | ||
3085 | "version": "6.0.0", | ||
3086 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||
3087 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||
3088 | "dev": true, | ||
3089 | "requires": { | ||
3090 | "ansi-regex": "^5.0.0" | ||
3091 | } | ||
3092 | }, | ||
3093 | "strip-bom": { | ||
3094 | "version": "3.0.0", | ||
3095 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", | ||
3096 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", | ||
3097 | "dev": true | ||
3098 | }, | ||
3099 | "strip-json-comments": { | ||
3100 | "version": "3.1.1", | ||
3101 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", | ||
3102 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", | ||
3103 | "dev": true | ||
3104 | }, | ||
3105 | "supports-color": { | ||
3106 | "version": "5.5.0", | ||
3107 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
3108 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
3109 | "dev": true, | ||
3110 | "requires": { | ||
3111 | "has-flag": "^3.0.0" | ||
3112 | } | ||
3113 | }, | ||
3114 | "table": { | ||
3115 | "version": "6.7.1", | ||
3116 | "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", | ||
3117 | "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", | ||
3118 | "dev": true, | ||
3119 | "requires": { | ||
3120 | "ajv": "^8.0.1", | ||
3121 | "lodash.clonedeep": "^4.5.0", | ||
3122 | "lodash.truncate": "^4.4.2", | ||
3123 | "slice-ansi": "^4.0.0", | ||
3124 | "string-width": "^4.2.0", | ||
3125 | "strip-ansi": "^6.0.0" | ||
3126 | }, | ||
3127 | "dependencies": { | ||
3128 | "ajv": { | ||
3129 | "version": "8.6.0", | ||
3130 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", | ||
3131 | "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", | ||
3132 | "dev": true, | ||
3133 | "requires": { | ||
3134 | "fast-deep-equal": "^3.1.1", | ||
3135 | "json-schema-traverse": "^1.0.0", | ||
3136 | "require-from-string": "^2.0.2", | ||
3137 | "uri-js": "^4.2.2" | ||
3138 | } | ||
3139 | }, | ||
3140 | "json-schema-traverse": { | ||
3141 | "version": "1.0.0", | ||
3142 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", | ||
3143 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", | ||
3144 | "dev": true | ||
3145 | } | ||
3146 | } | ||
3147 | }, | ||
3148 | "text-hex": { | ||
3149 | "version": "1.0.0", | ||
3150 | "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", | ||
3151 | "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" | ||
3152 | }, | ||
3153 | "text-table": { | ||
3154 | "version": "0.2.0", | ||
3155 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", | ||
3156 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", | ||
3157 | "dev": true | ||
3158 | }, | ||
3159 | "to-regex-range": { | ||
3160 | "version": "5.0.1", | ||
3161 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | ||
3162 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | ||
3163 | "dev": true, | ||
3164 | "requires": { | ||
3165 | "is-number": "^7.0.0" | ||
3166 | } | ||
3167 | }, | ||
3168 | "toidentifier": { | ||
3169 | "version": "1.0.0", | ||
3170 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||
3171 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | ||
3172 | }, | ||
3173 | "tough-cookie": { | ||
3174 | "version": "2.5.0", | ||
3175 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
3176 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
3177 | "requires": { | ||
3178 | "psl": "^1.1.28", | ||
3179 | "punycode": "^2.1.1" | ||
3180 | } | ||
3181 | }, | ||
3182 | "triple-beam": { | ||
3183 | "version": "1.3.0", | ||
3184 | "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", | ||
3185 | "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" | ||
3186 | }, | ||
3187 | "tsconfig-paths": { | ||
3188 | "version": "3.9.0", | ||
3189 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", | ||
3190 | "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", | ||
3191 | "dev": true, | ||
3192 | "requires": { | ||
3193 | "@types/json5": "^0.0.29", | ||
3194 | "json5": "^1.0.1", | ||
3195 | "minimist": "^1.2.0", | ||
3196 | "strip-bom": "^3.0.0" | ||
3197 | } | ||
3198 | }, | ||
3199 | "tunnel-agent": { | ||
3200 | "version": "0.6.0", | ||
3201 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
3202 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
3203 | "requires": { | ||
3204 | "safe-buffer": "^5.0.1" | ||
3205 | } | ||
3206 | }, | ||
3207 | "tweetnacl": { | ||
3208 | "version": "0.14.5", | ||
3209 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
3210 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
3211 | }, | ||
3212 | "type-check": { | ||
3213 | "version": "0.4.0", | ||
3214 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | ||
3215 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", | ||
3216 | "dev": true, | ||
3217 | "requires": { | ||
3218 | "prelude-ls": "^1.2.1" | ||
3219 | } | ||
3220 | }, | ||
3221 | "type-fest": { | ||
3222 | "version": "0.20.2", | ||
3223 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||
3224 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||
3225 | "dev": true | ||
3226 | }, | ||
3227 | "type-is": { | ||
3228 | "version": "1.6.18", | ||
3229 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||
3230 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||
3231 | "requires": { | ||
3232 | "media-typer": "0.3.0", | ||
3233 | "mime-types": "~2.1.24" | ||
3234 | } | ||
3235 | }, | ||
3236 | "uid-safe": { | ||
3237 | "version": "2.1.5", | ||
3238 | "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", | ||
3239 | "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", | ||
3240 | "requires": { | ||
3241 | "random-bytes": "~1.0.0" | ||
3242 | } | ||
3243 | }, | ||
3244 | "unbox-primitive": { | ||
3245 | "version": "1.0.1", | ||
3246 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", | ||
3247 | "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", | ||
3248 | "dev": true, | ||
3249 | "requires": { | ||
3250 | "function-bind": "^1.1.1", | ||
3251 | "has-bigints": "^1.0.1", | ||
3252 | "has-symbols": "^1.0.2", | ||
3253 | "which-boxed-primitive": "^1.0.2" | ||
3254 | } | ||
3255 | }, | ||
3256 | "uniqid": { | ||
3257 | "version": "5.3.0", | ||
3258 | "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.3.0.tgz", | ||
3259 | "integrity": "sha512-Jq8EzvAT8/CcLu8tzoSiylnzPkNhJJKpnMT964Dj1jI4pG4sKYP9aFVByNTp8KzMvYlW1Um63PCDqtOoujNzrA==" | ||
3260 | }, | ||
3261 | "unpipe": { | ||
3262 | "version": "1.0.0", | ||
3263 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||
3264 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||
3265 | }, | ||
3266 | "uri-js": { | ||
3267 | "version": "4.4.1", | ||
3268 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||
3269 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||
3270 | "requires": { | ||
3271 | "punycode": "^2.1.0" | ||
3272 | } | ||
3273 | }, | ||
3274 | "util-deprecate": { | ||
3275 | "version": "1.0.2", | ||
3276 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
3277 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||
3278 | }, | ||
3279 | "utils-merge": { | ||
3280 | "version": "1.0.1", | ||
3281 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||
3282 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||
3283 | }, | ||
3284 | "uuid": { | ||
3285 | "version": "3.4.0", | ||
3286 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||
3287 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||
3288 | }, | ||
3289 | "v8-compile-cache": { | ||
3290 | "version": "2.3.0", | ||
3291 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", | ||
3292 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", | ||
3293 | "dev": true | ||
3294 | }, | ||
3295 | "validate-npm-package-license": { | ||
3296 | "version": "3.0.4", | ||
3297 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", | ||
3298 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", | ||
3299 | "dev": true, | ||
3300 | "requires": { | ||
3301 | "spdx-correct": "^3.0.0", | ||
3302 | "spdx-expression-parse": "^3.0.0" | ||
3303 | } | ||
3304 | }, | ||
3305 | "vary": { | ||
3306 | "version": "1.1.2", | ||
3307 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||
3308 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||
3309 | }, | ||
3310 | "verror": { | ||
3311 | "version": "1.10.0", | ||
3312 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
3313 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
3314 | "requires": { | ||
3315 | "assert-plus": "^1.0.0", | ||
3316 | "core-util-is": "1.0.2", | ||
3317 | "extsprintf": "^1.2.0" | ||
3318 | } | ||
3319 | }, | ||
3320 | "which": { | ||
3321 | "version": "2.0.2", | ||
3322 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | ||
3323 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", | ||
3324 | "dev": true, | ||
3325 | "requires": { | ||
3326 | "isexe": "^2.0.0" | ||
3327 | } | ||
3328 | }, | ||
3329 | "which-boxed-primitive": { | ||
3330 | "version": "1.0.2", | ||
3331 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", | ||
3332 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", | ||
3333 | "dev": true, | ||
3334 | "requires": { | ||
3335 | "is-bigint": "^1.0.1", | ||
3336 | "is-boolean-object": "^1.1.0", | ||
3337 | "is-number-object": "^1.0.4", | ||
3338 | "is-string": "^1.0.5", | ||
3339 | "is-symbol": "^1.0.3" | ||
3340 | } | ||
3341 | }, | ||
3342 | "wide-align": { | ||
3343 | "version": "1.1.3", | ||
3344 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", | ||
3345 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", | ||
3346 | "dev": true, | ||
3347 | "requires": { | ||
3348 | "string-width": "^1.0.2 || 2" | ||
3349 | }, | ||
3350 | "dependencies": { | ||
3351 | "ansi-regex": { | ||
3352 | "version": "3.0.0", | ||
3353 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", | ||
3354 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | ||
3355 | "dev": true | ||
3356 | }, | ||
3357 | "is-fullwidth-code-point": { | ||
3358 | "version": "2.0.0", | ||
3359 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
3360 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
3361 | "dev": true | ||
3362 | }, | ||
3363 | "string-width": { | ||
3364 | "version": "2.1.1", | ||
3365 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | ||
3366 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", | ||
3367 | "dev": true, | ||
3368 | "requires": { | ||
3369 | "is-fullwidth-code-point": "^2.0.0", | ||
3370 | "strip-ansi": "^4.0.0" | ||
3371 | } | ||
3372 | }, | ||
3373 | "strip-ansi": { | ||
3374 | "version": "4.0.0", | ||
3375 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", | ||
3376 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", | ||
3377 | "dev": true, | ||
3378 | "requires": { | ||
3379 | "ansi-regex": "^3.0.0" | ||
3380 | } | ||
3381 | } | ||
3382 | } | ||
3383 | }, | ||
3384 | "winston": { | ||
3385 | "version": "3.3.3", | ||
3386 | "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", | ||
3387 | "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", | ||
3388 | "requires": { | ||
3389 | "@dabh/diagnostics": "^2.0.2", | ||
3390 | "async": "^3.1.0", | ||
3391 | "is-stream": "^2.0.0", | ||
3392 | "logform": "^2.2.0", | ||
3393 | "one-time": "^1.0.0", | ||
3394 | "readable-stream": "^3.4.0", | ||
3395 | "stack-trace": "0.0.x", | ||
3396 | "triple-beam": "^1.3.0", | ||
3397 | "winston-transport": "^4.4.0" | ||
3398 | } | ||
3399 | }, | ||
3400 | "winston-circular-buffer": { | ||
3401 | "version": "1.0.0", | ||
3402 | "resolved": "https://registry.npmjs.org/winston-circular-buffer/-/winston-circular-buffer-1.0.0.tgz", | ||
3403 | "integrity": "sha1-6ZH3W5n/IFVR4O5HK3XSAdvT4ns=", | ||
3404 | "requires": { | ||
3405 | "circular-buffer": "0.0.6" | ||
3406 | } | ||
3407 | }, | ||
3408 | "winston-compat": { | ||
3409 | "version": "0.1.5", | ||
3410 | "resolved": "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.5.tgz", | ||
3411 | "integrity": "sha512-EPvPcHT604AV3Ji6d3+vX8ENKIml9VSxMRnPQ+cuK/FX6f3hvPP2hxyoeeCOCFvDrJEujalfcKWlWPvAnFyS9g==", | ||
3412 | "requires": { | ||
3413 | "cycle": "~1.0.3", | ||
3414 | "logform": "^1.6.0", | ||
3415 | "triple-beam": "^1.2.0" | ||
3416 | }, | ||
3417 | "dependencies": { | ||
3418 | "fecha": { | ||
3419 | "version": "2.3.3", | ||
3420 | "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", | ||
3421 | "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" | ||
3422 | }, | ||
3423 | "logform": { | ||
3424 | "version": "1.10.0", | ||
3425 | "resolved": "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz", | ||
3426 | "integrity": "sha512-em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==", | ||
3427 | "requires": { | ||
3428 | "colors": "^1.2.1", | ||
3429 | "fast-safe-stringify": "^2.0.4", | ||
3430 | "fecha": "^2.3.3", | ||
3431 | "ms": "^2.1.1", | ||
3432 | "triple-beam": "^1.2.0" | ||
3433 | } | ||
3434 | } | ||
3435 | } | ||
3436 | }, | ||
3437 | "winston-daily-rotate-file": { | ||
3438 | "version": "3.10.0", | ||
3439 | "resolved": "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.10.0.tgz", | ||
3440 | "integrity": "sha512-KO8CfbI2CvdR3PaFApEH02GPXiwJ+vbkF1mCkTlvRIoXFI8EFlf1ACcuaahXTEiDEKCii6cNe95gsL4ZkbnphA==", | ||
3441 | "requires": { | ||
3442 | "file-stream-rotator": "^0.4.1", | ||
3443 | "object-hash": "^1.3.0", | ||
3444 | "semver": "^6.2.0", | ||
3445 | "triple-beam": "^1.3.0", | ||
3446 | "winston-compat": "^0.1.4", | ||
3447 | "winston-transport": "^4.2.0" | ||
3448 | }, | ||
3449 | "dependencies": { | ||
3450 | "semver": { | ||
3451 | "version": "6.3.0", | ||
3452 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||
3453 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" | ||
3454 | } | ||
3455 | } | ||
3456 | }, | ||
3457 | "winston-transport": { | ||
3458 | "version": "4.4.0", | ||
3459 | "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", | ||
3460 | "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", | ||
3461 | "requires": { | ||
3462 | "readable-stream": "^2.3.7", | ||
3463 | "triple-beam": "^1.2.0" | ||
3464 | }, | ||
3465 | "dependencies": { | ||
3466 | "readable-stream": { | ||
3467 | "version": "2.3.7", | ||
3468 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
3469 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
3470 | "requires": { | ||
3471 | "core-util-is": "~1.0.0", | ||
3472 | "inherits": "~2.0.3", | ||
3473 | "isarray": "~1.0.0", | ||
3474 | "process-nextick-args": "~2.0.0", | ||
3475 | "safe-buffer": "~5.1.1", | ||
3476 | "string_decoder": "~1.1.1", | ||
3477 | "util-deprecate": "~1.0.1" | ||
3478 | } | ||
3479 | }, | ||
3480 | "safe-buffer": { | ||
3481 | "version": "5.1.2", | ||
3482 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
3483 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
3484 | }, | ||
3485 | "string_decoder": { | ||
3486 | "version": "1.1.1", | ||
3487 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
3488 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
3489 | "requires": { | ||
3490 | "safe-buffer": "~5.1.0" | ||
3491 | } | ||
3492 | } | ||
3493 | } | ||
3494 | }, | ||
3495 | "word-wrap": { | ||
3496 | "version": "1.2.3", | ||
3497 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | ||
3498 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", | ||
3499 | "dev": true | ||
3500 | }, | ||
3501 | "workerpool": { | ||
3502 | "version": "6.1.4", | ||
3503 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.4.tgz", | ||
3504 | "integrity": "sha512-jGWPzsUqzkow8HoAvqaPWTUPCrlPJaJ5tY8Iz7n1uCz3tTp6s3CDG0FF1NsX42WNlkRSW6Mr+CDZGnNoSsKa7g==", | ||
3505 | "dev": true | ||
3506 | }, | ||
3507 | "wrap-ansi": { | ||
3508 | "version": "7.0.0", | ||
3509 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ||
3510 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", | ||
3511 | "dev": true, | ||
3512 | "requires": { | ||
3513 | "ansi-styles": "^4.0.0", | ||
3514 | "string-width": "^4.1.0", | ||
3515 | "strip-ansi": "^6.0.0" | ||
3516 | }, | ||
3517 | "dependencies": { | ||
3518 | "ansi-styles": { | ||
3519 | "version": "4.3.0", | ||
3520 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
3521 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
3522 | "dev": true, | ||
3523 | "requires": { | ||
3524 | "color-convert": "^2.0.1" | ||
3525 | } | ||
3526 | }, | ||
3527 | "color-convert": { | ||
3528 | "version": "2.0.1", | ||
3529 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
3530 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
3531 | "dev": true, | ||
3532 | "requires": { | ||
3533 | "color-name": "~1.1.4" | ||
3534 | } | ||
3535 | }, | ||
3536 | "color-name": { | ||
3537 | "version": "1.1.4", | ||
3538 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
3539 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
3540 | "dev": true | ||
3541 | } | ||
3542 | } | ||
3543 | }, | ||
3544 | "wrappy": { | ||
3545 | "version": "1.0.2", | ||
3546 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||
3547 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" | ||
3548 | }, | ||
3549 | "wraptile": { | ||
3550 | "version": "2.0.0", | ||
3551 | "resolved": "https://registry.npmjs.org/wraptile/-/wraptile-2.0.0.tgz", | ||
3552 | "integrity": "sha512-Jzt4wTT0DJGucp4VewhbT6YutpOfBh6Ab4r5hKWTvFYsNTCxPi0U8wOsesDk1CQ+VcHyaP36BzCiKRJTROJiTQ==" | ||
3553 | }, | ||
3554 | "y18n": { | ||
3555 | "version": "5.0.8", | ||
3556 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", | ||
3557 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||
3558 | "dev": true | ||
3559 | }, | ||
3560 | "yallist": { | ||
3561 | "version": "4.0.0", | ||
3562 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
3563 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||
3564 | "dev": true | ||
3565 | }, | ||
3566 | "yargs": { | ||
3567 | "version": "16.2.0", | ||
3568 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||
3569 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||
3570 | "dev": true, | ||
3571 | "requires": { | ||
3572 | "cliui": "^7.0.2", | ||
3573 | "escalade": "^3.1.1", | ||
3574 | "get-caller-file": "^2.0.5", | ||
3575 | "require-directory": "^2.1.1", | ||
3576 | "string-width": "^4.2.0", | ||
3577 | "y18n": "^5.0.5", | ||
3578 | "yargs-parser": "^20.2.2" | ||
3579 | } | ||
3580 | }, | ||
3581 | "yargs-parser": { | ||
3582 | "version": "20.2.4", | ||
3583 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", | ||
3584 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", | ||
3585 | "dev": true | ||
3586 | }, | ||
3587 | "yargs-unparser": { | ||
3588 | "version": "2.0.0", | ||
3589 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", | ||
3590 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", | ||
3591 | "dev": true, | ||
3592 | "requires": { | ||
3593 | "camelcase": "^6.0.0", | ||
3594 | "decamelize": "^4.0.0", | ||
3595 | "flat": "^5.0.2", | ||
3596 | "is-plain-obj": "^2.1.0" | ||
3597 | } | ||
3598 | }, | ||
3599 | "yocto-queue": { | ||
3600 | "version": "0.1.0", | ||
3601 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ||
3602 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", | ||
3603 | "dev": true | ||
3604 | }, | ||
3605 | "zames": { | ||
3606 | "version": "2.0.1", | ||
3607 | "resolved": "https://registry.npmjs.org/zames/-/zames-2.0.1.tgz", | ||
3608 | "integrity": "sha512-gJJxR12zrhOBl96d/9PorsFAEU+xUOtxOwO2lUofj8a40ahx+nxjQftzD35/GdxLzlJ5vTWh4oG81TpmKh/+hw==", | ||
3609 | "requires": { | ||
3610 | "currify": "^3.0.0", | ||
3611 | "es6-promisify": "^6.0.0" | ||
3612 | } | ||
3613 | } | ||
3614 | } | ||
3615 | } | ||
3616 |
package.json
File was created | 1 | { | |
2 | "name": "komodo-gw-st24b", | ||
3 | "version": "0.1.0", | ||
4 | "description": "Komodo gateway to ST24 (XMLRPC)", | ||
5 | "main": "index.js", | ||
6 | "scripts": { | ||
7 | "test": "mocha --recursive test", | ||
8 | "postversion": "git push && git push --tags" | ||
9 | }, | ||
10 | "repository": { | ||
11 | "type": "git", | ||
12 | "url": "git@gitlab.kodesumber.com:komodo/komodo-gw-st24b.git" | ||
13 | }, | ||
14 | "keywords": [ | ||
15 | "komodo", | ||
16 | "tektrans", | ||
17 | "ppob", | ||
18 | "st24", | ||
19 | "xmlrpc" | ||
20 | ], | ||
21 | "author": "Adhidarma Hadiwinoto <me@adhisimon.org>", | ||
22 | "license": "SEE LICENSE IN LICENSE.txt", | ||
23 | "devDependencies": { | ||
24 | "eslint": "^7.29.0", | ||
25 | "eslint-config-airbnb-base": "^14.2.1", | ||
26 | "eslint-plugin-import": "^2.23.4", | ||
27 | "mocha": "^9.0.1", | ||
28 | "should": "^13.2.3" | ||
29 | }, | ||
30 | "dependencies": { | ||
31 | "axios": "^0.21.1", | ||
32 | "express": "^4.17.1", | ||
33 | "fast-xml-parser": "^3.19.0", | ||
34 | "json-stringify-pretty-compact": "^3.0.0", | ||
35 | "komodo-sdk": "git+https://gitlab.kodesumber.com/komodo/komodo-sdk.git", | ||
36 | "moment": "^2.29.1", | ||
37 | "uniqid": "^5.3.0" | ||
38 | } | ||
39 | } | ||
40 |
test-data/method-response-1.xml
File was created | 1 | <?xml version="1.0"?> | |
2 | <!-- example from ST24 doc --> | ||
3 | <methodResponse> | ||
4 | <params> | ||
5 | <param> | ||
6 | <value> | ||
7 | <struct> | ||
8 | <member> | ||
9 | <name>RESPONSECODE</name> | ||
10 | <value><string>00</string></value> | ||
11 | </member> | ||
12 | <member> | ||
13 | <name>REQUESTID</name> | ||
14 | <value><string>123456</string></value> | ||
15 | </member> | ||
16 | <member> | ||
17 | <name>MESSAGE</name> | ||
18 | <value><string>TOP UP BERHASIL</string></value> | ||
19 | </member> | ||
20 | <member> | ||
21 | <name>TRANSACTIONID</name> | ||
22 | <value><string>666333</string></value> | ||
23 | </member> | ||
24 | </struct> | ||
25 | </value> | ||
26 | </param> | ||
27 | </params> | ||
28 | </methodResponse> |
test-data/top-up-request-1.xml
File was created | 1 | <?xml version="1.0"?> | |
2 | <!-- example from ST24 doc --> | ||
3 | <methodCall> | ||
4 | <methodName>topUpRequest</methodName> | ||
5 | <params> | ||
6 | <param> | ||
7 | <value> | ||
8 | <struct> | ||
9 | <member> | ||
10 | <name>MSISDN</name> | ||
11 | <value><string>0818111222</string></value> | ||
12 | </member> | ||
13 | <member> | ||
14 | <name>REQUESTID</name> | ||
15 | <value><string>123456</string></value> | ||
16 | </member> | ||
17 | <member> | ||
18 | <name>PIN</name> | ||
19 | <value><string>6633</string></value> | ||
20 | </member> | ||
21 | <member> | ||
22 | <name>NOHP</name> | ||
23 | <value><string>0818111333</string></value> | ||
24 | </member> | ||
25 | <member> | ||
26 | <name>NOM</name> | ||
27 | <value><string>XR10</string></value> | ||
28 | </member> | ||
29 | </struct> | ||
30 | </value> | ||
31 | </param> | ||
32 | </params> | ||
33 | </methodCall> |
test/generic-xmlrpc/compose-payload.js
File was created | 1 | /* eslint-disable no-console */ | |
2 | /* global describe it */ | ||
3 | |||
4 | const should = require('should'); | ||
5 | const xmlParser = require('fast-xml-parser'); | ||
6 | |||
7 | const composePayload = require('../../lib/generic-xmlrpc/compose-payload'); | ||
8 | |||
9 | describe('#generic-xmlrpc', () => { | ||
10 | describe('#compose-payload', () => { | ||
11 | it('should compose payload correctly (params is an array)', () => { | ||
12 | const resultStr = composePayload('topUpRequest', [ | ||
13 | { | ||
14 | name: 'MSISDN', | ||
15 | value: '62818181818', | ||
16 | }, | ||
17 | { | ||
18 | name: 'REQUESTID', | ||
19 | value: '1234', | ||
20 | }, | ||
21 | ]); | ||
22 | |||
23 | // console.log(result); | ||
24 | should.exists(resultStr, '5033DD9C'); | ||
25 | |||
26 | const resultObj = xmlParser.parse(resultStr); | ||
27 | |||
28 | // console.log(JSON.stringify(resultObj, null, 2)); | ||
29 | |||
30 | resultObj.methodCall.params.param.value.struct.member.find((item) => item.name === 'MSISDN').value.string.should.equal(62818181818, '06C60D8C'); | ||
31 | }); | ||
32 | |||
33 | it('should compose payload correctly (params is an object)', () => { | ||
34 | const resultStr = composePayload('topUpRequest', { | ||
35 | MSISDN: { value: '62818181818' }, | ||
36 | REQUESTID: { value: '1234' }, | ||
37 | }); | ||
38 | |||
39 | // console.log(result); | ||
40 | should.exists(resultStr, '13E0279E'); | ||
41 | |||
42 | const resultObj = xmlParser.parse(resultStr); | ||
43 | |||
44 | // console.log(JSON.stringify(resultObj, null, 2)); | ||
45 | |||
46 | resultObj.methodCall.params.param.value.struct.member.find((item) => item.name === 'MSISDN').value.string.should.equal(62818181818, '3399A280'); | ||
47 | }); | ||
48 | |||
49 | it('should compose payload correctly (params is an object, and value is not an object)', () => { | ||
50 | const resultStr = composePayload('topUpRequest', { | ||
51 | MSISDN: '62818181818', | ||
52 | REQUESTID: '1234', | ||
53 | }); | ||
54 | |||
55 | // console.log(resultStr); | ||
56 | should.exists(resultStr, '99413C25'); | ||
57 | |||
58 | const resultObj = xmlParser.parse(resultStr); | ||
59 | |||
60 | // console.log(JSON.stringify(resultObj, null, 2)); | ||
61 | |||
62 | resultObj.methodCall.params.param.value.struct.member.find((item) => item.name === 'MSISDN').value.string.should.equal(62818181818, 'C49C657D'); | ||
63 | }); | ||
64 | }); | ||
65 | }); | ||
66 |
test/generic-xmlrpc/get-params-members-obj.js
File was created | 1 | /* global describe it */ | |
2 | |||
3 | const fs = require('fs'); | ||
4 | const should = require('should'); | ||
5 | const parseXml = require('../../lib/parse-xml'); | ||
6 | const getParamsMembersObj = require('../../lib/generic-xmlrpc/get-params-members-obj'); | ||
7 | |||
8 | const topUpRequestPayload = fs.readFileSync('./test-data/top-up-request-1.xml').toString(); | ||
9 | const topUpRequestObj = parseXml('4C5B00DA', topUpRequestPayload); | ||
10 | |||
11 | const methodResponsePayload = fs.readFileSync('./test-data/method-response-1.xml').toString(); | ||
12 | const methodResponseObj = parseXml('082DEE2D', methodResponsePayload); | ||
13 | |||
14 | describe('#generic-xmlrpc', () => { | ||
15 | describe('#precheck', () => { | ||
16 | it('should pass precheck', () => { | ||
17 | should.exists(topUpRequestPayload, '8134961F'); | ||
18 | should.exists(topUpRequestObj, 'E2A43100'); | ||
19 | }); | ||
20 | }); | ||
21 | |||
22 | describe('#get-params-members', () => { | ||
23 | it('should return correct result (from topUpRequest)', () => { | ||
24 | const result = getParamsMembersObj(topUpRequestObj, false); | ||
25 | |||
26 | should.exists(result, '494175C8'); | ||
27 | result.MSISDN.should.equal('0818111222', 'A40F6034'); | ||
28 | result.REQUESTID.should.equal('123456', '763B7B38'); | ||
29 | result.PIN.should.equal('6633', 'EBF2FACB'); | ||
30 | result.NOHP.should.equal('0818111333', 'CF204FB7'); | ||
31 | result.NOM.should.equal('XR10', '0B8AB5AC'); | ||
32 | }); | ||
33 | |||
34 | it('should return correct result (from methodResponse)', () => { | ||
35 | const result = getParamsMembersObj(methodResponseObj, false); | ||
36 | |||
37 | should.exists(result, '6D1FC98B'); | ||
38 | result.RESPONSECODE.should.equal('00', '476B0894'); | ||
39 | result.REQUESTID.should.equal('123456', 'DF50D10B'); | ||
40 | result.MESSAGE.should.equal('TOP UP BERHASIL', 'EBCC5B2A'); | ||
41 | result.TRANSACTIONID.should.equal('666333', '7825968D'); | ||
42 | }); | ||
43 | }); | ||
44 | }); | ||
45 |
test/generic-xmlrpc/get-params-members.js
File was created | 1 | /* global describe it */ | |
2 | |||
3 | const fs = require('fs'); | ||
4 | const should = require('should'); | ||
5 | const xmlParser = require('fast-xml-parser'); | ||
6 | const getParamsMembers = require('../../lib/generic-xmlrpc/get-params-members'); | ||
7 | |||
8 | const xmlParserOptions = { | ||
9 | parseNodeValue: false, | ||
10 | trimValues: true, | ||
11 | }; | ||
12 | |||
13 | const topUpRequestPayload = fs.readFileSync('./test-data/top-up-request-1.xml').toString(); | ||
14 | |||
15 | const topUpRequestObj = xmlParser.parse(topUpRequestPayload, xmlParserOptions); | ||
16 | |||
17 | const methodResponsePayload = fs.readFileSync('./test-data/method-response-1.xml').toString(); | ||
18 | const methodResponseObj = xmlParser.parse(methodResponsePayload, xmlParserOptions); | ||
19 | |||
20 | describe('#generic-xmlrpc', () => { | ||
21 | describe('#get-params-members', () => { | ||
22 | it('should return correct result (from topUpRequest)', () => { | ||
23 | const result = getParamsMembers(topUpRequestObj); | ||
24 | |||
25 | should.exists(result, '68DC1F18'); | ||
26 | result.find((item) => item.name === 'MSISDN').value.should.equal('0818111222', 'FF483A06'); | ||
27 | result.find((item) => item.name === 'REQUESTID').value.should.equal('123456', '65208338'); | ||
28 | result.find((item) => item.name === 'PIN').value.should.equal('6633', 'B420C34C'); | ||
29 | result.find((item) => item.name === 'NOHP').value.should.equal('0818111333', '706A0594'); | ||
30 | result.find((item) => item.name === 'NOM').value.should.equal('XR10', 'F594F6B3'); | ||
31 | }); | ||
32 | |||
33 | it('should return correct result (from methodResponse)', () => { | ||
34 | const result = getParamsMembers(methodResponseObj); | ||
35 | |||
36 | should.exists(result, '426E3B71'); | ||
37 | result.find((item) => item.name === 'RESPONSECODE').value.should.equal('00', '8AFE55D2'); | ||
38 | result.find((item) => item.name === 'REQUESTID').value.should.equal('123456', 'BDD4A32F'); | ||
39 | result.find((item) => item.name === 'MESSAGE').value.should.equal('TOP UP BERHASIL', 'D817F0F5'); | ||
40 | result.find((item) => item.name === 'TRANSACTIONID').value.should.equal('666333', '9E2ED185'); | ||
41 | }); | ||
42 | }); | ||
43 | }); | ||
44 |