@iobroker/db-base 7.0.2 → 7.0.4-alpha.0-20241116-db3148f4f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/lib/constants.d.ts +0 -1
- package/build/cjs/lib/constants.js +4 -0
- package/build/cjs/lib/constants.js.map +1 -1
- package/build/cjs/lib/inMemFileDB.js +36 -1
- package/build/cjs/lib/inMemFileDB.js.map +1 -1
- package/build/cjs/lib/redisHandler.d.ts +0 -3
- package/build/cjs/lib/redisHandler.js +114 -0
- package/build/cjs/lib/redisHandler.js.map +1 -1
- package/build/esm/lib/constants.d.ts +0 -1
- package/build/esm/lib/constants.d.ts.map +1 -1
- package/build/esm/lib/redisHandler.d.ts +0 -3
- package/build/esm/lib/redisHandler.d.ts.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
package/build/cjs/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
4
|
"sourcesContent": ["export { InMemoryFileDB } from './lib/inMemFileDB.js';\nexport { RedisHandler } from './lib/redisHandler.js';\nexport { tools } from '@iobroker/js-controller-common-db';\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;;;yBAA+B;AAC/B,0BAA6B;AAC7B,qCAAsB;",
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAAA,yBAA+B;AAC/B,0BAA6B;AAC7B,qCAAsB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/lib/constants.ts"],
|
|
4
4
|
"sourcesContent": ["// @ts-expect-error types missing\nimport Resp from 'respjs';\n\nexport const QUEUED_STR_BUF: Buffer = Resp.encodeString('QUEUED');\nexport const OK_STR_BUF: Buffer = Resp.encodeString('OK');\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AACA,oBAAiB;AAEV,MAAM,iBAAyB,cAAAA,QAAK,aAAa,QAAQ;AACzD,MAAM,aAAqB,cAAAA,QAAK,aAAa,IAAI;",
|
|
6
6
|
"names": ["Resp"]
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -52,10 +56,15 @@ class InMemoryFileDB {
|
|
|
52
56
|
this.callbackSubscriptionClient = {};
|
|
53
57
|
this.settings.backup = this.settings.connection.backup || {
|
|
54
58
|
disabled: false,
|
|
59
|
+
// deactivates
|
|
55
60
|
files: 24,
|
|
61
|
+
// minimum number of files
|
|
56
62
|
hours: 48,
|
|
63
|
+
// hours
|
|
57
64
|
period: 120,
|
|
65
|
+
// minutes
|
|
58
66
|
path: ""
|
|
67
|
+
// use default path
|
|
59
68
|
};
|
|
60
69
|
this.dataDir = this.settings.connection.dataDir || import_js_controller_common_db.tools.getDefaultDataDir();
|
|
61
70
|
if (!import_node_path.default.isAbsolute(this.dataDir)) {
|
|
@@ -83,12 +92,24 @@ class InMemoryFileDB {
|
|
|
83
92
|
async open() {
|
|
84
93
|
this.dataset = await this.loadDataset(this.datasetName);
|
|
85
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Loads a dataset file
|
|
97
|
+
*
|
|
98
|
+
* @param datasetName Filename of the file to load
|
|
99
|
+
* @returns obj read data, normally as object
|
|
100
|
+
*/
|
|
86
101
|
async loadDatasetFile(datasetName) {
|
|
87
102
|
if (!await import_fs_extra.default.pathExists(datasetName)) {
|
|
88
103
|
throw new Error(`Database file ${datasetName} does not exists.`);
|
|
89
104
|
}
|
|
90
105
|
return import_fs_extra.default.readJSON(datasetName);
|
|
91
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Loads the dataset including pot. Fallback handling
|
|
109
|
+
*
|
|
110
|
+
* @param datasetName Filename of the file to load
|
|
111
|
+
* @returns obj dataset read as object
|
|
112
|
+
*/
|
|
92
113
|
async loadDataset(datasetName) {
|
|
93
114
|
let ret = {};
|
|
94
115
|
try {
|
|
@@ -205,7 +226,7 @@ class InMemoryFileDB {
|
|
|
205
226
|
if (!file) {
|
|
206
227
|
continue;
|
|
207
228
|
}
|
|
208
|
-
const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace("-", ":")}:00`).getTime();
|
|
229
|
+
const ms = (/* @__PURE__ */ new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace("-", ":")}:00`)).getTime();
|
|
209
230
|
if (limit > ms) {
|
|
210
231
|
try {
|
|
211
232
|
import_fs_extra.default.unlinkSync(import_node_path.default.join(this.backupDir, file));
|
|
@@ -240,6 +261,9 @@ class InMemoryFileDB {
|
|
|
240
261
|
text += v.toString();
|
|
241
262
|
return text;
|
|
242
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Handle saving the dataset incl. backups
|
|
266
|
+
*/
|
|
243
267
|
async saveState() {
|
|
244
268
|
try {
|
|
245
269
|
const jsonString = await this.saveDataset();
|
|
@@ -253,6 +277,11 @@ class InMemoryFileDB {
|
|
|
253
277
|
}
|
|
254
278
|
}
|
|
255
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Saves the dataset into File incl. handling of a fallback backup file
|
|
282
|
+
*
|
|
283
|
+
* @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file
|
|
284
|
+
*/
|
|
256
285
|
async saveDataset() {
|
|
257
286
|
const jsonString = JSON.stringify(this.dataset);
|
|
258
287
|
try {
|
|
@@ -296,6 +325,11 @@ class InMemoryFileDB {
|
|
|
296
325
|
}
|
|
297
326
|
return jsonString;
|
|
298
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Stores a compressed backup of the DB in definable intervals
|
|
330
|
+
*
|
|
331
|
+
* @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file
|
|
332
|
+
*/
|
|
299
333
|
saveBackup(jsonString) {
|
|
300
334
|
const now = Date.now();
|
|
301
335
|
if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {
|
|
@@ -346,6 +380,7 @@ class InMemoryFileDB {
|
|
|
346
380
|
}
|
|
347
381
|
return publishCount;
|
|
348
382
|
}
|
|
383
|
+
// Destructor of the class. Called by shutting down.
|
|
349
384
|
async destroy() {
|
|
350
385
|
if (this.stateTimer) {
|
|
351
386
|
clearTimeout(this.stateTimer);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/lib/inMemFileDB.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * States DB in memory - Server\n *\n * Copyright 2013-2024 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n */\n\nimport fs from 'fs-extra';\nimport path from 'node:path';\nimport { tools } from '@iobroker/js-controller-common-db';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\nimport { createGzip } from 'node:zlib';\n\n// settings = {\n// change: function (id, state) {},\n// connected: function (nameOfServer) {},\n// logger: {\n// silly: function (msg) {},\n// debug: function (msg) {},\n// info: function (msg) {},\n// warn: function (msg) {},\n// error: function (msg) {}\n// },\n// connection: {\n// dataDir: 'relative path'\n// },\n// auth: null, //unused\n// secure: true/false,\n// certificates: as required by createServer\n// port: 9000,\n// host: localhost\n// };\n//\n\nexport interface ConnectionOptions {\n pass?: string;\n sentinelName?: string;\n /** array on sentinel */\n host: string | string[];\n /** array on sentinel */\n port: number | number[];\n options: Record<string, any>;\n maxQueue?: number;\n enhancedLogging?: boolean;\n backup?: BackupOptions;\n /** relative path to the data dir */\n dataDir: string;\n}\n\ntype ChangeFunction = (id: string, state: any) => void;\n\nexport interface DbStatus {\n type: string;\n server: boolean;\n}\n\ninterface BackupOptions {\n /** deactivates backup if true */\n disabled: boolean;\n /** minimum number of files */\n files: number;\n hours: number;\n /** minutes */\n period: number;\n path: string;\n}\n\nexport interface DbOptions {\n backupDirName: string;\n fileName: string;\n}\n\ninterface FileDbSettings {\n fileDB: DbOptions;\n jsonlDB: DbOptions;\n backup: BackupOptions;\n change?: ChangeFunction;\n connected: (nameOfServer: string) => void;\n logger: InternalLogger;\n connection: ConnectionOptions;\n /** unused */\n auth?: null;\n secure: boolean;\n /** as required by createServer TODO: if createServer is typed, add type */\n certificates: any;\n port: number;\n host: string;\n /** logging namespace */\n namespace?: string;\n}\n\ninterface Subscription {\n pattern: string;\n regex: RegExp;\n options: any;\n}\n\ninterface SubscriptionClient {\n _subscribe?: Record<string, Subscription[]>;\n}\n\n/**\n * The parent of the class structure, which provides basic JSON storage\n * and general subscription and publish functionality\n */\nexport class InMemoryFileDB {\n private settings: FileDbSettings;\n private readonly change: ChangeFunction | undefined;\n protected dataset: Record<string, any>;\n private readonly namespace: string;\n private lastSave: null | number;\n private stateTimer: NodeJS.Timeout | null;\n private callbackSubscriptionClient: SubscriptionClient;\n private readonly dataDir: string;\n private readonly datasetName: string;\n private log: InternalLogger;\n private readonly backupDir: string;\n\n constructor(settings: FileDbSettings) {\n this.settings = settings || {};\n\n this.change = this.settings.change;\n\n this.dataset = {};\n\n this.namespace = this.settings.namespace || '';\n this.lastSave = null;\n this.callbackSubscriptionClient = {};\n\n this.settings.backup = this.settings.connection.backup || {\n disabled: false, // deactivates\n files: 24, // minimum number of files\n hours: 48, // hours\n period: 120, // minutes\n path: '', // use default path\n };\n\n this.dataDir = this.settings.connection.dataDir || tools.getDefaultDataDir();\n if (!path.isAbsolute(this.dataDir)) {\n this.dataDir = path.normalize(path.join(tools.getControllerDir(), this.dataDir));\n }\n this.dataDir = this.dataDir.replace(/\\\\/g, '/');\n\n const fileName = this.settings.jsonlDB ? this.settings.jsonlDB.fileName : this.settings.fileDB.fileName;\n this.datasetName = path.join(this.dataDir, fileName);\n const parts = path.dirname(this.datasetName);\n fs.ensureDirSync(parts);\n\n this.stateTimer = null;\n\n this.backupDir = this.settings.backup.path || path.join(this.dataDir, this.settings.fileDB.backupDirName);\n\n this.log = tools.getLogger(this.settings.logger);\n\n if (!this.settings.backup.disabled) {\n try {\n this.initBackupDir();\n } catch (e) {\n this.log.error(\n `Database backups are disabled, because backup directory could not be initialized: ${e.message}`,\n );\n this.log.error(\n 'This leads to an increased risk of data loss, please check that the configured backup directory is available and restart the controller',\n );\n this.settings.backup.disabled = true;\n }\n }\n\n this.log.debug(`${this.namespace} Data File: ${this.datasetName}`);\n }\n\n async open(): Promise<void> {\n // load values from file\n this.dataset = await this.loadDataset(this.datasetName);\n }\n\n /**\n * Loads a dataset file\n *\n * @param datasetName Filename of the file to load\n * @returns obj read data, normally as object\n */\n async loadDatasetFile(datasetName: string): Promise<Record<string, any>> {\n if (!(await fs.pathExists(datasetName))) {\n throw new Error(`Database file ${datasetName} does not exists.`);\n }\n return fs.readJSON(datasetName);\n }\n\n /**\n * Loads the dataset including pot. Fallback handling\n *\n * @param datasetName Filename of the file to load\n * @returns obj dataset read as object\n */\n async loadDataset(datasetName: string): Promise<Record<string, any>> {\n let ret = {};\n try {\n ret = await this.loadDatasetFile(datasetName);\n\n // loading worked, make sure that \"bak\" File is not broken\n try {\n await fs.readJSON(`${datasetName}.bak`);\n } catch (e) {\n this.log.info(\n `${this.namespace} Rewrite bak file, because error on verify ${datasetName}.bak: ${e.message}`,\n );\n try {\n const jsonString = JSON.stringify(ret);\n await fs.writeFile(`${datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${datasetName}.bak: ${e.message}`);\n }\n }\n } catch (err) {\n this.log.error(`${this.namespace} Cannot load ${datasetName}: ${err.message}. We try last Backup!`);\n\n try {\n ret = await this.loadDatasetFile(`${datasetName}.bak`);\n\n // it worked, lets overwrite old file and store the broken one for pot. forensic check\n try {\n if (await fs.pathExists(datasetName)) {\n try {\n await fs.move(datasetName, `${datasetName}.broken`, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot copy the broken file ${datasetName} to ${datasetName}.broken ${e.message}`,\n );\n }\n try {\n await fs.writeFile(datasetName, JSON.stringify(ret));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot restore backup file as new main ${datasetName}: ${e.message}`,\n );\n }\n }\n } catch {\n // ignore, file does not exist\n }\n } catch (err) {\n this.log.error(\n `${this.namespace} Cannot load ${datasetName}.bak: ${err.message}. Continue with empty dataset!`,\n );\n this.log.error(\n `${this.namespace} If this is no Migration or initial start please restore the last backup from ${this.backupDir}`,\n );\n }\n }\n return ret;\n }\n\n initBackupDir(): void {\n // Interval in minutes => to milliseconds\n this.settings.backup.period =\n this.settings.backup.period === undefined ? 120 : parseInt(String(this.settings.backup.period));\n if (isNaN(this.settings.backup.period)) {\n this.settings.backup.period = 120;\n }\n // Node.js timeouts overflow after roughly 24 days, defaulting to 1 millisecond, which causes chaos.\n // If a user configured the backup this way, we use our default of 120 minutes instead.\n const maxTimeoutMinutes = Math.floor((2 ** 31 - 1) / 60000);\n if (this.settings.backup.period > maxTimeoutMinutes) {\n this.log.warn(\n `${this.namespace} Configured backup period ${this.settings.backup.period} is larger than the supported maximum of ${maxTimeoutMinutes} minutes. Defaulting to 120 minutes.`,\n );\n this.settings.backup.period = 120;\n }\n this.settings.backup.period *= 60_000;\n\n this.settings.backup.files =\n this.settings.backup.files === undefined ? 24 : parseInt(String(this.settings.backup.files));\n if (isNaN(this.settings.backup.files)) {\n this.settings.backup.files = 24;\n }\n\n this.settings.backup.hours =\n this.settings.backup.hours === undefined ? 48 : parseInt(String(this.settings.backup.hours));\n if (isNaN(this.settings.backup.hours)) {\n this.settings.backup.hours = 48;\n }\n // Create backup directory\n fs.ensureDirSync(this.backupDir);\n }\n\n handleSubscribe(client: SubscriptionClient, type: string, pattern: string | string[], cb?: () => void): void;\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void;\n\n handleSubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n options: any,\n cb?: () => void,\n ): void {\n if (typeof options === 'function') {\n cb = options;\n options = undefined;\n }\n client._subscribe = client._subscribe || {};\n client._subscribe[type] = client._subscribe[type] || [];\n\n const s = client._subscribe[type];\n\n if (pattern instanceof Array) {\n pattern.forEach(pattern => {\n if (s.find(sub => sub.pattern === pattern)) {\n return;\n }\n\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n });\n } else {\n if (!s.find(sub => sub.pattern === pattern)) {\n s.push({ pattern, regex: new RegExp(tools.pattern2RegEx(pattern)), options });\n }\n }\n\n typeof cb === 'function' && cb();\n }\n\n handleUnsubscribe(\n client: SubscriptionClient,\n type: string,\n pattern: string | string[],\n cb?: () => void,\n ): void | Promise<void> {\n const s = client?._subscribe?.[type];\n if (s) {\n const removeEntry = (p: string): void => {\n const index = s.findIndex(sub => sub.pattern === p);\n if (index > -1) {\n s.splice(index, 1);\n }\n };\n\n if (pattern instanceof Array) {\n pattern.forEach(p => {\n removeEntry(p);\n });\n } else {\n removeEntry(pattern);\n }\n }\n\n return tools.maybeCallback(cb);\n }\n\n publishToClients(_client: SubscriptionClient, _type: string, _id: string, _obj: any): number {\n throw new Error('no communication handling implemented');\n }\n\n deleteOldBackupFiles(baseFilename: string): void {\n // delete files only if settings.backupNumber is not 0\n let files = fs.readdirSync(this.backupDir);\n files.sort();\n const limit = Date.now() - this.settings.backup.hours * 3600000;\n\n files = files.filter(f => f.endsWith(`${baseFilename}.gz`));\n\n while (files.length > this.settings.backup.files) {\n const file = files.shift();\n if (!file) {\n continue;\n }\n // extract time\n const ms = new Date(`${file.substring(0, 10)} ${file.substring(11, 16).replace('-', ':')}:00`).getTime();\n if (limit > ms) {\n try {\n fs.unlinkSync(path.join(this.backupDir, file));\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot delete file \"${path.join(this.backupDir, file)}: ${e.message}`,\n );\n }\n }\n }\n }\n\n getTimeStr(date: number): string {\n const dateObj = new Date(date);\n\n let text = `${dateObj.getFullYear().toString()}-`;\n let v = dateObj.getMonth() + 1;\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getDate();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}_`;\n\n v = dateObj.getHours();\n if (v < 10) {\n text += '0';\n }\n text += `${v.toString()}-`;\n\n v = dateObj.getMinutes();\n if (v < 10) {\n text += '0';\n }\n text += v.toString();\n\n return text;\n }\n\n /**\n * Handle saving the dataset incl. backups\n */\n async saveState(): Promise<void> {\n try {\n const jsonString = await this.saveDataset();\n\n if (!this.settings.backup.disabled && jsonString) {\n this.saveBackup(jsonString);\n }\n } finally {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n this.stateTimer = null;\n }\n }\n }\n\n /**\n * Saves the dataset into File incl. handling of a fallback backup file\n *\n * @returns dataset JSON string of the complete dataset to also be stored into a compressed backup file\n */\n async saveDataset(): Promise<string> {\n const jsonString = JSON.stringify(this.dataset);\n\n try {\n await fs.writeFile(`${this.datasetName}.new`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save Dataset to ${this.datasetName}.new: ${e.message}`);\n return jsonString;\n }\n\n let bakOk = true;\n try {\n if (await fs.pathExists(this.datasetName)) {\n try {\n await fs.move(this.datasetName, `${this.datasetName}.bak`, { overwrite: true });\n } catch (e) {\n bakOk = false;\n this.log.error(`${this.namespace} Cannot backup file ${this.datasetName}.bak: ${e.message}`);\n }\n } else {\n bakOk = false;\n }\n } catch {\n bakOk = false;\n // ignore, file does not exist\n }\n\n try {\n await fs.move(`${this.datasetName}.new`, this.datasetName, { overwrite: true });\n } catch (e) {\n this.log.error(\n `${this.namespace} Cannot move ${this.datasetName}.new to ${this.datasetName}: ${e.message}. Try direct write as fallback`,\n );\n try {\n await fs.writeFile(this.datasetName, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot directly write Dataset to ${this.datasetName}: ${e.message}`);\n return jsonString;\n }\n }\n\n if (!bakOk) {\n // it seems the bak File is not successfully there, write current content again\n try {\n await fs.writeFile(`${this.datasetName}.bak`, jsonString);\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}.bak: ${e.message}`);\n }\n }\n\n return jsonString;\n }\n\n /**\n * Stores a compressed backup of the DB in definable intervals\n *\n * @param jsonString JSON string of the complete dataset to also be stored into a compressed backup file\n */\n saveBackup(jsonString: string): void {\n // save files for the last x hours\n const now = Date.now();\n\n // makes backups only if settings.backupInterval is not 0\n if (this.settings.backup.period && (!this.lastSave || now - this.lastSave > this.settings.backup.period)) {\n this.lastSave = now;\n const backFileName = path.join(\n this.backupDir,\n `${this.getTimeStr(now)}_${this.settings.fileDB.fileName}.gz`,\n );\n\n try {\n if (!fs.existsSync(backFileName)) {\n const output = fs.createWriteStream(backFileName);\n output.on('error', err => {\n this.log.error(`${this.namespace} Cannot save ${this.datasetName}: ${err.stack}`);\n });\n\n const compress = createGzip();\n /* The following line will pipe everything written into compress to the file stream */\n compress.pipe(output);\n /* Since we're piped through the file stream, the following line will do:\n 'Hello World!'->gzip compression->file which is the desired effect */\n compress.write(jsonString);\n compress.end();\n\n // analyse older files\n this.deleteOldBackupFiles(this.settings.fileDB.fileName);\n }\n } catch (e) {\n this.log.error(`${this.namespace} Cannot save backup ${backFileName}: ${e.message}`);\n }\n }\n }\n\n getStatus(): DbStatus {\n return { type: 'file', server: true };\n }\n\n getClients(): Record<string, any> {\n return {};\n }\n\n publishAll(type: string, id: string, obj: any): number {\n if (id === undefined) {\n this.log.error(`${this.namespace} Can not publish empty ID`);\n return 0;\n }\n\n const clients = this.getClients();\n let publishCount = 0;\n\n if (clients && typeof clients === 'object') {\n for (const i of Object.keys(clients)) {\n publishCount += this.publishToClients(clients[i], type, id, obj);\n }\n }\n\n // local subscriptions\n if (\n this.change &&\n this.callbackSubscriptionClient._subscribe &&\n this.callbackSubscriptionClient._subscribe[type]\n ) {\n for (const entry of this.callbackSubscriptionClient._subscribe[type]) {\n if (entry.regex.test(id)) {\n // @ts-expect-error we have checked 3 lines above\n setImmediate(() => this.change(id, obj));\n break;\n }\n }\n }\n\n return publishCount;\n }\n\n // Destructor of the class. Called by shutting down.\n async destroy(): Promise<void> {\n if (this.stateTimer) {\n clearTimeout(this.stateTimer);\n await this.saveState();\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AASA,sBAAe;AACf,uBAAiB;AACjB,qCAAsB;AAEtB,uBAA2B;AA8FrB,MAAO,eAAc;EACf;EACS;EACP;EACO;EACT;EACA;EACA;EACS;EACA;EACT;EACS;EAEjB,YAAY,UAAwB;AAChC,SAAK,WAAW,YAAY,CAAA;AAE5B,SAAK,SAAS,KAAK,SAAS;AAE5B,SAAK,UAAU,CAAA;AAEf,SAAK,YAAY,KAAK,SAAS,aAAa;AAC5C,SAAK,WAAW;AAChB,SAAK,6BAA6B,CAAA;AAElC,SAAK,SAAS,SAAS,KAAK,SAAS,WAAW,UAAU;MACtD,UAAU;;MACV,OAAO;;MACP,OAAO;;MACP,QAAQ;;MACR,MAAM;;;AAGV,SAAK,UAAU,KAAK,SAAS,WAAW,WAAW,qCAAM,kBAAiB;AAC1E,QAAI,CAAC,iBAAAA,QAAK,WAAW,KAAK,OAAO,GAAG;AAChC,WAAK,UAAU,iBAAAA,QAAK,UAAU,iBAAAA,QAAK,KAAK,qCAAM,iBAAgB,GAAI,KAAK,OAAO,CAAC;IACnF;AACA,SAAK,UAAU,KAAK,QAAQ,QAAQ,OAAO,GAAG;AAE9C,UAAM,WAAW,KAAK,SAAS,UAAU,KAAK,SAAS,QAAQ,WAAW,KAAK,SAAS,OAAO;AAC/F,SAAK,cAAc,iBAAAA,QAAK,KAAK,KAAK,SAAS,QAAQ;AACnD,UAAM,QAAQ,iBAAAA,QAAK,QAAQ,KAAK,WAAW;AAC3C,oBAAAC,QAAG,cAAc,KAAK;AAEtB,SAAK,aAAa;AAElB,SAAK,YAAY,KAAK,SAAS,OAAO,QAAQ,iBAAAD,QAAK,KAAK,KAAK,SAAS,KAAK,SAAS,OAAO,aAAa;AAExG,SAAK,MAAM,qCAAM,UAAU,KAAK,SAAS,MAAM;AAE/C,QAAI,CAAC,KAAK,SAAS,OAAO,UAAU;AAChC,UAAI;AACA,aAAK,cAAa;MACtB,SAAS,GAAG;AACR,aAAK,IAAI,MACL,qFAAqF,EAAE,OAAO,EAAE;AAEpG,aAAK,IAAI,MACL,yIAAyI;AAE7I,aAAK,SAAS,OAAO,WAAW;MACpC;IACJ;AAEA,SAAK,IAAI,MAAM,GAAG,KAAK,SAAS,eAAe,KAAK,WAAW,EAAE;EACrE;EAEA,MAAM,OAAI;AAEN,SAAK,UAAU,MAAM,KAAK,YAAY,KAAK,WAAW;EAC1D;;;;;;;EAQA,MAAM,gBAAgB,aAAmB;AACrC,QAAI,CAAE,MAAM,gBAAAC,QAAG,WAAW,WAAW,GAAI;AACrC,YAAM,IAAI,MAAM,iBAAiB,WAAW,mBAAmB;IACnE;AACA,WAAO,gBAAAA,QAAG,SAAS,WAAW;EAClC;;;;;;;EAQA,MAAM,YAAY,aAAmB;AACjC,QAAI,MAAM,CAAA;AACV,QAAI;AACA,YAAM,MAAM,KAAK,gBAAgB,WAAW;AAG5C,UAAI;AACA,cAAM,gBAAAA,QAAG,SAAS,GAAG,WAAW,MAAM;MAC1C,SAAS,GAAG;AACR,aAAK,IAAI,KACL,GAAG,KAAK,SAAS,8CAA8C,WAAW,SAAS,EAAE,OAAO,EAAE;AAElG,YAAI;AACA,gBAAM,aAAa,KAAK,UAAU,GAAG;AACrC,gBAAM,gBAAAA,QAAG,UAAU,GAAG,WAAW,QAAQ,UAAU;QACvD,SAASC,IAAG;AACR,eAAK,IAAI,MAAM,GAAG,KAAK,SAAS,gBAAgB,WAAW,SAASA,GAAE,OAAO,EAAE;QACnF;MACJ;IACJ,SAAS,KAAK;AACV,WAAK,IAAI,MAAM,GAAG,KAAK,SAAS,gBAAgB,WAAW,KAAK,IAAI,OAAO,uBAAuB;AAElG,UAAI;AACA,cAAM,MAAM,KAAK,gBAAgB,GAAG,WAAW,MAAM;AAGrD,YAAI;AACA,cAAI,MAAM,gBAAAD,QAAG,WAAW,WAAW,GAAG;AAClC,gBAAI;AACA,oBAAM,gBAAAA,QAAG,KAAK,aAAa,GAAG,WAAW,WAAW,EAAE,WAAW,KAAI,CAAE;YAC3E,SAAS,GAAG;AACR,mBAAK,IAAI,MACL,GAAG,KAAK,SAAS,gCAAgC,WAAW,OAAO,WAAW,WAAW,EAAE,OAAO,EAAE;YAE5G;AACA,gBAAI;AACA,oBAAM,gBAAAA,QAAG,UAAU,aAAa,KAAK,UAAU,GAAG,CAAC;YACvD,SAAS,GAAG;AACR,mBAAK,IAAI,MACL,GAAG,KAAK,SAAS,2CAA2C,WAAW,KAAK,EAAE,OAAO,EAAE;YAE/F;UACJ;QACJ,QAAQ;QAER;MACJ,SAASE,MAAK;AACV,aAAK,IAAI,MACL,GAAG,KAAK,SAAS,gBAAgB,WAAW,SAASA,KAAI,OAAO,gCAAgC;AAEpG,aAAK,IAAI,MACL,GAAG,KAAK,SAAS,iFAAiF,KAAK,SAAS,EAAE;MAE1H;IACJ;AACA,WAAO;EACX;EAEA,gBAAa;AAET,SAAK,SAAS,OAAO,SACjB,KAAK,SAAS,OAAO,WAAW,SAAY,MAAM,SAAS,OAAO,KAAK,SAAS,OAAO,MAAM,CAAC;AAClG,QAAI,MAAM,KAAK,SAAS,OAAO,MAAM,GAAG;AACpC,WAAK,SAAS,OAAO,SAAS;IAClC;AAGA,UAAM,oBAAoB,KAAK,OAAO,KAAK,KAAK,KAAK,GAAK;AAC1D,QAAI,KAAK,SAAS,OAAO,SAAS,mBAAmB;AACjD,WAAK,IAAI,KACL,GAAG,KAAK,SAAS,6BAA6B,KAAK,SAAS,OAAO,MAAM,4CAA4C,iBAAiB,sCAAsC;AAEhL,WAAK,SAAS,OAAO,SAAS;IAClC;AACA,SAAK,SAAS,OAAO,UAAU;AAE/B,SAAK,SAAS,OAAO,QACjB,KAAK,SAAS,OAAO,UAAU,SAAY,KAAK,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK,CAAC;AAC/F,QAAI,MAAM,KAAK,SAAS,OAAO,KAAK,GAAG;AACnC,WAAK,SAAS,OAAO,QAAQ;IACjC;AAEA,SAAK,SAAS,OAAO,QACjB,KAAK,SAAS,OAAO,UAAU,SAAY,KAAK,SAAS,OAAO,KAAK,SAAS,OAAO,KAAK,CAAC;AAC/F,QAAI,MAAM,KAAK,SAAS,OAAO,KAAK,GAAG;AACnC,WAAK,SAAS,OAAO,QAAQ;IACjC;AAEA,oBAAAF,QAAG,cAAc,KAAK,SAAS;EACnC;EAWA,gBACI,QACA,MACA,SACA,SACA,IAAe;AAEf,QAAI,OAAO,YAAY,YAAY;AAC/B,WAAK;AACL,gBAAU;IACd;AACA,WAAO,aAAa,OAAO,cAAc,CAAA;AACzC,WAAO,WAAW,IAAI,IAAI,OAAO,WAAW,IAAI,KAAK,CAAA;AAErD,UAAM,IAAI,OAAO,WAAW,IAAI;AAEhC,QAAI,mBAAmB,OAAO;AAC1B,cAAQ,QAAQ,CAAAG,aAAU;AACtB,YAAI,EAAE,KAAK,SAAO,IAAI,YAAYA,QAAO,GAAG;AACxC;QACJ;AAEA,UAAE,KAAK,EAAE,SAAAA,UAAS,OAAO,IAAI,OAAO,qCAAM,cAAcA,QAAO,CAAC,GAAG,QAAO,CAAE;MAChF,CAAC;IACL,OAAO;AACH,UAAI,CAAC,EAAE,KAAK,SAAO,IAAI,YAAY,OAAO,GAAG;AACzC,UAAE,KAAK,EAAE,SAAS,OAAO,IAAI,OAAO,qCAAM,cAAc,OAAO,CAAC,GAAG,QAAO,CAAE;MAChF;IACJ;AAEA,WAAO,OAAO,cAAc,GAAE;EAClC;EAEA,kBACI,QACA,MACA,SACA,IAAe;AAEf,UAAM,IAAI,QAAQ,aAAa,IAAI;AACnC,QAAI,GAAG;AACH,YAAM,cAAc,CAAC,MAAmB;AACpC,cAAM,QAAQ,EAAE,UAAU,SAAO,IAAI,YAAY,CAAC;AAClD,YAAI,QAAQ,IAAI;AACZ,YAAE,OAAO,OAAO,CAAC;QACrB;MACJ;AAEA,UAAI,mBAAmB,OAAO;AAC1B,gBAAQ,QAAQ,OAAI;AAChB,sBAAY,CAAC;QACjB,CAAC;MACL,OAAO;AACH,oBAAY,OAAO;MACvB;IACJ;AAEA,WAAO,qCAAM,cAAc,EAAE;EACjC;EAEA,iBAAiB,SAA6B,OAAe,KAAa,MAAS;AAC/E,UAAM,IAAI,MAAM,uCAAuC;EAC3D;EAEA,qBAAqB,cAAoB;AAErC,QAAI,QAAQ,gBAAAH,QAAG,YAAY,KAAK,SAAS;AACzC,UAAM,KAAI;AACV,UAAM,QAAQ,KAAK,IAAG,IAAK,KAAK,SAAS,OAAO,QAAQ;AAExD,YAAQ,MAAM,OAAO,OAAK,EAAE,SAAS,GAAG,YAAY,KAAK,CAAC;AAE1D,WAAO,MAAM,SAAS,KAAK,SAAS,OAAO,OAAO;AAC9C,YAAM,OAAO,MAAM,MAAK;AACxB,UAAI,CAAC,MAAM;AACP;MACJ;AAEA,YAAM,MAAK,oBAAI,KAAK,GAAG,KAAK,UAAU,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,EAAE,QAAQ,KAAK,GAAG,CAAC,KAAK,GAAE,QAAO;AACtG,UAAI,QAAQ,IAAI;AACZ,YAAI;AACA,0BAAAA,QAAG,WAAW,iBAAAD,QAAK,KAAK,KAAK,WAAW,IAAI,CAAC;QACjD,SAAS,GAAG;AACR,eAAK,IAAI,MACL,GAAG,KAAK,SAAS,wBAAwB,iBAAAA,QAAK,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;QAEhG;MACJ;IACJ;EACJ;EAEA,WAAW,MAAY;AACnB,UAAM,UAAU,IAAI,KAAK,IAAI;AAE7B,QAAI,OAAO,GAAG,QAAQ,YAAW,EAAG,SAAQ,CAAE;AAC9C,QAAI,IAAI,QAAQ,SAAQ,IAAK;AAC7B,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,GAAG,EAAE,SAAQ,CAAE;AAEvB,QAAI,QAAQ,QAAO;AACnB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,GAAG,EAAE,SAAQ,CAAE;AAEvB,QAAI,QAAQ,SAAQ;AACpB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,GAAG,EAAE,SAAQ,CAAE;AAEvB,QAAI,QAAQ,WAAU;AACtB,QAAI,IAAI,IAAI;AACR,cAAQ;IACZ;AACA,YAAQ,EAAE,SAAQ;AAElB,WAAO;EACX;;;;EAKA,MAAM,YAAS;AACX,QAAI;AACA,YAAM,aAAa,MAAM,KAAK,YAAW;AAEzC,UAAI,CAAC,KAAK,SAAS,OAAO,YAAY,YAAY;AAC9C,aAAK,WAAW,UAAU;MAC9B;IACJ;AACI,UAAI,KAAK,YAAY;AACjB,qBAAa,KAAK,UAAU;AAC5B,aAAK,aAAa;MACtB;IACJ;EACJ;;;;;;EAOA,MAAM,cAAW;AACb,UAAM,aAAa,KAAK,UAAU,KAAK,OAAO;AAE9C,QAAI;AACA,YAAM,gBAAAC,QAAG,UAAU,GAAG,KAAK,WAAW,QAAQ,UAAU;IAC5D,SAAS,GAAG;AACR,WAAK,IAAI,MAAM,GAAG,KAAK,SAAS,2BAA2B,KAAK,WAAW,SAAS,EAAE,OAAO,EAAE;AAC/F,aAAO;IACX;AAEA,QAAI,QAAQ;AACZ,QAAI;AACA,UAAI,MAAM,gBAAAA,QAAG,WAAW,KAAK,WAAW,GAAG;AACvC,YAAI;AACA,gBAAM,gBAAAA,QAAG,KAAK,KAAK,aAAa,GAAG,KAAK,WAAW,QAAQ,EAAE,WAAW,KAAI,CAAE;QAClF,SAAS,GAAG;AACR,kBAAQ;AACR,eAAK,IAAI,MAAM,GAAG,KAAK,SAAS,uBAAuB,KAAK,WAAW,SAAS,EAAE,OAAO,EAAE;QAC/F;MACJ,OAAO;AACH,gBAAQ;MACZ;IACJ,QAAQ;AACJ,cAAQ;IAEZ;AAEA,QAAI;AACA,YAAM,gBAAAA,QAAG,KAAK,GAAG,KAAK,WAAW,QAAQ,KAAK,aAAa,EAAE,WAAW,KAAI,CAAE;IAClF,SAAS,GAAG;AACR,WAAK,IAAI,MACL,GAAG,KAAK,SAAS,gBAAgB,KAAK,WAAW,WAAW,KAAK,WAAW,KAAK,EAAE,OAAO,gCAAgC;AAE9H,UAAI;AACA,cAAM,gBAAAA,QAAG,UAAU,KAAK,aAAa,UAAU;MACnD,SAASC,IAAG;AACR,aAAK,IAAI,MAAM,GAAG,KAAK,SAAS,qCAAqC,KAAK,WAAW,KAAKA,GAAE,OAAO,EAAE;AACrG,eAAO;MACX;IACJ;AAEA,QAAI,CAAC,OAAO;AAER,UAAI;AACA,cAAM,gBAAAD,QAAG,UAAU,GAAG,KAAK,WAAW,QAAQ,UAAU;MAC5D,SAAS,GAAG;AACR,aAAK,IAAI,MAAM,GAAG,KAAK,SAAS,gBAAgB,KAAK,WAAW,SAAS,EAAE,OAAO,EAAE;MACxF;IACJ;AAEA,WAAO;EACX;;;;;;EAOA,WAAW,YAAkB;AAEzB,UAAM,MAAM,KAAK,IAAG;AAGpB,QAAI,KAAK,SAAS,OAAO,WAAW,CAAC,KAAK,YAAY,MAAM,KAAK,WAAW,KAAK,SAAS,OAAO,SAAS;AACtG,WAAK,WAAW;AAChB,YAAM,eAAe,iBAAAD,QAAK,KACtB,KAAK,WACL,GAAG,KAAK,WAAW,GAAG,CAAC,IAAI,KAAK,SAAS,OAAO,QAAQ,KAAK;AAGjE,UAAI;AACA,YAAI,CAAC,gBAAAC,QAAG,WAAW,YAAY,GAAG;AAC9B,gBAAM,SAAS,gBAAAA,QAAG,kBAAkB,YAAY;AAChD,iBAAO,GAAG,SAAS,SAAM;AACrB,iBAAK,IAAI,MAAM,GAAG,KAAK,SAAS,gBAAgB,KAAK,WAAW,KAAK,IAAI,KAAK,EAAE;UACpF,CAAC;AAED,gBAAM,eAAW,6BAAU;AAE3B,mBAAS,KAAK,MAAM;AAGpB,mBAAS,MAAM,UAAU;AACzB,mBAAS,IAAG;AAGZ,eAAK,qBAAqB,KAAK,SAAS,OAAO,QAAQ;QAC3D;MACJ,SAAS,GAAG;AACR,aAAK,IAAI,MAAM,GAAG,KAAK,SAAS,uBAAuB,YAAY,KAAK,EAAE,OAAO,EAAE;MACvF;IACJ;EACJ;EAEA,YAAS;AACL,WAAO,EAAE,MAAM,QAAQ,QAAQ,KAAI;EACvC;EAEA,aAAU;AACN,WAAO,CAAA;EACX;EAEA,WAAW,MAAc,IAAY,KAAQ;AACzC,QAAI,OAAO,QAAW;AAClB,WAAK,IAAI,MAAM,GAAG,KAAK,SAAS,2BAA2B;AAC3D,aAAO;IACX;AAEA,UAAM,UAAU,KAAK,WAAU;AAC/B,QAAI,eAAe;AAEnB,QAAI,WAAW,OAAO,YAAY,UAAU;AACxC,iBAAW,KAAK,OAAO,KAAK,OAAO,GAAG;AAClC,wBAAgB,KAAK,iBAAiB,QAAQ,CAAC,GAAG,MAAM,IAAI,GAAG;MACnE;IACJ;AAGA,QACI,KAAK,UACL,KAAK,2BAA2B,cAChC,KAAK,2BAA2B,WAAW,IAAI,GACjD;AACE,iBAAW,SAAS,KAAK,2BAA2B,WAAW,IAAI,GAAG;AAClE,YAAI,MAAM,MAAM,KAAK,EAAE,GAAG;AAEtB,uBAAa,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC;AACvC;QACJ;MACJ;IACJ;AAEA,WAAO;EACX;;EAGA,MAAM,UAAO;AACT,QAAI,KAAK,YAAY;AACjB,mBAAa,KAAK,UAAU;AAC5B,YAAM,KAAK,UAAS;IACxB;EACJ;;",
|
|
6
6
|
"names": ["path", "fs", "e", "err", "pattern"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
4
1
|
import type { Socket } from 'node:net';
|
|
5
2
|
import { EventEmitter } from 'node:events';
|
|
6
3
|
import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -43,6 +47,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
43
47
|
writeQueue;
|
|
44
48
|
responseId = 0;
|
|
45
49
|
resp;
|
|
50
|
+
/**
|
|
51
|
+
* Initialize and register all data handlers to send out events on new commands
|
|
52
|
+
*
|
|
53
|
+
* @param socket Network Socket/Connection
|
|
54
|
+
* @param options options objects, currently mainly for logger
|
|
55
|
+
*/
|
|
46
56
|
constructor(socket, options) {
|
|
47
57
|
super();
|
|
48
58
|
options = options || {};
|
|
@@ -89,6 +99,11 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
89
99
|
}
|
|
90
100
|
});
|
|
91
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Handle one incoming command, assign responseId and emit event to be handled
|
|
104
|
+
*
|
|
105
|
+
* @param data Array RESP data
|
|
106
|
+
*/
|
|
92
107
|
_handleCommand(data) {
|
|
93
108
|
let command = data.splice(0, 1)[0];
|
|
94
109
|
if (this.handleBuffers) {
|
|
@@ -137,6 +152,13 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
137
152
|
this.sendError(responseId, new Error(`${command} NOT SUPPORTED`));
|
|
138
153
|
}
|
|
139
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Check if the response to a certain command can be send out directly or
|
|
157
|
+
* if it needs to wait till earlier responses are ready
|
|
158
|
+
*
|
|
159
|
+
* @param responseId ID of the response
|
|
160
|
+
* @param data Buffer to send out
|
|
161
|
+
*/
|
|
140
162
|
_sendQueued(responseId, data) {
|
|
141
163
|
let idx = 0;
|
|
142
164
|
while (this.writeQueue.length && idx < this.writeQueue.length) {
|
|
@@ -165,9 +187,20 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
165
187
|
}
|
|
166
188
|
}
|
|
167
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Really write out a response to the network connection
|
|
192
|
+
*
|
|
193
|
+
* @param data Buffer to send out
|
|
194
|
+
*/
|
|
168
195
|
_write(data) {
|
|
169
196
|
this.socket.write(data);
|
|
170
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Guard to make sure a response is valid to be sent out
|
|
200
|
+
*
|
|
201
|
+
* @param responseId ID of the response
|
|
202
|
+
* @param data Buffer to send out
|
|
203
|
+
*/
|
|
171
204
|
sendResponse(responseId, data) {
|
|
172
205
|
if (responseId === null) {
|
|
173
206
|
if (this.options.enhancedLogging) {
|
|
@@ -184,14 +217,27 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
184
217
|
}
|
|
185
218
|
setImmediate(() => this._sendQueued(responseId, data));
|
|
186
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Close network connection
|
|
222
|
+
*/
|
|
187
223
|
close() {
|
|
188
224
|
this.log.silly(`${this.socketId} close Redis connection`);
|
|
189
225
|
this.stop = true;
|
|
190
226
|
this.socket.end();
|
|
191
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Return if socket/handler active or closed
|
|
230
|
+
*
|
|
231
|
+
* @returns is Handler/Connection active (not closed)
|
|
232
|
+
*/
|
|
192
233
|
isActive() {
|
|
193
234
|
return !this.stop;
|
|
194
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Encode RESP's Null value to RESP buffer and send out
|
|
238
|
+
*
|
|
239
|
+
* @param responseId ID of the response
|
|
240
|
+
*/
|
|
195
241
|
sendNull(responseId) {
|
|
196
242
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
197
243
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -201,6 +247,11 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
201
247
|
}
|
|
202
248
|
this.sendResponse(responseId, import_respjs.default.encodeNull());
|
|
203
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Encode RESP's Null Array value to RESP buffer and send out
|
|
252
|
+
*
|
|
253
|
+
* @param responseId ID of the response
|
|
254
|
+
*/
|
|
204
255
|
sendNullArray(responseId) {
|
|
205
256
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
206
257
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -210,6 +261,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
210
261
|
}
|
|
211
262
|
this.sendResponse(responseId, import_respjs.default.encodeNullArray());
|
|
212
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Encode string to RESP buffer and send out
|
|
266
|
+
*
|
|
267
|
+
* @param responseId ID od the response
|
|
268
|
+
* @param str String to encode
|
|
269
|
+
*/
|
|
213
270
|
sendString(responseId, str) {
|
|
214
271
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
215
272
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -219,6 +276,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
219
276
|
}
|
|
220
277
|
this.sendResponse(responseId, import_respjs.default.encodeString(str));
|
|
221
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Encode error object to RESP buffer and send out
|
|
281
|
+
*
|
|
282
|
+
* @param responseId ID of the response
|
|
283
|
+
* @param error Error object with error details to send out
|
|
284
|
+
*/
|
|
222
285
|
sendError(responseId, error) {
|
|
223
286
|
this.log.warn(`${this.socketId} Error from InMemDB: ${error.stack}`);
|
|
224
287
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
@@ -229,6 +292,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
229
292
|
}
|
|
230
293
|
this.sendResponse(responseId, import_respjs.default.encodeError(error));
|
|
231
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Encode integer to RESP buffer and send out
|
|
297
|
+
*
|
|
298
|
+
* @param responseId ID of the response
|
|
299
|
+
* @param num Integer to send out
|
|
300
|
+
*/
|
|
232
301
|
sendInteger(responseId, num) {
|
|
233
302
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
234
303
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -238,6 +307,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
238
307
|
}
|
|
239
308
|
this.sendResponse(responseId, import_respjs.default.encodeInteger(num));
|
|
240
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Encode RESP's bulk string to RESP buffer and send out
|
|
312
|
+
*
|
|
313
|
+
* @param responseId ID of the response
|
|
314
|
+
* @param str String to send out
|
|
315
|
+
*/
|
|
241
316
|
sendBulk(responseId, str) {
|
|
242
317
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
243
318
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -247,6 +322,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
247
322
|
}
|
|
248
323
|
this.sendResponse(responseId, import_respjs.default.encodeBulk(str));
|
|
249
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Encode RESP's bulk buffer to RESP buffer.
|
|
327
|
+
*
|
|
328
|
+
* @param responseId ID of the response
|
|
329
|
+
* @param buf Buffer to send out
|
|
330
|
+
*/
|
|
250
331
|
sendBufBulk(responseId, buf) {
|
|
251
332
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
252
333
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -256,6 +337,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
256
337
|
}
|
|
257
338
|
this.sendResponse(responseId, import_respjs.default.encodeBufBulk(buf));
|
|
258
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Encode an Array depending on the type of the elements
|
|
342
|
+
*
|
|
343
|
+
* @param arr Array to encode
|
|
344
|
+
* @returns Array with Buffers with encoded values
|
|
345
|
+
*/
|
|
259
346
|
encodeRespArray(arr) {
|
|
260
347
|
const returnArr = new Array(arr.length);
|
|
261
348
|
arr.forEach((value, i) => {
|
|
@@ -273,6 +360,12 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
273
360
|
});
|
|
274
361
|
return returnArr;
|
|
275
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Encode a array values to buffers and send out
|
|
365
|
+
*
|
|
366
|
+
* @param responseId ID of the response
|
|
367
|
+
* @param arr Array to send out
|
|
368
|
+
*/
|
|
276
369
|
sendArray(responseId, arr) {
|
|
277
370
|
for (let i = 0; i < this.activeMultiCalls.length; i++) {
|
|
278
371
|
if (this.activeMultiCalls[i].responseIds.includes(responseId)) {
|
|
@@ -282,6 +375,10 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
282
375
|
}
|
|
283
376
|
this.sendResponse(responseId, import_respjs.default.encodeArray(this.encodeRespArray(arr)));
|
|
284
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Handles a 'multi' command
|
|
380
|
+
*
|
|
381
|
+
*/
|
|
285
382
|
_handleMulti() {
|
|
286
383
|
this.activeMultiCalls.unshift({
|
|
287
384
|
responseIds: [],
|
|
@@ -290,6 +387,11 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
290
387
|
responseMap: /* @__PURE__ */ new Map()
|
|
291
388
|
});
|
|
292
389
|
}
|
|
390
|
+
/**
|
|
391
|
+
* Handles an 'exec' command
|
|
392
|
+
*
|
|
393
|
+
* @param responseId ID of the response
|
|
394
|
+
*/
|
|
293
395
|
_handleExec(responseId) {
|
|
294
396
|
if (!this.activeMultiCalls[0]) {
|
|
295
397
|
this.sendError(responseId, new Error("EXEC without MULTI"));
|
|
@@ -302,10 +404,22 @@ class RedisHandler extends import_node_events.EventEmitter {
|
|
|
302
404
|
this._sendExecResponse(multiRespObj);
|
|
303
405
|
}
|
|
304
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Builds up the exec response and sends it
|
|
409
|
+
*
|
|
410
|
+
* @param multiObj the multi object to send out
|
|
411
|
+
*/
|
|
305
412
|
_sendExecResponse(multiObj) {
|
|
306
413
|
const queuedStrArr = new Array(multiObj.responseCount).fill(import_constants.QUEUED_STR_BUF);
|
|
307
414
|
this._sendQueued(multiObj.execId, Buffer.concat([import_constants.OK_STR_BUF, ...queuedStrArr, import_respjs.default.encodeArray(Array.from(multiObj.responseMap.values()))]));
|
|
308
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Handles a multi response
|
|
418
|
+
*
|
|
419
|
+
* @param responseId ID of the response
|
|
420
|
+
* @param index index of the multi call
|
|
421
|
+
* @param buf buffer to include in response
|
|
422
|
+
*/
|
|
309
423
|
_handleMultiResponse(responseId, index, buf) {
|
|
310
424
|
this.activeMultiCalls[index].responseMap.set(responseId, buf);
|
|
311
425
|
this.activeMultiCalls[index].responseCount++;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/lib/redisHandler.ts"],
|
|
4
4
|
"sourcesContent": ["import type { Socket } from 'node:net';\n// @ts-expect-error no types\nimport Resp from 'respjs';\nimport { EventEmitter } from 'node:events';\nimport { QUEUED_STR_BUF, OK_STR_BUF } from './constants.js';\nimport type { InternalLogger } from '@iobroker/js-controller-common-db/tools';\n\ntype NestedArray<T> = T[] | NestedArray<T>[];\n\ninterface RedisHandlerOptions {\n // Logger object\n log: InternalLogger;\n // log prefix\n logScope?: string;\n // if data should be handled as buffer\n handleAsBuffers: boolean;\n // additional debug information\n enhancedLogging?: boolean;\n}\n\ninterface WriteQueueElement {\n // response id\n id: ResponseId;\n // response data, temporary false if not ready to sent yet\n data: false | Buffer;\n}\n\ninterface FullWriteQueueElement extends WriteQueueElement {\n // response data\n data: Buffer;\n}\n\ninterface MultiCallElement {\n // all response ids of the multi call\n responseIds: ResponseId[];\n // indicator if exec already called\n execCalled: boolean;\n // number of responses which are already ready\n responseCount: number;\n // all responses as a map in correct order, key is responseId, value is null if no response there yet\n responseMap: Map<ResponseId, Buffer | null>;\n // id of the exec response\n execId?: ResponseId;\n}\n\ninterface FullMultiCallElement extends MultiCallElement {\n // id of the exec response\n execId: ResponseId;\n}\n\n// null if send without id\ntype ResponseId = number | null;\n\n/**\n * Class to handle a redis connection and provide events to react on for\n * all incoming Redis commands\n */\nexport class RedisHandler extends EventEmitter {\n private readonly socket: Socket;\n private readonly logScope: string;\n private readonly handleBuffers: boolean;\n private readonly options: RedisHandlerOptions;\n private readonly log: InternalLogger;\n private readonly socketId: string;\n private initialized: boolean;\n private stop: boolean;\n private readonly activeMultiCalls: MultiCallElement[];\n private readonly writeQueue: WriteQueueElement[];\n private responseId: number = 0;\n private readonly resp: any;\n\n /**\n * Initialize and register all data handlers to send out events on new commands\n *\n * @param socket Network Socket/Connection\n * @param options options objects, currently mainly for logger\n */\n constructor(socket: Socket, options: RedisHandlerOptions) {\n super();\n\n options = options || {};\n this.options = options;\n this.log = options.log || console;\n this.logScope = options.logScope || '';\n if (this.logScope.length) {\n this.logScope += ' ';\n }\n this.socket = socket;\n\n this.socketId = `${this.logScope + socket.remoteAddress}:${socket.remotePort}`;\n this.initialized = false;\n this.stop = false;\n\n this.activeMultiCalls = [];\n this.writeQueue = [];\n\n this.handleBuffers = false;\n const respOptions: Record<string, any> = {};\n if (options.handleAsBuffers) {\n this.handleBuffers = true;\n respOptions.bufBulk = true;\n }\n this.resp = new Resp(respOptions);\n\n this.resp.on('error', (err: any) => {\n this.log.error(`${this.socketId} (Init=${this.initialized}) Redis error:${err}`);\n if (this.initialized) {\n this.sendError(null, new Error(`PARSER ERROR ${err}`)); // TODO\n } else {\n this.close();\n }\n });\n\n this.resp.on('data', (data: any) => this._handleCommand(data));\n\n socket.on('data', data => {\n if (this.options.enhancedLogging) {\n this.log.silly(\n `${this.socketId} New Redis request: ${\n data.length > 1024\n ? `${data\n .toString()\n .replace(/[\\r\\n]+/g, '')\n .substring(0, 100)} -- ${data.length} bytes`\n : data.toString().replace(/[\\r\\n]+/g, '')\n }`,\n );\n }\n this.resp.write(data);\n });\n\n socket.on('error', err => {\n if (!this.stop) {\n this.log.debug(`${this.socketId} Redis Socket error: ${err.stack}`);\n }\n if (this.socket) {\n this.socket.destroy();\n }\n });\n }\n\n /**\n * Handle one incoming command, assign responseId and emit event to be handled\n *\n * @param data Array RESP data\n */\n _handleCommand(data: any[]): void {\n let command = data.splice(0, 1)[0];\n if (this.handleBuffers) {\n // Command and pot. first parameter should always be Buffer\n command = command.toString('utf-8');\n if (Buffer.isBuffer(data[0])) {\n data[0] = data[0].toString('utf-8');\n }\n // Binary data only relevant for GET and SET in our case\n if (command !== 'set' && data.length > 1) {\n for (let i = 1; i < data.length; i++) {\n if (Buffer.isBuffer(data[i])) {\n data[i] = data[i].toString('utf-8');\n }\n }\n }\n }\n\n if (this.responseId === Number.MAX_VALUE) {\n this.responseId = 0;\n }\n const responseId = ++this.responseId;\n\n if (this.options.enhancedLogging) {\n this.log.silly(\n `${this.socketId} Parser result: id=${responseId}, command=${command}, data=${\n JSON.stringify(data).length > 1024\n ? `${JSON.stringify(data).substring(0, 100)} -- ${JSON.stringify(data).length} bytes`\n : JSON.stringify(data)\n }`,\n );\n }\n\n if (command === 'multi') {\n if (this.activeMultiCalls.length && !this.activeMultiCalls[0].execCalled) {\n // should never happen\n this.log.warn(`${this.socketId} Conflicting multi call`);\n }\n this._handleMulti();\n return;\n }\n\n // multi active and exec not called yet\n if (this.activeMultiCalls.length && !this.activeMultiCalls[0].execCalled && command !== 'exec') {\n // store all response ids so we know which need to be in the multi call\n this.activeMultiCalls[0].responseIds.push(responseId);\n // add it for the correct order will be overwritten with correct response\n this.activeMultiCalls[0].responseMap.set(responseId, null);\n } else {\n // multi response ids should not be pushed - we will answer combined\n this.writeQueue.push({ id: responseId, data: false });\n }\n\n if (command === 'exec') {\n this._handleExec(responseId);\n return;\n }\n\n if (command === 'info') {\n this.initialized = true;\n }\n\n if (this.listenerCount(command) !== 0) {\n setImmediate(() => this.emit(command, data, responseId));\n } else {\n this.sendError(responseId, new Error(`${command} NOT SUPPORTED`));\n }\n }\n\n /**\n * Check if the response to a certain command can be send out directly or\n * if it needs to wait till earlier responses are ready\n *\n * @param responseId ID of the response\n * @param data Buffer to send out\n */\n _sendQueued(responseId: ResponseId, data: Buffer): void {\n let idx = 0;\n\n while (this.writeQueue.length && idx < this.writeQueue.length) {\n // we found the queue entry that matches with the responseId, so store the data so be sent out\n if (this.writeQueue[idx].id === responseId) {\n this.writeQueue[idx].data = data;\n // if we found it not on first index we are done because we can not send it out,\n // need to wait for index 0 to have a complete answer\n if (idx > 0) {\n break;\n }\n }\n // when data for queue entry 0 are preset (!== false) we can send it, remove the first entry\n // and check the other entries if they have completed responses too\n if (idx === 0 && this.writeQueue[idx].data !== false) {\n const response = this.writeQueue.shift() as FullWriteQueueElement;\n if (this.options.enhancedLogging) {\n this.log.silly(\n `${this.socketId} Redis response (${response.id}): ${\n response.data.length > 1024\n ? `${data.length} bytes`\n : response.data.toString().replace(/[\\r\\n]+/g, '')\n }`,\n );\n }\n\n this._write(response.data);\n // We sended out first queue entry but no further response is ready\n // and we do not need to check the whole queue, so we are done here\n if (this.writeQueue.length && this.writeQueue[idx].data === false) {\n break;\n }\n } else {\n // we have not found the response on the current index, try next one\n idx++;\n }\n }\n\n if (idx > 0) {\n if (this.options.enhancedLogging) {\n this.log.silly(`${this.socketId} Redis response (${responseId}): Response queued`);\n }\n }\n }\n\n /**\n * Really write out a response to the network connection\n *\n * @param data Buffer to send out\n */\n _write(data: Buffer): void {\n this.socket.write(data);\n }\n\n /**\n * Guard to make sure a response is valid to be sent out\n *\n * @param responseId ID of the response\n * @param data Buffer to send out\n */\n sendResponse(responseId: ResponseId, data: Buffer): void {\n // handle responses without a specific request like publishing data, so send directly\n if (responseId === null) {\n if (this.options.enhancedLogging) {\n this.log.silly(`${this.socketId} Redis response DIRECT: ${data.toString().replace(/[\\r\\n]+/g, '')}`);\n }\n return this._write(data);\n }\n if (!responseId) {\n throw new Error('Invalid implementation: no responseId provided!');\n }\n if (!data) {\n this.log.warn(`${this.socketId} Not able to write ${JSON.stringify(data)}`);\n data = Resp.encodeError(new Error(`INVALID RESPONSE: ${JSON.stringify(data)}`));\n }\n\n setImmediate(() => this._sendQueued(responseId, data));\n }\n\n /**\n * Close network connection\n */\n close(): void {\n this.log.silly(`${this.socketId} close Redis connection`);\n this.stop = true;\n this.socket.end();\n }\n\n /**\n * Return if socket/handler active or closed\n *\n * @returns is Handler/Connection active (not closed)\n */\n isActive(): boolean {\n return !this.stop;\n }\n\n /**\n * Encode RESP's Null value to RESP buffer and send out\n *\n * @param responseId ID of the response\n */\n sendNull(responseId: ResponseId): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeNull());\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeNull());\n }\n\n /**\n * Encode RESP's Null Array value to RESP buffer and send out\n *\n * @param responseId ID of the response\n */\n sendNullArray(responseId: ResponseId): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeNullArray());\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeNullArray());\n }\n\n /**\n * Encode string to RESP buffer and send out\n *\n * @param responseId ID od the response\n * @param str String to encode\n */\n sendString(responseId: ResponseId, str: string): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeString(str));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeString(str));\n }\n\n /**\n * Encode error object to RESP buffer and send out\n *\n * @param responseId ID of the response\n * @param error Error object with error details to send out\n */\n sendError(responseId: ResponseId, error: Error): void {\n this.log.warn(`${this.socketId} Error from InMemDB: ${error.stack}`);\n\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeError(error));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeError(error));\n }\n\n /**\n * Encode integer to RESP buffer and send out\n *\n * @param responseId ID of the response\n * @param num Integer to send out\n */\n sendInteger(responseId: ResponseId, num: number): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeInteger(num));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeInteger(num));\n }\n\n /**\n * Encode RESP's bulk string to RESP buffer and send out\n *\n * @param responseId ID of the response\n * @param str String to send out\n */\n sendBulk(responseId: ResponseId, str: string): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeBulk(str));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeBulk(str));\n }\n\n /**\n * Encode RESP's bulk buffer to RESP buffer.\n *\n * @param responseId ID of the response\n * @param buf Buffer to send out\n */\n sendBufBulk(responseId: ResponseId, buf: Buffer): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeBufBulk(buf));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeBufBulk(buf));\n }\n\n /**\n * Encode an Array depending on the type of the elements\n *\n * @param arr Array to encode\n * @returns Array with Buffers with encoded values\n */\n encodeRespArray(arr: unknown[]): NestedArray<Buffer> {\n const returnArr: NestedArray<Buffer> = new Array(arr.length);\n arr.forEach((value, i) => {\n if (Array.isArray(value)) {\n returnArr[i] = this.encodeRespArray(value);\n } else if (Buffer.isBuffer(value)) {\n returnArr[i] = Resp.encodeBufBulk(value);\n } else if (value === null) {\n returnArr[i] = Resp.encodeNull();\n } else if (typeof value === 'number') {\n returnArr[i] = Resp.encodeInteger(value);\n } else {\n returnArr[i] = Resp.encodeBulk(value);\n }\n });\n\n return returnArr;\n }\n\n /**\n * Encode a array values to buffers and send out\n *\n * @param responseId ID of the response\n * @param arr Array to send out\n */\n sendArray(responseId: ResponseId, arr: any[]): void {\n for (let i = 0; i < this.activeMultiCalls.length; i++) {\n if (this.activeMultiCalls[i].responseIds.includes(responseId)) {\n this._handleMultiResponse(responseId, i, Resp.encodeArray(this.encodeRespArray(arr)));\n return;\n }\n }\n\n this.sendResponse(responseId, Resp.encodeArray(this.encodeRespArray(arr)));\n }\n\n /**\n * Handles a 'multi' command\n *\n */\n _handleMulti(): void {\n this.activeMultiCalls.unshift({\n responseIds: [],\n execCalled: false,\n responseCount: 0,\n responseMap: new Map(),\n });\n }\n\n /**\n * Handles an 'exec' command\n *\n * @param responseId ID of the response\n */\n _handleExec(responseId: ResponseId): void {\n if (!this.activeMultiCalls[0]) {\n this.sendError(responseId, new Error('EXEC without MULTI'));\n return;\n }\n\n this.activeMultiCalls[0].execId = responseId;\n this.activeMultiCalls[0].execCalled = true;\n\n // maybe we have all fullfilled yet\n if (this.activeMultiCalls[0].responseCount === this.activeMultiCalls[0].responseIds.length) {\n const multiRespObj = this.activeMultiCalls.shift() as FullMultiCallElement;\n this._sendExecResponse(multiRespObj);\n }\n }\n\n /**\n * Builds up the exec response and sends it\n *\n * @param multiObj the multi object to send out\n */\n _sendExecResponse(multiObj: FullMultiCallElement): void {\n // collect all 'QUEUED' answers\n const queuedStrArr = new Array(multiObj.responseCount).fill(QUEUED_STR_BUF);\n\n this._sendQueued(\n multiObj.execId,\n Buffer.concat([OK_STR_BUF, ...queuedStrArr, Resp.encodeArray(Array.from(multiObj.responseMap.values()))]),\n );\n }\n\n /**\n * Handles a multi response\n *\n * @param responseId ID of the response\n * @param index index of the multi call\n * @param buf buffer to include in response\n */\n _handleMultiResponse(responseId: ResponseId, index: number, buf: Buffer): void {\n this.activeMultiCalls[index].responseMap.set(responseId, buf);\n this.activeMultiCalls[index].responseCount++;\n if (\n this.activeMultiCalls[index].execCalled &&\n this.activeMultiCalls[index].responseCount === this.activeMultiCalls[index].responseIds.length\n ) {\n const multiRespObj = this.activeMultiCalls.splice(index, 1)[0] as FullMultiCallElement;\n this._sendExecResponse(multiRespObj);\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Resp"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,EAAE,MAAoC,CAAC;AAClE,eAAO,MAAM,UAAU,EAAE,MAAgC,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
4
1
|
import type { Socket } from 'node:net';
|
|
5
2
|
import { EventEmitter } from 'node:events';
|
|
6
3
|
import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/redisHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redisHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/redisHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../types-dev/utils.d.ts","../../types-dev/objects.d.ts","../../types-dev/config.d.ts","../../types-dev/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../common-db/node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/inMemFileDB.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b4bc32128fda7bb0752cf284730dd3a817aae04a3d7f92e3b2d54bd61362fe1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"e0ff8536ee3551be5d7df3658e5718a1e4452429420bf13619e5bb7033d28cce","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"dbb0130f7a98777a15befd9ae95a1608feb5223f9576067c80a4f0740708db5a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4b50850c2a62c7750428e452ee24b167180104d514d5e5c0ca691753365f610","impliedFormat":1},{"version":"304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c","impliedFormat":1},{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"c89152f87c874fe56754bd7b3df048f70b7af710dcf114b8ec5a8215e69c288d","impliedFormat":1},{"version":"e46fa644658c2d6e5c85e954ea76b92c97d63f0851d3ccdab8c2a80d5962aaa9","impliedFormat":1},{"version":"1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","impliedFormat":1},{"version":"a307d22a0130ac94c1a17fffa6d57ac272deb5838cb966a9420911d259cdf1be","impliedFormat":1},{"version":"d2e415abf6cb81ac9e2700b4db5ea7be76b997e812285b8e5e1e414eb2750b6e","impliedFormat":1},{"version":"09d6cebdced6aa1181ac1523c8f22a133f5ed80589678b64051f0602f0518374","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c35691dc3972ff1507d8dd279d833f540973d0917bde22e191cf7a8feaac29f","affectsGlobalScope":true,"impliedFormat":1},{"version":"62662d7a886e5cfa870685720fd27b763743ca4d2cf29326f75d76606a64eadd","impliedFormat":1},{"version":"b8c670688bd228d3cc9c169690b09b687188c50ff263a94df63b207701105ad9","impliedFormat":1},{"version":"d8e16905907111390d5a943816306ae997dfe56476f14142166f8b13ee322eea","impliedFormat":1},{"version":"8068c911a1c40bc6c5ffc58c625b21d807778f6aa6d63a73e6f04f88bcac5b79","impliedFormat":1},{"version":"a1dbce56ad5f3a37caafb9033c9d190a199217d673f5fa099c8968d471a2fdaa","impliedFormat":1},{"version":"aef4bbfdf2111725ba8f3e7c0057a14b6ec94fa51b3b29720dc20c634d63c880","impliedFormat":1},{"version":"0c9f257fcf9e9c360c8dea63d509e30aa8fc3f5cad152b557dc7e597ceb6d605","affectsGlobalScope":true,"impliedFormat":1},{"version":"269d0ea3202820c29a32c1f2a357837a4f1918426844f7e7c90af15ec40d1dc1","impliedFormat":1},{"version":"66432f885e30cf471573de22a5af5eca9ab46b37b122aec98beadf77e9b7df24","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"dfa61793c07f6842459ca472c00320e78b19590a2b278f73e07436ffc034e47d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9e2e0c6e5e9ba4aff4d22b7eab4a4b4e7df9612b7e13f28001913dd5cba73ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"da618f0ea09d95c3b51514de43bf97dab008c85bede58aa57cf95e4984c7c957","impliedFormat":1},{"version":"48a35b181ecf47dbbc0a7ab4b5ba778d91eaa838ba42bf4aaaead42be77ef39a","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"cbc9e04afd604f1c5a0cf8ae0270df36418384b9e8dc9429ba28f9929aeb38dc","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924","impliedFormat":1},{"version":"5d8cd11d44a41a6966a04e627d38efce8d214edb36daf494153ec15b2b95eee2","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"962f105729d5b888c8b70e193f6020ee92c6c8144c827de40f80d65dd188ad7f","impliedFormat":1},{"version":"ac74e2b754fba690036f8221d978f6debb867462b87af254f24e924b677395d0","impliedFormat":1},{"version":"80858f6de9af22e53aff221fe3590215ea544c2aeb2cc60cf8e08a9c785c8fef","impliedFormat":1},{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"340659b96782f5813aad6c1f89ea1b83b2f3fa993115c7b30366375d9bae5a4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","impliedFormat":1},{"version":"fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","impliedFormat":1},{"version":"cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a","impliedFormat":1},{"version":"895ca532c15c77cbb6a871af1870b57bcd0ca4f38a1bd69669dd0e95bb58565a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"e12a40ba307d38757b6f0637958d945de7442dbd0986fd3e4f7a61cc65b3bc61","impliedFormat":1},{"version":"6ddef487afd7e6961dfa77102d7bd61a8e44146e5028cbcac524efaa4cdff735","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f6f50154127d4da065cdc1ec3b1419b571b4864ca27921af5bb7d4e58244756","impliedFormat":1},{"version":"af3a8ef6308b1d0cce775bf40602311d8dd4ba534d37c92a1b2879467f820c5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"6cf45d4fd013b7c4ba1cd422555a3170946dc1d3804e135b5c4a971dbe4c1aa7","impliedFormat":1},{"version":"2fd34e1921bb7e6706b8d9fcb5d4d9f2f3e23e742e38bdb3094c83668ca09070","impliedFormat":1},{"version":"be2ab41bbfa1db74d67df1a5cb0c00b5f6d4badc0bc35cff2984880e2698bc1b","impliedFormat":1},{"version":"746b7007f5959dc155f54964ce3d1f8289e914ad480f1f7ff64f54515415a637","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"c5f9c9c704d6466e771886e28018d2fe877f347d36fd1e99ddb8d36a99ff6dc3","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"e67f962c7c3216ba02cc4563ff44063b36135e0fcdf92b11b0578228f6a007e4","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"86a6eee8858453e02abc1196b611b348f9b157d19dcd47660246ede5b6a82676","impliedFormat":99},{"version":"129c10790c7de83509b3d852a79189b475a40b128e0726bd469f96b3d5749811","impliedFormat":99},{"version":"98763329166c62fa0ca9cfc0042bf924605c78bab880dc8b06ec83a445d3d67a","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"23e8b05cddc85f06f20206498afe26aeb940a43f7df2300acfa5fb3e6dfd66f9","signature":"099b997612cf9d0bdb69222aeda9018094a3b18df31d294581b66eafb170087e","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"13458c06afd7d41f97955a72b84bb51b059e7a15d1547e9b11411a8ef82f60fa","impliedFormat":99},{"version":"59675cd845eb32898bf53e8885260397cf22e6747850942897fdafad129c6201","signature":"617b2e0fa917ace5e1b19dcef2eae8a5888732a390c94e0b97f1afa3b6c5b52c","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"c3ae6bb11d6666d56efb16b56903895ba5320c2c2b0fecaf27784ef4599ac632","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"4f5269c28ed792a21efe3e2733a3398cb83f84384ccd9c5cd5a0950fdb211342","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[179,182]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"fileIdsList":[[184],[186],[188,189,190],[191],[129,148],[112,148,149,150],[148],[111,129,137,148],[112,140,148],[111,148],[62],[98],[99,104,132],[100,111,112,119,129,140],[100,101,111,119],[102,141],[103,104,112,120],[104,129,137],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,129,140],[111,112,113,126,129,132],[96,145],[107,111,114,119,129,140],[111,112,114,115,119,129,137,140],[114,116,129,137,140],[62,63,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],[111,117],[118,140,145],[107,111,119,129],[120],[121],[98,122],[123,139,145],[124],[125],[111,126,127],[126,128,141,143],[99,111,129,130,131,132],[99,129,131],[129,130],[132],[133],[129],[111,135,136],[135,136],[104,119,129,137],[138],[119,139],[99,114,125,140],[104,141],[129,142],[118,143],[144],[99,104,111,113,122,129,140,143,145],[129,146],[111,139,148,204],[207,246],[207,231,246],[246],[207],[207,232,246],[207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[232,246],[184,248],[247],[112,129,146,148,250],[105,119,148,170,193],[253],[100,129,148],[168],[111,129,148],[100],[73,77,140],[73,129,140],[68],[70,73,137,140],[119,137],[68,148],[70,73,119,140],[65,66,69,72,99,111,129,140],[65,71],[69,73,99,132,140,148],[99,148],[89,99,148],[67,68,148],[73],[67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95],[73,80,81],[71,73,81,82],[72],[65,68,73],[73,77,81,82],[77],[71,73,76,140],[65,70,71,73,77,80],[99,129],[68,73,89,99,145,148],[129,148,169],[129,148,169,170,171,172],[114,148,170],[165,166,167,174,175,176,177],[155],[173],[100,148,155,156,163,164],[158,162],[158],[129,148,157],[158,159,160,161],[178,179,181],[121,146,151,165,178],[111,119,165,180],[112,152,153,154],[120,152],[165],[111,119,165]],"referencedMap":[[185,1],[187,2],[191,3],[190,4],[192,5],[151,6],[193,7],[194,8],[149,9],[195,7],[200,7],[201,10],[62,11],[63,11],[98,12],[99,13],[100,14],[101,15],[102,16],[103,17],[104,18],[105,19],[106,20],[107,21],[108,21],[110,22],[109,23],[111,24],[112,25],[113,26],[97,27],[114,28],[115,29],[116,30],[148,31],[117,32],[118,33],[119,34],[120,35],[121,36],[122,37],[123,38],[124,39],[125,40],[126,41],[127,41],[128,42],[129,43],[131,44],[130,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[141,55],[142,56],[143,57],[144,58],[145,59],[146,60],[205,61],[231,62],[232,63],[207,64],[210,64],[229,62],[230,62],[220,62],[219,65],[217,62],[212,62],[225,62],[223,62],[227,62],[211,62],[224,62],[228,62],[213,62],[214,62],[226,62],[208,62],[215,62],[216,62],[218,62],[222,62],[233,66],[221,62],[209,62],[246,67],[240,66],[242,68],[241,66],[234,66],[235,66],[237,66],[239,66],[243,68],[244,68],[236,68],[238,68],[249,69],[248,70],[251,71],[252,72],[254,73],[157,74],[169,75],[250,76],[156,77],[80,78],[87,79],[79,78],[94,80],[71,81],[70,82],[93,7],[88,83],[91,84],[73,85],[72,86],[68,87],[67,88],[90,89],[69,90],[74,91],[78,91],[96,92],[95,91],[82,93],[83,94],[85,95],[81,96],[84,97],[89,7],[76,98],[77,99],[86,100],[66,101],[92,102],[170,103],[173,104],[171,7],[172,105],[178,106],[175,107],[174,108],[165,109],[163,110],[159,111],[158,112],[160,111],[161,111],[162,113],[182,114],[179,115],[181,116],[155,117],[153,118]],"exportedModulesMap":[[185,1],[187,2],[191,3],[190,4],[192,5],[151,6],[193,7],[194,8],[149,9],[195,7],[200,7],[201,10],[62,11],[63,11],[98,12],[99,13],[100,14],[101,15],[102,16],[103,17],[104,18],[105,19],[106,20],[107,21],[108,21],[110,22],[109,23],[111,24],[112,25],[113,26],[97,27],[114,28],[115,29],[116,30],[148,31],[117,32],[118,33],[119,34],[120,35],[121,36],[122,37],[123,38],[124,39],[125,40],[126,41],[127,41],[128,42],[129,43],[131,44],[130,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[141,55],[142,56],[143,57],[144,58],[145,59],[146,60],[205,61],[231,62],[232,63],[207,64],[210,64],[229,62],[230,62],[220,62],[219,65],[217,62],[212,62],[225,62],[223,62],[227,62],[211,62],[224,62],[228,62],[213,62],[214,62],[226,62],[208,62],[215,62],[216,62],[218,62],[222,62],[233,66],[221,62],[209,62],[246,67],[240,66],[242,68],[241,66],[234,66],[235,66],[237,66],[239,66],[243,68],[244,68],[236,68],[238,68],[249,69],[248,70],[251,71],[252,72],[254,73],[157,74],[169,75],[250,76],[156,77],[80,78],[87,79],[79,78],[94,80],[71,81],[70,82],[93,7],[88,83],[91,84],[73,85],[72,86],[68,87],[67,88],[90,89],[69,90],[74,91],[78,91],[96,92],[95,91],[82,93],[83,94],[85,95],[81,96],[84,97],[89,7],[76,98],[77,99],[86,100],[66,101],[92,102],[170,103],[173,104],[171,7],[172,105],[178,106],[175,107],[174,108],[165,109],[163,110],[159,111],[158,112],[160,111],[161,111],[162,113],[182,114],[179,119],[181,120],[155,117],[153,118]],"semanticDiagnosticsPerFile":[183,185,184,187,191,190,188,192,151,193,194,189,149,150,195,196,197,198,199,186,200,201,62,63,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,97,147,114,115,116,148,117,118,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,202,203,205,206,204,231,232,207,210,229,230,220,219,217,212,225,223,227,211,224,228,213,214,226,208,215,216,218,222,233,221,209,246,245,240,242,241,234,235,237,239,243,244,236,238,249,248,247,251,168,252,253,254,64,157,169,250,156,60,61,12,11,2,13,14,15,16,17,18,19,20,3,21,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,59,80,87,79,94,71,70,93,88,91,73,72,68,67,90,69,74,75,78,65,96,95,82,83,85,81,84,89,76,77,86,66,92,170,173,171,172,178,177,166,175,174,164,167,176,165,163,159,158,160,161,162,182,180,179,181,154,155,153,152],"latestChangedDtsFile":"./esm/index.d.ts"},"version":"5.4.5"}
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/ts5.6/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../common-db/node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../common-db/node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../src/lib/inMemFileDB.ts","../src/lib/constants.ts","../src/lib/redisHandler.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../../../node_modules/@types/readline-sync/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[67,110],[67,110,191],[67,110,193],[67,110,195,196,197],[67,110,198],[67,110,141,159],[67,110,123,159,160,161],[67,110,159],[67,110,201],[67,110,122,141,149,159],[67,110,123,152,159],[67,110,122,159],[67,107,110],[67,109,110],[67,110,115,144],[67,110,111,116,122,123,130,141,152],[67,110,111,112,122,130],[62,63,64,67,110],[67,110,113,153],[67,110,114,115,123,131],[67,110,115,141,149],[67,110,116,118,122,130],[67,109,110,117],[67,110,118,119],[67,110,122],[67,110,120,122],[67,109,110,122],[67,110,122,123,124,141,152],[67,110,122,123,124,137,141,144],[67,105,110,157],[67,110,118,122,125,130,141,152],[67,110,122,123,125,126,130,141,149,152],[67,110,125,127,141,149,152],[67,110,122,128],[67,110,129,152,157],[67,110,118,122,130,141],[67,110,131],[67,110,132],[67,109,110,133],[67,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,135],[67,110,136],[67,110,122,137,138],[67,110,137,139,153,155],[67,110,122,141,142,143,144],[67,110,141,143],[67,110,141,142],[67,110,144],[67,110,145],[67,107,110,141],[67,110,122,147,148],[67,110,147,148],[67,110,115,130,141,149],[67,110,150],[110],[65,66,67,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],[67,110,130,151],[67,110,125,136,152],[67,110,115,153],[67,110,141,154],[67,110,129,155],[67,110,156],[67,110,115,122,124,133,141,152,155,157],[67,110,141,158],[67,110,122,151,159,214],[67,110,217,256],[67,110,217,241,256],[67,110,256],[67,110,217],[67,110,217,242,256],[67,110,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],[67,110,242,256],[67,110,191,258],[67,110,257],[67,110,123,141,158,159,260],[67,110,116,130,159,177,200],[67,110,263],[67,110,111,141,159],[67,110,175],[67,110,122,141,159],[67,110,111],[67,77,81,110,152],[67,77,110,141,152],[67,72,110],[67,74,77,110,149,152],[67,110,130,149],[67,72,110,159],[67,74,77,110,130,152],[67,69,70,73,76,110,122,141,152],[67,77,84,110],[67,69,75,110],[67,77,98,99,110],[67,73,77,110,144,152,159],[67,98,110,159],[67,71,72,110,159],[67,77,110],[67,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,110],[67,77,92,110],[67,77,84,85,110],[67,75,77,85,86,110],[67,76,110],[67,69,72,77,110],[67,77,81,85,86,110],[67,81,110],[67,75,77,80,110,152],[67,69,74,77,84,110],[67,110,141],[67,72,77,98,110,157,159],[67,110,141,159,176],[67,110,141,159,176,177,178,179],[67,110,125,159,177],[67,110,172,173,174,181,182,183,184],[67,110,180],[67,110,111,163,170,171],[67,110,165,169],[67,110,165],[67,110,141,159,164],[67,110,165,166,167,168],[67,110,185,186,188],[67,110,132,158,162,172,185],[67,110,122,130,172,187]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"9091e564b81e7b4c382a33c62de704a699e10508190547d4f7c1c3e039d2db2b","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"6cf45d4fd013b7c4ba1cd422555a3170946dc1d3804e135b5c4a971dbe4c1aa7","impliedFormat":1},{"version":"2fd34e1921bb7e6706b8d9fcb5d4d9f2f3e23e742e38bdb3094c83668ca09070","impliedFormat":1},{"version":"be2ab41bbfa1db74d67df1a5cb0c00b5f6d4badc0bc35cff2984880e2698bc1b","impliedFormat":1},{"version":"746b7007f5959dc155f54964ce3d1f8289e914ad480f1f7ff64f54515415a637","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"d3c501890d6db716eec78e3ac65a39916e9d80c23c8b286a531ba777ddf107cf","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"e67f962c7c3216ba02cc4563ff44063b36135e0fcdf92b11b0578228f6a007e4","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"65f1948d68440bf5caee2365014713e739945e04927fbb56c84549736b69ac53","impliedFormat":99},{"version":"129c10790c7de83509b3d852a79189b475a40b128e0726bd469f96b3d5749811","impliedFormat":99},{"version":"98763329166c62fa0ca9cfc0042bf924605c78bab880dc8b06ec83a445d3d67a","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"23e8b05cddc85f06f20206498afe26aeb940a43f7df2300acfa5fb3e6dfd66f9","signature":"099b997612cf9d0bdb69222aeda9018094a3b18df31d294581b66eafb170087e","impliedFormat":99},{"version":"dca08d0fcf13a1f796b10e8cc030ccffe2cdb64fff36f3492bfe3af22902b328","signature":"bac5a7837c09b9817f57e3b46b1a206fd34f69e79dbd1a0040f85bb4c201e170","impliedFormat":99},{"version":"59675cd845eb32898bf53e8885260397cf22e6747850942897fdafad129c6201","signature":"b49941607b5a324776efa9bd3f548e75dc4285f9b6c2a23735875f6fa0d62a8d","impliedFormat":99},{"version":"ad739669b8527bacfaf8493ea4552216843afd0f9a2e583dec20ee7f4e2ead6e","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"c3ae6bb11d6666d56efb16b56903895ba5320c2c2b0fecaf27784ef4599ac632","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"4f5269c28ed792a21efe3e2733a3398cb83f84384ccd9c5cd5a0950fdb211342","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[186,189]],"options":{"allowJs":false,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"referencedMap":[[190,1],[192,2],[191,1],[194,3],[198,4],[197,5],[195,1],[199,6],[162,7],[200,8],[202,9],[203,10],[196,1],[160,11],[161,1],[204,8],[205,9],[206,1],[207,1],[208,1],[209,1],[193,1],[210,8],[211,12],[107,13],[108,13],[109,14],[110,15],[111,16],[112,17],[62,1],[65,18],[63,1],[64,1],[113,19],[114,20],[115,21],[116,22],[117,23],[118,24],[119,24],[121,25],[120,26],[122,27],[123,28],[124,29],[106,30],[125,31],[126,32],[127,33],[128,34],[129,35],[130,36],[131,37],[132,38],[133,39],[134,40],[135,41],[136,42],[137,43],[138,43],[139,44],[140,1],[141,45],[143,46],[142,47],[144,48],[145,49],[146,50],[147,51],[148,52],[149,53],[150,54],[67,55],[66,1],[159,56],[151,57],[152,58],[153,59],[154,60],[155,61],[156,62],[157,63],[158,64],[212,1],[213,1],[215,65],[216,1],[214,1],[241,66],[242,67],[217,68],[220,68],[239,66],[240,66],[230,66],[229,69],[227,66],[222,66],[235,66],[233,66],[237,66],[221,66],[234,66],[238,66],[223,66],[224,66],[236,66],[218,66],[225,66],[226,66],[228,66],[232,66],[243,70],[231,66],[219,66],[256,71],[255,1],[250,70],[252,72],[251,70],[244,70],[245,70],[247,70],[249,70],[253,72],[254,72],[246,72],[248,72],[259,73],[258,74],[257,1],[261,75],[175,1],[201,1],[262,76],[263,1],[264,77],[68,1],[164,78],[176,79],[260,80],[163,81],[60,1],[61,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[56,1],[54,1],[55,1],[57,1],[58,1],[10,1],[59,1],[1,1],[84,82],[94,83],[83,82],[104,84],[75,85],[74,86],[103,8],[97,87],[102,88],[77,89],[91,90],[76,91],[100,92],[72,93],[71,8],[101,94],[73,95],[78,96],[79,1],[82,96],[69,1],[105,97],[95,98],[86,99],[87,100],[89,101],[85,102],[88,103],[98,8],[80,104],[81,105],[90,106],[70,107],[93,98],[92,96],[96,1],[99,108],[177,109],[180,110],[178,8],[179,111],[185,112],[184,1],[173,1],[182,1],[181,113],[171,1],[174,1],[183,1],[172,114],[170,115],[166,116],[165,117],[167,116],[168,116],[169,118],[189,119],[187,1],[186,120],[188,121]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.6.3"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iobroker/db-base",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0.
|
|
4
|
+
"version": "7.0.4-alpha.0-20241116-db3148f4f",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@iobroker/js-controller-common-db": "7.0.
|
|
9
|
+
"@iobroker/js-controller-common-db": "7.0.4-alpha.0-20241116-db3148f4f",
|
|
10
10
|
"deep-clone": "^3.0.3",
|
|
11
11
|
"fs-extra": "^11.1.0",
|
|
12
12
|
"respjs": "^4.2.0"
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"files": [
|
|
54
54
|
"build/"
|
|
55
55
|
],
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "55ff47d48ea22e3b8e6dae0f7ecda51344da0a09"
|
|
57
57
|
}
|