@iqx-limited/quick-pdf 1.8.0 → 1.8.1

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/dist/index.cjs CHANGED
@@ -6,16 +6,16 @@ var node_path = require('node:path');
6
6
  var promises = require('node:fs/promises');
7
7
  var puppeteer = require('puppeteer');
8
8
  var os = require('node:os');
9
- var node_child_process = require('node:child_process');
10
- var node_fs = require('node:fs');
11
9
  var imageSize = require('image-size');
12
10
  var PDFDocument = require('pdfkit');
11
+ var node_fs = require('node:fs');
13
12
  var htmlValidate = require('html-validate');
14
13
 
15
14
  let firefox = null;
16
15
  let chrome = null;
17
16
  let isRemoteBrowser = false;
18
17
  let devMode = false;
18
+ const registryPath = node_path.join(process.cwd(), ".puppeteer-launches.json");
19
19
  const BROWSER_PATHS = {
20
20
  chrome: {
21
21
  linux: "/usr/bin/google-chrome",
@@ -28,136 +28,65 @@ const BROWSER_PATHS = {
28
28
  windows: node_path.join("C:", "Program Files", "Mozilla Firefox", "firefox.exe")
29
29
  }
30
30
  };
31
- const getOS = () => {
32
- if (process.platform === "win32")
33
- return "windows";
34
- if (process.platform === "darwin")
35
- return "mac";
36
- return "linux";
31
+ let launching = null;
32
+ const RESOURCE_LIMIT = 100;
33
+ let resourceCount = 0;
34
+ let firefoxPagePool = [];
35
+ let chromePagePool = [];
36
+ const isProcessAlive = (pid) => {
37
+ try {
38
+ process.kill(pid, 0);
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
37
44
  };
38
- function escapeForShellRegex(path) {
39
- return path.replace(/\\/g, "\\\\").replace(/\//g, "\\/");
40
- }
41
- const BROWSER_DATA_DIR = node_path.join(process.cwd(), "browser-data");
42
- const LAUNCH_ID_ARG = "--quickpdf-launch-id=";
43
- const cleanupPuppeteerBrowsers = () => {
44
- console.log("Cleaning up orphaned Puppeteer browser instances...");
45
- const platform = os.platform();
46
- let pidsToKill = [];
47
- const escapedDataDir = escapeForShellRegex(BROWSER_DATA_DIR);
45
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
46
+ const cleanupOrphanedBrowsers = async () => {
47
+ let registry = {};
48
48
  try {
49
- if (platform === "win32") {
50
- const args = [
51
- "-Command",
52
- `Get-CimInstance Win32_Process | Where-Object {
53
-           ($_.Name -eq 'chrome.exe' -or $_.Name -eq 'firefox.exe') -and
54
-           ($_.CommandLine -like '*-user-data-dir=*${escapedDataDir}*' -or $_.CommandLine -like '*${LAUNCH_ID_ARG}*')
55
-         } | Select-Object -ExpandProperty ProcessId`
56
- ];
57
- const output = node_child_process.spawnSync("powershell", args, { encoding: "utf8" });
58
- pidsToKill = output.stdout.trim().split(os.EOL).filter(Boolean);
59
- }
60
- else {
61
- const args = [
62
- "aux",
63
- "|", "grep", "-E", "'[c]hrome|[f]irefox'",
64
- "|", "grep", "-E", `-- '-user-data-dir=.+${escapedDataDir}' | ${LAUNCH_ID_ARG}`,
65
- "|", "awk", "'{print $2}'"
66
- ];
67
- const output = node_child_process.spawnSync("ps", args, { encoding: "utf8" });
68
- pidsToKill = output.stdout.trim().split(os.EOL).filter(Boolean);
69
- }
70
- if (pidsToKill.length === 0) {
71
- console.log("No orphaned Puppeteer browser instances found matching user data dir or launch ID.");
72
- return;
73
- }
74
- console.log(`Found ${pidsToKill.length} orphaned browser processes: ${pidsToKill.join(", ")}`);
75
- let killedCount = 0;
76
- for (const pid of pidsToKill) {
77
- try {
78
- const numericPid = Number(pid);
79
- if (isNaN(numericPid)) {
80
- console.warn(`Skipping invalid PID: ${pid}`);
81
- continue;
82
- }
83
- if (platform === "win32") {
84
- node_child_process.execSync(`taskkill /PID ${numericPid} /F /T`);
85
- }
86
- else {
87
- try {
88
- process.kill(numericPid, "SIGTERM");
89
- node_child_process.execSync(`sleep 0.5`);
90
- }
91
- catch (e) {
92
- if (e.code !== "ESRCH") {
93
- throw e;
94
- }
95
- }
96
- try {
97
- process.kill(numericPid, 0);
98
- process.kill(numericPid, "SIGKILL");
99
- }
100
- catch (e) {
101
- if (e.code !== "ESRCH") {
102
- throw e;
103
- }
104
- }
105
- }
106
- killedCount++;
107
- }
108
- catch (e) {
109
- if (e.message.includes("not found") || e.code === "ESRCH") {
110
- console.log(`Process ${pid} already terminated.`);
111
- }
112
- else {
113
- console.warn(`⚠️ Failed to kill process ${pid}: ${e.message}`);
114
- }
115
- }
116
- }
117
- console.log(`✅ Attempted to clean up ${killedCount} orphaned Puppeteer browser instances.`);
49
+ const data = await promises.readFile(registryPath, "utf8");
50
+ registry = JSON.parse(data);
118
51
  }
119
- catch (e) {
120
- console.error(`Error during cleanup: ${e.message}`);
52
+ catch {
53
+ registry = {};
121
54
  }
122
- finally {
123
- let processesUsingDir = false;
124
- const escapedDataDir = escapeForShellRegex(BROWSER_DATA_DIR);
125
- try {
126
- const platform = os.platform();
127
- if (platform === "win32") {
128
- const args = [
129
- "-Command",
130
- `Get-Process | Where-Object { $_.Modules | Where-Object { $_.FileName -like '*${escapedDataDir}*' } } | Select-Object -ExpandProperty Id`
131
- ];
132
- const output = node_child_process.spawnSync("powershell", args, { encoding: "utf8" });
133
- processesUsingDir = output.stdout.trim().length > 0;
134
- }
135
- else {
136
- const command = `lsof +D "${BROWSER_DATA_DIR}" 2>/dev/null | grep -v COMMAND | wc -l`;
137
- const output = node_child_process.execSync(command, { encoding: "utf8" });
138
- processesUsingDir = parseInt(output.trim()) > 0;
55
+ const launchIds = Object.keys(registry);
56
+ for (const launchId of launchIds) {
57
+ const { pid, ownerPid } = registry[launchId];
58
+ if (!isProcessAlive(ownerPid)) {
59
+ try {
60
+ process.kill(pid, "SIGTERM");
139
61
  }
140
- }
141
- catch (e) {
142
- console.log(`Could not check if processes are using browser-data directory: ${e.message}`);
143
- }
144
- if (node_fs.existsSync(BROWSER_DATA_DIR)) {
145
- if (!processesUsingDir) {
146
- try {
147
- node_fs.rmSync(BROWSER_DATA_DIR, { recursive: true, force: true });
148
- console.log(`🧹 Cleaned up browser-data directory: ${BROWSER_DATA_DIR}`);
149
- }
150
- catch {
151
- console.warn(`⚠️ Could not delete browser-data directory, it may be in use: ${BROWSER_DATA_DIR}`);
62
+ catch { }
63
+ await sleep(500);
64
+ try {
65
+ if (isProcessAlive(pid)) {
66
+ process.kill(pid, "SIGKILL");
152
67
  }
153
68
  }
69
+ catch { }
70
+ delete registry[launchId];
71
+ console.log(`🧹 Cleaned up orphaned browser PID ${pid} (launchId: ${launchId})`);
154
72
  }
155
73
  }
74
+ await promises.writeFile(registryPath, JSON.stringify(registry, null, 2));
75
+ };
76
+ const getOS = () => {
77
+ if (process.platform === "win32")
78
+ return "windows";
79
+ if (process.platform === "darwin")
80
+ return "mac";
81
+ return "linux";
156
82
  };
157
83
  const setDevMode = (mode) => {
158
84
  devMode = mode;
159
85
  if (devMode) {
160
86
  console.log("Quick-PDF: Dev Mode Enabled");
87
+ cleanupOrphanedBrowsers().catch(err => {
88
+ console.error("Error during cleanup of orphaned browsers:", err);
89
+ });
161
90
  }
162
91
  };
163
92
  const isBrowserInstalled = async (browser) => {
@@ -171,11 +100,6 @@ const isBrowserInstalled = async (browser) => {
171
100
  return false;
172
101
  }
173
102
  };
174
- let launching = null;
175
- const RESOURCE_LIMIT = 100;
176
- let resourceCount = 0;
177
- let firefoxPagePool = [];
178
- let chromePagePool = [];
179
103
  async function launchPages(browser, type) {
180
104
  let pool = type === "chrome" ? chromePagePool : firefoxPagePool;
181
105
  if (!browser?.connected) {
@@ -270,7 +194,6 @@ async function restorePage(type, page) {
270
194
  firefoxPagePool.push(page);
271
195
  }
272
196
  }
273
- let cleanupRunning = false;
274
197
  async function launchBrowser(browserType, wsURL) {
275
198
  const isBrowserValid = (browser) => {
276
199
  try {
@@ -291,14 +214,12 @@ async function launchBrowser(browserType, wsURL) {
291
214
  return { browser: chrome, type: "chrome" };
292
215
  }
293
216
  else {
294
- const [firefox, chrome] = await Promise.all([
295
- launchBrowser("firefox", wsURL).catch(() => null),
296
- launchBrowser("chrome", wsURL).catch(() => null)
297
- ]);
217
+ const firefox = await launchBrowser("firefox", wsURL).catch(() => null);
298
218
  if (firefox) {
299
219
  return firefox;
300
220
  }
301
- else if (chrome) {
221
+ const chrome = await launchBrowser("chrome", wsURL).catch(() => null);
222
+ if (chrome) {
302
223
  return chrome;
303
224
  }
304
225
  throw new Error("No browser launched yet");
@@ -316,20 +237,6 @@ async function launchBrowser(browserType, wsURL) {
316
237
  type: "chrome"
317
238
  };
318
239
  }
319
- if (cleanupRunning) {
320
- while (cleanupRunning) {
321
- await new Promise(resolve => setTimeout(resolve, 100));
322
- }
323
- }
324
- else {
325
- cleanupRunning = true;
326
- try {
327
- await cleanupPuppeteerBrowsers();
328
- }
329
- finally {
330
- cleanupRunning = false;
331
- }
332
- }
333
240
  if (!(await isBrowserInstalled(browserType))) {
334
241
  throw new Error(`${browserType.toUpperCase()} is not installed.`);
335
242
  }
@@ -349,10 +256,11 @@ async function launchBrowser(browserType, wsURL) {
349
256
  }
350
257
  else {
351
258
  console.log(`Launching local ${browserType.toUpperCase()} browser...`);
259
+ node_path.join(os.tmpdir(), `puppeteer-${Date.now()}-${process.pid}`);
352
260
  browser = await puppeteer.launch({
353
261
  browser: browserType,
354
262
  headless: "shell",
355
- userDataDir: node_path.join(process.cwd(), "browser-data"),
263
+ userDataDir: undefined,
356
264
  executablePath: BROWSER_PATHS[browserType][getOS()],
357
265
  args: [
358
266
  "--no-sandbox",
@@ -360,7 +268,26 @@ async function launchBrowser(browserType, wsURL) {
360
268
  `--quickpdf-launch-id=${Date.now()}`
361
269
  ]
362
270
  });
271
+ if (devMode) {
272
+ console.log(`${browserType.toUpperCase()} launched with PID: ${browser.process()?.pid}`);
273
+ }
274
+ }
275
+ let registry = {};
276
+ try {
277
+ const data = await promises.readFile(registryPath, "utf8");
278
+ registry = JSON.parse(data);
279
+ }
280
+ catch {
281
+ }
282
+ const pid = browser.process()?.pid;
283
+ if (pid) {
284
+ registry[pid] = {
285
+ pid: pid,
286
+ ownerPid: process.pid,
287
+ started: Date.now()
288
+ };
363
289
  }
290
+ await promises.writeFile(registryPath, JSON.stringify(registry));
364
291
  await launchPages(browser, browserType);
365
292
  console.log(`${browserType.toUpperCase()} browser is ready for usage.`);
366
293
  if (browserType === "chrome") {
@@ -370,7 +297,7 @@ async function launchBrowser(browserType, wsURL) {
370
297
  });
371
298
  chrome.on("disconnected", () => {
372
299
  chrome = null;
373
- console.warn("Browser disconnected unexpectedly");
300
+ console.warn("Browser disconnected");
374
301
  });
375
302
  }
376
303
  else {
@@ -380,7 +307,7 @@ async function launchBrowser(browserType, wsURL) {
380
307
  });
381
308
  firefox.on("disconnected", () => {
382
309
  firefox = null;
383
- console.warn("Browser disconnected unexpectedly");
310
+ console.warn("Browser disconnected");
384
311
  });
385
312
  }
386
313
  launching = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["join","spawnSync","execSync","existsSync","rmSync","access","resolve","pathToFileURL","writeFile","unlink","readFileSync","imageSize","HtmlValidate","satisfies"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["join","readFile","writeFile","access","resolve","pathToFileURL","unlink","existsSync","readFileSync","imageSize","HtmlValidate","satisfies"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,19 +1,19 @@
1
1
  import { satisfies } from 'semver';
2
2
  import { pathToFileURL } from 'node:url';
3
3
  import { join, resolve } from 'node:path';
4
- import { access, writeFile, unlink } from 'node:fs/promises';
4
+ import { readFile, writeFile, access, unlink } from 'node:fs/promises';
5
5
  import puppeteer from 'puppeteer';
6
6
  import os from 'node:os';
7
- import { spawnSync, execSync } from 'node:child_process';
8
- import { existsSync, rmSync, readFileSync } from 'node:fs';
9
7
  import { imageSize } from 'image-size';
10
8
  import PDFDocument from 'pdfkit';
9
+ import { existsSync, readFileSync } from 'node:fs';
11
10
  import { HtmlValidate } from 'html-validate';
12
11
 
13
12
  let firefox = null;
14
13
  let chrome = null;
15
14
  let isRemoteBrowser = false;
16
15
  let devMode = false;
16
+ const registryPath = join(process.cwd(), ".puppeteer-launches.json");
17
17
  const BROWSER_PATHS = {
18
18
  chrome: {
19
19
  linux: "/usr/bin/google-chrome",
@@ -26,136 +26,65 @@ const BROWSER_PATHS = {
26
26
  windows: join("C:", "Program Files", "Mozilla Firefox", "firefox.exe")
27
27
  }
28
28
  };
29
- const getOS = () => {
30
- if (process.platform === "win32")
31
- return "windows";
32
- if (process.platform === "darwin")
33
- return "mac";
34
- return "linux";
29
+ let launching = null;
30
+ const RESOURCE_LIMIT = 100;
31
+ let resourceCount = 0;
32
+ let firefoxPagePool = [];
33
+ let chromePagePool = [];
34
+ const isProcessAlive = (pid) => {
35
+ try {
36
+ process.kill(pid, 0);
37
+ return true;
38
+ }
39
+ catch {
40
+ return false;
41
+ }
35
42
  };
36
- function escapeForShellRegex(path) {
37
- return path.replace(/\\/g, "\\\\").replace(/\//g, "\\/");
38
- }
39
- const BROWSER_DATA_DIR = join(process.cwd(), "browser-data");
40
- const LAUNCH_ID_ARG = "--quickpdf-launch-id=";
41
- const cleanupPuppeteerBrowsers = () => {
42
- console.log("Cleaning up orphaned Puppeteer browser instances...");
43
- const platform = os.platform();
44
- let pidsToKill = [];
45
- const escapedDataDir = escapeForShellRegex(BROWSER_DATA_DIR);
43
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
44
+ const cleanupOrphanedBrowsers = async () => {
45
+ let registry = {};
46
46
  try {
47
- if (platform === "win32") {
48
- const args = [
49
- "-Command",
50
- `Get-CimInstance Win32_Process | Where-Object {
51
-           ($_.Name -eq 'chrome.exe' -or $_.Name -eq 'firefox.exe') -and
52
-           ($_.CommandLine -like '*-user-data-dir=*${escapedDataDir}*' -or $_.CommandLine -like '*${LAUNCH_ID_ARG}*')
53
-         } | Select-Object -ExpandProperty ProcessId`
54
- ];
55
- const output = spawnSync("powershell", args, { encoding: "utf8" });
56
- pidsToKill = output.stdout.trim().split(os.EOL).filter(Boolean);
57
- }
58
- else {
59
- const args = [
60
- "aux",
61
- "|", "grep", "-E", "'[c]hrome|[f]irefox'",
62
- "|", "grep", "-E", `-- '-user-data-dir=.+${escapedDataDir}' | ${LAUNCH_ID_ARG}`,
63
- "|", "awk", "'{print $2}'"
64
- ];
65
- const output = spawnSync("ps", args, { encoding: "utf8" });
66
- pidsToKill = output.stdout.trim().split(os.EOL).filter(Boolean);
67
- }
68
- if (pidsToKill.length === 0) {
69
- console.log("No orphaned Puppeteer browser instances found matching user data dir or launch ID.");
70
- return;
71
- }
72
- console.log(`Found ${pidsToKill.length} orphaned browser processes: ${pidsToKill.join(", ")}`);
73
- let killedCount = 0;
74
- for (const pid of pidsToKill) {
75
- try {
76
- const numericPid = Number(pid);
77
- if (isNaN(numericPid)) {
78
- console.warn(`Skipping invalid PID: ${pid}`);
79
- continue;
80
- }
81
- if (platform === "win32") {
82
- execSync(`taskkill /PID ${numericPid} /F /T`);
83
- }
84
- else {
85
- try {
86
- process.kill(numericPid, "SIGTERM");
87
- execSync(`sleep 0.5`);
88
- }
89
- catch (e) {
90
- if (e.code !== "ESRCH") {
91
- throw e;
92
- }
93
- }
94
- try {
95
- process.kill(numericPid, 0);
96
- process.kill(numericPid, "SIGKILL");
97
- }
98
- catch (e) {
99
- if (e.code !== "ESRCH") {
100
- throw e;
101
- }
102
- }
103
- }
104
- killedCount++;
105
- }
106
- catch (e) {
107
- if (e.message.includes("not found") || e.code === "ESRCH") {
108
- console.log(`Process ${pid} already terminated.`);
109
- }
110
- else {
111
- console.warn(`⚠️ Failed to kill process ${pid}: ${e.message}`);
112
- }
113
- }
114
- }
115
- console.log(`✅ Attempted to clean up ${killedCount} orphaned Puppeteer browser instances.`);
47
+ const data = await readFile(registryPath, "utf8");
48
+ registry = JSON.parse(data);
116
49
  }
117
- catch (e) {
118
- console.error(`Error during cleanup: ${e.message}`);
50
+ catch {
51
+ registry = {};
119
52
  }
120
- finally {
121
- let processesUsingDir = false;
122
- const escapedDataDir = escapeForShellRegex(BROWSER_DATA_DIR);
123
- try {
124
- const platform = os.platform();
125
- if (platform === "win32") {
126
- const args = [
127
- "-Command",
128
- `Get-Process | Where-Object { $_.Modules | Where-Object { $_.FileName -like '*${escapedDataDir}*' } } | Select-Object -ExpandProperty Id`
129
- ];
130
- const output = spawnSync("powershell", args, { encoding: "utf8" });
131
- processesUsingDir = output.stdout.trim().length > 0;
132
- }
133
- else {
134
- const command = `lsof +D "${BROWSER_DATA_DIR}" 2>/dev/null | grep -v COMMAND | wc -l`;
135
- const output = execSync(command, { encoding: "utf8" });
136
- processesUsingDir = parseInt(output.trim()) > 0;
53
+ const launchIds = Object.keys(registry);
54
+ for (const launchId of launchIds) {
55
+ const { pid, ownerPid } = registry[launchId];
56
+ if (!isProcessAlive(ownerPid)) {
57
+ try {
58
+ process.kill(pid, "SIGTERM");
137
59
  }
138
- }
139
- catch (e) {
140
- console.log(`Could not check if processes are using browser-data directory: ${e.message}`);
141
- }
142
- if (existsSync(BROWSER_DATA_DIR)) {
143
- if (!processesUsingDir) {
144
- try {
145
- rmSync(BROWSER_DATA_DIR, { recursive: true, force: true });
146
- console.log(`🧹 Cleaned up browser-data directory: ${BROWSER_DATA_DIR}`);
147
- }
148
- catch {
149
- console.warn(`⚠️ Could not delete browser-data directory, it may be in use: ${BROWSER_DATA_DIR}`);
60
+ catch { }
61
+ await sleep(500);
62
+ try {
63
+ if (isProcessAlive(pid)) {
64
+ process.kill(pid, "SIGKILL");
150
65
  }
151
66
  }
67
+ catch { }
68
+ delete registry[launchId];
69
+ console.log(`🧹 Cleaned up orphaned browser PID ${pid} (launchId: ${launchId})`);
152
70
  }
153
71
  }
72
+ await writeFile(registryPath, JSON.stringify(registry, null, 2));
73
+ };
74
+ const getOS = () => {
75
+ if (process.platform === "win32")
76
+ return "windows";
77
+ if (process.platform === "darwin")
78
+ return "mac";
79
+ return "linux";
154
80
  };
155
81
  const setDevMode = (mode) => {
156
82
  devMode = mode;
157
83
  if (devMode) {
158
84
  console.log("Quick-PDF: Dev Mode Enabled");
85
+ cleanupOrphanedBrowsers().catch(err => {
86
+ console.error("Error during cleanup of orphaned browsers:", err);
87
+ });
159
88
  }
160
89
  };
161
90
  const isBrowserInstalled = async (browser) => {
@@ -169,11 +98,6 @@ const isBrowserInstalled = async (browser) => {
169
98
  return false;
170
99
  }
171
100
  };
172
- let launching = null;
173
- const RESOURCE_LIMIT = 100;
174
- let resourceCount = 0;
175
- let firefoxPagePool = [];
176
- let chromePagePool = [];
177
101
  async function launchPages(browser, type) {
178
102
  let pool = type === "chrome" ? chromePagePool : firefoxPagePool;
179
103
  if (!browser?.connected) {
@@ -268,7 +192,6 @@ async function restorePage(type, page) {
268
192
  firefoxPagePool.push(page);
269
193
  }
270
194
  }
271
- let cleanupRunning = false;
272
195
  async function launchBrowser(browserType, wsURL) {
273
196
  const isBrowserValid = (browser) => {
274
197
  try {
@@ -289,14 +212,12 @@ async function launchBrowser(browserType, wsURL) {
289
212
  return { browser: chrome, type: "chrome" };
290
213
  }
291
214
  else {
292
- const [firefox, chrome] = await Promise.all([
293
- launchBrowser("firefox", wsURL).catch(() => null),
294
- launchBrowser("chrome", wsURL).catch(() => null)
295
- ]);
215
+ const firefox = await launchBrowser("firefox", wsURL).catch(() => null);
296
216
  if (firefox) {
297
217
  return firefox;
298
218
  }
299
- else if (chrome) {
219
+ const chrome = await launchBrowser("chrome", wsURL).catch(() => null);
220
+ if (chrome) {
300
221
  return chrome;
301
222
  }
302
223
  throw new Error("No browser launched yet");
@@ -314,20 +235,6 @@ async function launchBrowser(browserType, wsURL) {
314
235
  type: "chrome"
315
236
  };
316
237
  }
317
- if (cleanupRunning) {
318
- while (cleanupRunning) {
319
- await new Promise(resolve => setTimeout(resolve, 100));
320
- }
321
- }
322
- else {
323
- cleanupRunning = true;
324
- try {
325
- await cleanupPuppeteerBrowsers();
326
- }
327
- finally {
328
- cleanupRunning = false;
329
- }
330
- }
331
238
  if (!(await isBrowserInstalled(browserType))) {
332
239
  throw new Error(`${browserType.toUpperCase()} is not installed.`);
333
240
  }
@@ -347,10 +254,11 @@ async function launchBrowser(browserType, wsURL) {
347
254
  }
348
255
  else {
349
256
  console.log(`Launching local ${browserType.toUpperCase()} browser...`);
257
+ join(os.tmpdir(), `puppeteer-${Date.now()}-${process.pid}`);
350
258
  browser = await puppeteer.launch({
351
259
  browser: browserType,
352
260
  headless: "shell",
353
- userDataDir: join(process.cwd(), "browser-data"),
261
+ userDataDir: undefined,
354
262
  executablePath: BROWSER_PATHS[browserType][getOS()],
355
263
  args: [
356
264
  "--no-sandbox",
@@ -358,7 +266,26 @@ async function launchBrowser(browserType, wsURL) {
358
266
  `--quickpdf-launch-id=${Date.now()}`
359
267
  ]
360
268
  });
269
+ if (devMode) {
270
+ console.log(`${browserType.toUpperCase()} launched with PID: ${browser.process()?.pid}`);
271
+ }
272
+ }
273
+ let registry = {};
274
+ try {
275
+ const data = await readFile(registryPath, "utf8");
276
+ registry = JSON.parse(data);
277
+ }
278
+ catch {
279
+ }
280
+ const pid = browser.process()?.pid;
281
+ if (pid) {
282
+ registry[pid] = {
283
+ pid: pid,
284
+ ownerPid: process.pid,
285
+ started: Date.now()
286
+ };
361
287
  }
288
+ await writeFile(registryPath, JSON.stringify(registry));
362
289
  await launchPages(browser, browserType);
363
290
  console.log(`${browserType.toUpperCase()} browser is ready for usage.`);
364
291
  if (browserType === "chrome") {
@@ -368,7 +295,7 @@ async function launchBrowser(browserType, wsURL) {
368
295
  });
369
296
  chrome.on("disconnected", () => {
370
297
  chrome = null;
371
- console.warn("Browser disconnected unexpectedly");
298
+ console.warn("Browser disconnected");
372
299
  });
373
300
  }
374
301
  else {
@@ -378,7 +305,7 @@ async function launchBrowser(browserType, wsURL) {
378
305
  });
379
306
  firefox.on("disconnected", () => {
380
307
  firefox = null;
381
- console.warn("Browser disconnected unexpectedly");
308
+ console.warn("Browser disconnected");
382
309
  });
383
310
  }
384
311
  launching = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/browsers.ts","../src/modules/pdf2img.ts","../src/utilies.ts","../src/modules/img2pdf.ts","../src/modules/html2pdf.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;AAKA,IAAI,OAAO,GAAmB,IAAI;AAClC,IAAI,MAAM,GAAmB,IAAI;AACjC,IAAI,eAAe,GAAG,KAAK;AAE3B,IAAI,OAAO,GAAY,KAAK;AAG5B,MAAM,YAAY,GAAG,IAAI,CAAG,OAAO,CAAC,GAAG,EAAI,EAAE,0BAA0B,CAAE;AAEzE,MAAM,aAAa,GAAG;AACpB,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,wBAAwB;AAC/B,QAAA,GAAG,EAAE,8DAA8D;AACnE,QAAA,OAAO,EAAE,IAAI,CAAG,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY;AACvF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,GAAG,EAAE,kDAAkD;QACvD,OAAO,EAAE,IAAI,CAAG,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa;AACxE;CACF;AAGD,IAAI,SAAS,GAGD,IAAI;AAChB,MAAM,cAAc,GAAG,GAAG;AAC1B,IAAI,aAAa,GAAG,CAAC;AAErB,IAAI,eAAe,GAAa,EAAG;AACnC,IAAI,cAAc,GAAa,EAAG;AAGlC,MAAM,cAAc,GAAG,CAAE,GAAW,KAAK;AACvC,IAAA,IAAI;AACF,QAAA,OAAO,CAAC,IAAI,CAAG,GAAG,EAAE,CAAC,CAAE;AACvB,QAAA,OAAO,IAAI;IACb;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF,CAAC;AAGD,MAAM,KAAK,GAAG,CAAE,EAAU,KAAM,IAAI,OAAO,CAAG,OAAO,IAAI,UAAU,CAAG,OAAO,EAAE,EAAE,CAAE,CAAE;AAE9E,MAAM,uBAAuB,GAAG,YAAY;IACjD,IAAI,QAAQ,GAAuE,EAAG;AAEtF,IAAA,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAG,YAAY,EAAE,MAAM,CAAE;AACpD,QAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAG,IAAI,CAAE;IAChC;AAAE,IAAA,MAAM;QAEN,QAAQ,GAAG,EAAG;IAChB;IAEA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAG,QAAQ,CAAE;AAC1C,IAAA,KAAM,MAAM,QAAQ,IAAI,SAAS,EAAG;QAClC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAG,QAAQ,CAAE;AAE/C,QAAA,IAAK,CAAC,cAAc,CAAG,QAAQ,CAAE,EAAG;AAElC,YAAA,IAAI;AACF,gBAAA,OAAO,CAAC,IAAI,CAAG,GAAG,EAAE,SAAS,CAAE;YACjC;YAAE,MAAM,EAAE;AAGV,YAAA,MAAM,KAAK,CAAG,GAAG,CAAE;AAEnB,YAAA,IAAI;AACF,gBAAA,IAAK,cAAc,CAAG,GAAG,CAAE,EAAG;AAC5B,oBAAA,OAAO,CAAC,IAAI,CAAG,GAAG,EAAE,SAAS,CAAE;gBACjC;YACF;YAAE,MAAM,EAAE;AAGV,YAAA,OAAO,QAAQ,CAAG,QAAQ,CAAE;YAC5B,OAAO,CAAC,GAAG,CAAG,CAAA,mCAAA,EAAsC,GAAG,CAAA,YAAA,EAAe,QAAQ,CAAA,CAAA,CAAG,CAAE;QACrF;IACF;AAGA,IAAA,MAAM,SAAS,CAAG,YAAY,EAAE,IAAI,CAAC,SAAS,CAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAE,CAAE;AACxE,CAAC;AAGD,MAAM,KAAK,GAAG,MAAM;AAClB,IAAA,IAAK,OAAO,CAAC,QAAQ,KAAK,OAAO;AAAG,QAAA,OAAO,SAAS;AACpD,IAAA,IAAK,OAAO,CAAC,QAAQ,KAAK,QAAQ;AAAG,QAAA,OAAO,KAAK;AACjD,IAAA,OAAO,OAAO;AAChB,CAAC;AAEM,MAAM,UAAU,GAAG,CAAE,IAAa,KAAK;IAC5C,OAAO,GAAG,IAAI;IACd,IAAK,OAAO,EAAG;AACb,QAAA,OAAO,CAAC,GAAG,CAAG,6BAA6B,CAAE;AAE7C,QAAA,uBAAuB,EAAI,CAAC,KAAK,CAAG,GAAG,IAAG;AACxC,YAAA,OAAO,CAAC,KAAK,CAAG,4CAA4C,EAAE,GAAG,CAAE;AACrE,QAAA,CAAC,CAAE;IACL;AACF;AAUA,MAAM,kBAAkB,GAAG,OAAQ,OAA6B,KAAK;AACnE,IAAA,MAAM,EAAE,GAAG,KAAK,EAAI;IACpB,MAAM,WAAW,GAAG,aAAa,CAAG,OAAO,CAAE,CAAG,EAAE,CAAE;AACpD,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,CAAG,WAAW,CAAE;AAC5B,QAAA,OAAO,IAAI;IACb;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF,CAAC;AAED,eAAe,WAAW,CAAG,OAAuB,EAAE,IAA0B,EAAA;AAC9E,IAAA,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,GAAG,cAAc,GAAG,eAAe;AAE/D,IAAA,IAAK,CAAC,OAAO,EAAE,SAAS,EAAG;AACzB,QAAA,MAAM,IAAI,KAAK,CAAG,sBAAsB,CAAE;IAC5C;AAEA,IAAA,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;AACrB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,GAAG;QACL,MAAM,UAAU,CAAG,OAAO,CAAE;QAC5B,MAAM,UAAU,CAAG,OAAO,CAAE;QAC5B,MAAM,UAAU,CAAG,OAAO,CAAE;QAC5B,MAAM,UAAU,CAAG,OAAO,CAAE;QAC5B,MAAM,UAAU,CAAG,OAAO;KAC3B;AAED,IAAA,IAAK,IAAI,KAAK,QAAQ,EAAG;QACvB,cAAc,GAAG,IAAI;IACvB;SAAO;QACL,eAAe,GAAG,IAAI;IACxB;AAEA,IAAA,OAAO,IAAI;AACb;AAEA,eAAe,UAAU,CAAG,OAAuB,EAAA;AACjD,IAAA,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,qBAAqB,EAAI,IAAI,MAAM,OAAO,EAAE,oBAAoB,EAAI;AAI7F,QAAA,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,OAAO,EAAI;QAEvC,IAAK,CAAC,IAAI,EAAG;AACX,YAAA,MAAM,IAAI,KAAK,CAAG,6BAA6B,CAAE;QACnD;AAEA,QAAA,MAAM,IAAI,CAAC,sBAAsB,CAAG,IAAI,CAAE;AAC1C,QAAA,MAAM,IAAI,CAAC,2BAA2B,CAAG,KAAK,CAAE;AAChD,QAAA,MAAM,IAAI,CAAC,IAAI,CAAG,aAAa,CAAE;QACjC,IAAI,CAAC,EAAE,CAAG,SAAS,EAAE,CAAE,OAAY,KAAK;AACtC,YAAA,aAAa,EAAE;AACf,YAAA,IAAK,aAAa,GAAG,cAAc,EAAG;gBACpC,IAAI,CAAC,MAAM,EAAI;gBACf,aAAa,GAAG,CAAC;YACnB;iBAAO;gBACL,OAAO,CAAC,QAAQ,EAAI;YACtB;AACF,QAAA,CAAC,CAAE;AACH,QAAA,IAAI,CAAC,EAAE,CAAG,OAAO,EAAE,GAAG,IAAG;AACvB,YAAA,OAAO,CAAC,KAAK,CAAG,aAAa,EAAE,GAAG,CAAE;AACtC,QAAA,CAAC,CAAE;AACH,QAAA,IAAI,CAAC,EAAE,CAAG,WAAW,EAAE,GAAG,IAAG;AAC3B,YAAA,OAAO,CAAC,KAAK,CAAG,aAAa,EAAE,GAAG,CAAE;AACtC,QAAA,CAAC,CAAE;AACH,QAAA,OAAO,IAAI;IACb;IAAE,OAAQ,GAAG,EAAG;QACd,IAAK,OAAO,EAAG;AACb,YAAA,OAAO,CAAC,GAAG,CAAG,yCAAyC,OAAO,EAAE,OAAO,EAAI,GAAG,QAAQ,GAAG,MAAM,CAAA,CAAE,CAAE;YACnG,OAAO,CAAC,GAAG,CAAG,CAAA,qBAAA,EAAwB,OAAO,EAAE,OAAO,EAAI,GAAG,OAAO,CAAC,OAAO,EAAI,EAAE,GAAG,GAAG,KAAK,CAAA,CAAE,CAAE;AACjG,YAAA,OAAO,CAAC,GAAG,CAAG,CAAA,kBAAA,EAAqB,OAAO,EAAE,eAAe,EAAI,CAAC,MAAM,IAAI,CAAC,CAAA,CAAE,CAAE;YAC/E,OAAO,CAAC,GAAG,CAAG,CAAA,mBAAA,EAAsB,OAAO,EAAE,SAAS,CAAA,CAAE,CAAE;YAC1D,OAAO,CAAC,GAAG,CAAG,CAAA,oBAAA,EAAuB,MAAM,OAAO,EAAE,SAAS,EAAI,CAAA,CAAE,CAAE;YACrE,OAAO,CAAC,GAAG,CAAG,CAAA,iBAAA,EAAoB,MAAM,OAAO,EAAE,OAAO,EAAI,CAAA,CAAE,CAAE;YAChE,KAAM,MAAM,OAAO,IAAI,OAAO,EAAE,eAAgB,IAAK,IAAI,EAAE,EAAG;gBAC5D,OAAO,CAAC,GAAG,CAAG,CAAA,gBAAA,EAAmB,OAAO,CAAC,EAAE,IAAI,SAAS,CAAA,CAAE,CAAE;YAC9D;AACA,YAAA,OAAO,CAAC,GAAG,CAAG,YAAY,OAAO,EAAE,OAAO,EAAI,EAAE,SAAS,EAAE,IAAI,CAAG,GAAG,CAAE,IAAI,gBAAgB,CAAA,CAAE,CAAE;YAC/F,MAAM,OAAO,GAAG,OAAO,EAAE,OAAQ,IAAK,IAAI,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAG,CAAA,SAAA,EAAY,OAAO,CAAC,MAAM,CAAA,CAAE,CAAE;AAC5C,YAAA,OAAO,CAAC,OAAO,CAAG,CAAC,IAAG;AACpB,gBAAA,OAAO,CAAC,GAAG,CAAG,CAAA,iBAAA,EAAoB,CAAC,CAAC,IAAI,EAAG,CAAA,OAAA,EAAU,CAAC,CAAC,GAAG,EAAG,CAAA,CAAE,CAAE;AACnE,YAAA,CAAC,CAAE;QACL;AACA,QAAA,MAAM,GAAG;IACX;AACF;AAEO,eAAe,OAAO,CAAG,IAA0B,EAAA;AACxD,IAAA,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO;AACpD,IAAA,MAAM,WAAW,CAAG,OAAO,EAAE,IAAI,CAAE;AACnC,IAAA,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,GAAG,cAAc,GAAG,eAAe;AACjE,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAI;AACzB,IAAA,IAAK,CAAC,IAAI;AAAG,QAAA,OAAO,MAAM,UAAU,CAAG,OAAO,CAAE;AAChD,IAAA,OAAO,IAAI;AACb;AAEO,eAAe,WAAW,CAAG,IAA0B,EAAE,IAAU,EAAA;IACxE,MAAM,IAAI,CAAC,WAAW,CAAG;AACvB,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,iBAAiB,EAAE;AACpB,KAAA,CAAE;AACH,IAAA,IAAK,IAAI,KAAK,QAAQ,EAAG;AACvB,QAAA,cAAc,CAAC,IAAI,CAAG,IAAI,CAAE;IAC9B;AAAO,SAAA,IAAK,IAAI,KAAK,SAAS,EAAG;AAC/B,QAAA,eAAe,CAAC,IAAI,CAAG,IAAI,CAAE;IAC/B;AACF;AAEA,eAAe,aAAa,CAAG,WAAkC,EAAE,KAAc,EAAA;AAI/E,IAAA,MAAM,cAAc,GAAG,CAAE,OAAuB,KAAK;AACnD,QAAA,IAAI;YACF,IAAK,OAAO,IAAI,OAAO,CAAC,eAAe,EAAI,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAI,KAAK,IAAI,EAAG;AACxG,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,OAAO,KAAK;QACd;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,KAAK;QACd;AACF,IAAA,CAAC;IACD,IAAK,CAAC,WAAW,EAAG;AAClB,QAAA,IAAK,cAAc,CAAG,OAAO,CAAE,EAAG;YAChC,OAAO,EAAE,OAAO,EAAE,OAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/C;AAAO,aAAA,IAAK,cAAc,CAAG,MAAM,CAAE,EAAG;YACtC,OAAO,EAAE,OAAO,EAAE,MAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7C;aAAO;AAEL,YAAA,MAAM,OAAO,GAAG,MAAM,aAAa,CAAG,SAAS,EAAE,KAAK,CAAE,CAAC,KAAK,CAAG,MAAO,IAAI,CAAE;YAC9E,IAAK,OAAO,EAAG;AACb,gBAAA,OAAO,OAAO;YAChB;AACA,YAAA,MAAM,MAAM,GAAG,MAAM,aAAa,CAAG,QAAQ,EAAE,KAAK,CAAE,CAAC,KAAK,CAAG,MAAO,IAAI,CAAE;YAC5E,IAAK,MAAM,EAAG;AACZ,gBAAA,OAAO,MAAM;YACf;AACA,YAAA,MAAM,IAAI,KAAK,CAAG,yBAAyB,CAAE;QAC/C;IACF;IAEA,IAAK,WAAW,KAAK,SAAS,IAAI,cAAc,CAAG,OAAO,CAAE,EAAG;QAC7D,OAAO;AACL,YAAA,OAAO,EAAE,OAAQ;AACjB,YAAA,IAAI,EAAE;SACP;IACH;SAAO,IAAK,WAAW,KAAK,QAAQ,IAAI,cAAc,CAAG,MAAM,CAAE,EAAG;QAClE,OAAO;AACL,YAAA,OAAO,EAAE,MAAO;AAChB,YAAA,IAAI,EAAE;SACP;IACH;IAEA,IAAK,EAAG,MAAM,kBAAkB,CAAG,WAAW,CAAE,CAAE,EAAG;QACnD,MAAM,IAAI,KAAK,CAAG,CAAA,EAAG,WAAW,CAAC,WAAW,EAAI,CAAA,kBAAA,CAAoB,CAAE;IACxE;IAEA,IAAK,SAAS,EAAG;AACf,QAAA,MAAM,SAAS;AACf,QAAA,OAAO,aAAa,CAAG,WAAW,EAAE,KAAK,CAAE;IAC7C;AAEA,IAAA,SAAS,GAAG,CAAE,YAAY;AACxB,QAAA,eAAe,GAAG,CAAC,CAAC,KAAK;AACzB,QAAA,IAAI,OAAgB;QACpB,IAAK,KAAK,EAAG;YACX,OAAO,CAAC,GAAG,CAAG,CAAA,iBAAA,EAAoB,WAAW,CAAC,WAAW,EAAI,CAAA,WAAA,CAAa,CAAE;AAC5E,YAAA,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAG;AAClC,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,mBAAmB,EAAE;AACtB,aAAA,CAAE;QACL;aAAO;YACL,OAAO,CAAC,GAAG,CAAG,CAAA,gBAAA,EAAmB,WAAW,CAAC,WAAW,EAAI,CAAA,WAAA,CAAa,CAAE;YACvD,IAAI,CAAG,EAAE,CAAC,MAAM,EAAI,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,GAAG,EAAI,CAAA,CAAA,EAAI,OAAO,CAAC,GAAG,CAAA,CAAE;AACpF,YAAA,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAG;AACjC,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAwC,SAAS;gBAC5D,cAAc,EAAE,aAAa,CAAG,WAAW,CAAE,CAAG,KAAK,EAAI,CAAE;AAC3D,gBAAA,IAAI,EAAE;oBACJ,cAAc;oBACd,0BAA0B;AAC1B,oBAAA,CAAA,qBAAA,EAAwB,IAAI,CAAC,GAAG,EAAG,CAAA;AACpC;AACF,aAAA,CAAE;YACH,IAAK,OAAO,EAAG;AACb,gBAAA,OAAO,CAAC,GAAG,CAAG,CAAA,EAAG,WAAW,CAAC,WAAW,EAAI,CAAA,oBAAA,EAAuB,OAAO,CAAC,OAAO,EAAI,EAAE,GAAG,CAAA,CAAE,CAAE;YACjG;QAIF;QAGA,IAAI,QAAQ,GAAuE,EAAG;AACtF,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAG,YAAY,EAAE,MAAM,CAAE;AACpD,YAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAG,IAAI,CAAE;QAChC;AAAE,QAAA,MAAM;QAER;QAEA,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAI,EAAE,GAAG;QACpC,IAAK,GAAG,EAAG;YACT,QAAQ,CAAG,GAAG,CAAE,GAAG;AACjB,gBAAA,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,OAAO,CAAC,GAAG;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,GAAG;aAClB;QACH;QAEA,MAAM,SAAS,CAAG,YAAY,EAAE,IAAI,CAAC,SAAS,CAAG,QAAQ,CAAE,CAAE;AAE7D,QAAA,MAAM,WAAW,CAAG,OAAO,EAAE,WAAW,CAAE;QAE1C,OAAO,CAAC,GAAG,CAAG,CAAA,EAAG,WAAW,CAAC,WAAW,EAAI,CAAA,4BAAA,CAA8B,CAAE;AAE5E,QAAA,IAAK,WAAW,KAAK,QAAQ,EAAG;YAC9B,MAAM,GAAG,OAAO;AAChB,YAAA,MAAM,CAAC,EAAE,CAAG,iBAAiB,EAAE,MAAM,IAAG;gBACtC,OAAO,CAAC,GAAG,CAAG,CAAA,kBAAA,EAAqB,MAAM,CAAC,GAAG,EAAG,CAAA,CAAE,CAAE;AACtD,YAAA,CAAC,CAAE;AACH,YAAA,MAAM,CAAC,EAAE,CAAG,cAAc,EAAE,MAAM;gBAChC,MAAM,GAAG,IAAI;AACb,gBAAA,OAAO,CAAC,IAAI,CAAG,sBAAsB,CAAE;AACzC,YAAA,CAAC,CAAE;QACL;aAAO;YACL,OAAO,GAAG,OAAO;AACjB,YAAA,OAAO,CAAC,EAAE,CAAG,iBAAiB,EAAE,MAAM,IAAG;gBACvC,OAAO,CAAC,GAAG,CAAG,CAAA,kBAAA,EAAqB,MAAM,CAAC,GAAG,EAAG,CAAA,CAAE,CAAE;AACtD,YAAA,CAAC,CAAE;AACH,YAAA,OAAO,CAAC,EAAE,CAAG,cAAc,EAAE,MAAM;gBACjC,OAAO,GAAG,IAAI;AACd,gBAAA,OAAO,CAAC,IAAI,CAAG,sBAAsB,CAAE;AACzC,YAAA,CAAC,CAAE;QACL;QAEA,SAAS,GAAG,IAAI;QAChB,OAAO;YACL,OAAO;AACP,YAAA,IAAI,EAAE;SACP;IACH,CAAC,GAAM;AAEP,IAAA,OAAO,SAAS;AAClB;AAGA,eAAe,YAAY,GAAA;AACzB,IAAA,IAAI;AACF,QAAA,IAAK,MAAM,EAAE,SAAS,EAAG;AACvB,YAAA,MAAM,MAAM,CAAC,UAAU,EAAI;QAC7B;AACA,QAAA,IAAK,OAAO,EAAE,SAAS,EAAG;AACxB,YAAA,MAAM,OAAO,CAAC,UAAU,EAAI;QAC9B;QAEA,IAAK,CAAC,eAAe,EAAG;YACtB,IAAK,MAAM,EAAG;AACZ,gBAAA,MAAM,MAAM,CAAC,KAAK,EAAI;YACxB;YACA,IAAK,OAAO,EAAG;AACb,gBAAA,MAAM,OAAO,CAAC,KAAK,EAAI;YACzB;QACF;AACA,QAAA,OAAO,CAAC,GAAG,CAAG,8BAA8B,CAAE;QAC9C,MAAM,GAAG,IAAI;QACb,OAAO,GAAG,IAAI;IAChB;IAAE,OAAQ,GAAG,EAAG;AACd,QAAA,OAAO,CAAC,KAAK,CAAG,oDAAoD,EAAE,GAAG,CAAE;IAC7E;AACF;AAGA,OAAO,CAAC,EAAE,CAAG,MAAM,EAAE,YAAY;IAC/B,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;AAGH,OAAO,CAAC,EAAE,CAAG,QAAQ,EAAE,YAAY;AACjC,IAAA,OAAO,CAAC,GAAG,CAAG,sCAAsC,CAAE;IACtD,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;AAEH,OAAO,CAAC,EAAE,CAAG,SAAS,EAAE,YAAY;AAClC,IAAA,OAAO,CAAC,GAAG,CAAG,uCAAuC,CAAE;IACvD,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;AAEH,OAAO,CAAC,EAAE,CAAG,mBAAmB,EAAE,YAAY;IAC5C,MAAM,YAAY,EAAI;AACxB,CAAC,CAAE;;AC/WI,MAAM,OAAO,GAAG,OACrB,KAA4B,EAC5B,OAAA,GAAmB,EAAG,KACpB;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAG,SAAS,CAAE;AAErD,IAAA,IAAK,CAAC,OAAO,EAAE,SAAS,EAAG;AACzB,QAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;IAC7C;AAEA,IAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAG,SAAS,CAAE;IAExC,IAAI,IAAI,GAAW,EAAE;IACrB,IAAI,OAAO,GAAW,EAAE;IACxB,IAAI,QAAQ,GAAY,KAAK;AAE7B,IAAA,IAAK,MAAM,CAAC,QAAQ,CAAG,KAAK,CAAE,EAAG;QAC/B,IAAI,GAAG,OAAO,CAAG,OAAO,CAAC,GAAG,EAAI,EAAE,UAAU,CAAE;QAC9C,OAAO,GAAG,aAAa,CAAG,IAAI,CAAE,CAAC,QAAQ,EAAI;QAC7C,QAAQ,GAAG,IAAI;AACf,QAAA,MAAM,SAAS,CAAG,IAAI,EAAE,KAAK,CAAE;IACjC;SAAO;AACL,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAG,MAAM,CAAE,EAAG;YAC9D,IAAI,GAAG,KAAK;YACZ,OAAO,GAAG,IAAI;QAChB;aAAO;YACL,IAAI,GAAG,OAAO,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE;YACrC,OAAO,GAAG,aAAa,CAAG,IAAI,CAAE,CAAC,QAAQ,EAAI;QAC/C;IACF;AAEA,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,CAAC,IAAI,CAAG,OAAO,CAAE;AAE3B,QAAA,IAAK,OAAO,CAAC,QAAQ,EAAG;AACtB,YAAA,IAAI;AAEF,gBAAA,MAAM,IAAI,CAAC,eAAe,CAAG,wBAAwB,EAAE;AACrD,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE;AACV,iBAAA,CAAE;AAGH,gBAAA,OAAO,CAAC,GAAG,CAAG,gDAAgD,CAAE;AAChE,gBAAA,MAAM,IAAI,CAAC,IAAI,CAAG,wBAAwB,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAE;gBACpE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAG,OAAO,CAAE;YACvC;YAAE,MAAM,EAAE;QACZ;AAEA,QAAA,MAAM,IAAI,CAAC,eAAe,CAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAE;QAE1D,MAAM,YAAY,GAAG,EAAG;QAExB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;AAC5C,YAAA,IAAO,MAAe,CAAC,oBAAoB,EAAG;AAC5C,gBAAA,OAAS,MAAe,CAAC,oBAAoB,CAAC,UAAU;YAC1D;AACA,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAE;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;AAC3C,YAAA,MAAM,GAAG,GAAK,MAAe,CAAC,oBAAoB;AAClD,YAAA,IAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAG;AAC5B,gBAAA,OAAO,GAAG,CAAC,YAAY,IAAI,EAAG;YAChC;AACA,YAAA,OAAO,EAAG;AACZ,QAAA,CAAC,CAAE;QAGH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,MAAM;YAC1C,MAAM,MAAM,GAAQ,QAAQ,CAAC,aAAa,CAAG,QAAQ,CAAE;YACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAI;AAC1D,YAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;AAC1B,QAAA,CAAC,CAAE;QAGH,MAAM,IAAI,CAAC,WAAW,CAAG;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,YAAA,iBAAiB,EAAE;AACpB,SAAA,CAAE;AAEH,QAAA,IAAK,OAAO,CAAC,IAAI,EAAG;AAClB,YAAA,IAAK,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,EAAG;gBAClD,MAAM,IAAI,KAAK,CAAG,CAAA,YAAA,EAAe,OAAO,CAAC,IAAI,CAAA,2BAAA,EAA8B,SAAS,CAAA,OAAA,CAAS,CAAE;YACjG;AACA,YAAA,YAAY,CAAC,IAAI,CAAG,MAAM,UAAU,CAAG,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAE,CAAE;QACxE;aAAO;AACL,YAAA,KAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAG;AACrC,gBAAA,YAAY,CAAC,IAAI,CAAG,MAAM,UAAU,CAAG,IAAI,EAAE,CAAC,EAAE,OAAO,CAAE,CAAE;YAC7D;QACF;QAEA,IAAK,QAAQ,EAAG;AACd,YAAA,MAAM,MAAM,CAAG,IAAI,CAAE;QACvB;AAEA,QAAA,MAAM,WAAW,CAAG,SAAS,EAAE,IAAI,CAAE;QAGrC,OAAO;AACL,YAAA,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;AACvB,YAAA,KAAK,EAAE;SACR;IACH;IAAE,OAAQ,KAAK,EAAG;QAChB,IAAK,QAAQ,EAAG;AACd,YAAA,MAAM,MAAM,CAAG,IAAI,CAAE;QACvB;AAEA,QAAA,MAAM,WAAW,CAAG,SAAS,EAAE,IAAI,CAAE;AAErC,QAAA,MAAM,KAAK;IACb;YAAU;AACR,QAAA,IAAK,OAAO,CAAC,YAAY,EAAG;YAC1B,MAAM,YAAY,EAAI;QACxB;IACF;AACF;AAEA,MAAM,UAAU,GAAG,OAAQ,IAAU,EAAE,UAAkB,EAAE,OAAgB,KAAsB;AAE/F,IAAA,MAAM,IAAI,CAAC,QAAQ,CAAG,CAAE,OAAO,KAAK;AAClC,QAAA,IAAO,MAAe,CAAC,oBAAoB,EAAG;AAC1C,YAAA,MAAe,CAAC,oBAAoB,CAAC,IAAI,GAAG,OAAO;QACvD;IACF,CAAC,EAAE,UAAU,CAAE;AAEf,IAAA,MAAM,IAAI,CAAC,eAAe,CAAG,2BAA2B,UAAU,CAAA,EAAA,CAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAE;AAE3F,IAAA,MAAM,IAAI,CAAC,eAAe,CAAG,CAAE,OAAO,KAAK;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAG,CAAA,wBAAA,EAA2B,OAAO,CAAA,EAAA,CAAI,CAAE;AACvF,QAAA,IAAK,CAAC,aAAa;AAAG,YAAA,OAAO,IAAI;AACjC,QAAA,OAAO,CAAC,aAAa,CAAC,aAAa,CAAG,cAAc,CAAE;AACxD,IAAA,CAAC,EAAE,EAAE,EAAE,UAAU,CAAE;IAEnB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAG,CAAE,OAAO,KAAK;QAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAG,CAAA,wBAAA,EAA2B,OAAO,CAAA,EAAA,CAAI,CAAE;AACvF,QAAA,IAAK,CAAC,aAAa;AAAG,YAAA,MAAM,IAAI,KAAK,CAAG,2BAA2B,OAAO,CAAA,UAAA,CAAY,CAAE;QACxF,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAG,QAAQ,CAAE;AACvD,QAAA,IAAK,CAAC,MAAM;AAAG,YAAA,MAAM,IAAI,KAAK,CAAG,mBAAmB,OAAO,CAAA,UAAA,CAAY,CAAE;AACzE,QAAA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,EAAI;QAChE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,CAAC,EAAE,UAAU,CAAE;AAEf,IAAA,MAAM,iBAAiB,GAAsB;AAC3C,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;AAC3B,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,MAAM,EAAE,eAAe,CAAC;AACzB;KACF;IAED,IAAK,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAG;QAC5C,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG;IACpD;AAEA,IAAA,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAG,iBAAiB,CAAE;AAE9D,QAAA,OAAO,MAAM,CAAC,IAAI,CAAG,UAAU,CAAE;IACnC;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAG,yBAAyB,UAAU,CAAA,WAAA,CAAa,CAAE;IACtE;AACF,CAAC;;ACtMM,eAAe,SAAS,CAAG,KAA4B,EAAA;AAC5D,IAAA,IAAK,KAAK,YAAY,MAAM,EAAG;AAC7B,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,OAAO,KAAK,CAAG,KAAK,CAAC,QAAQ,EAAI;SAC9B,IAAI,CAAG,GAAG,IAAG;AACZ,QAAA,IAAK,GAAG,CAAC,EAAE,EAAG;AACZ,YAAA,OAAO,GAAG,CAAC,WAAW,EAAI;QAC5B;aAAO;AACL,YAAA,MAAM,IAAI,KAAK,CAAG,0BAA0B,CAAE;QAChD;AACF,IAAA,CAAC;SACA,IAAI,CAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAG,KAAK,CAAE;SACrC,KAAK,CAAG,MAAM;QACb,IAAK,UAAU,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE,EAAG;AACvC,YAAA,OAAO,YAAY,CAAG,KAAK,CAAC,QAAQ,EAAI,CAAE;QAC5C;AACA,QAAA,MAAM,IAAI,KAAK,CAAG,0BAA0B,CAAE;AAChD,IAAA,CAAC,CAAE;AACP;AASO,MAAM,gBAAgB,GAAG,OAAQ,GAAW,KAAK;AACtD,IAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAG,GAAG,CAAE;AACpC,IAAA,IAAK,CAAC,QAAQ,CAAC,EAAE,EAAG;AAClB,QAAA,MAAM,IAAI,KAAK,CAAG,qCAAqC,GAAG,CAAA,CAAE,CAAE;IAChE;AACA,IAAA,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAI;AAChC,CAAC;AASM,MAAM,oBAAoB,GAAG,OAAQ,QAAgB,KAAK;AAC/D,IAAA,OAAO,YAAY,CAAG,QAAQ,EAAE,OAAO,CAAE;AAC3C,CAAC;;ACtBM,MAAM,OAAO,GAAG,OACrB,KAA4B,EAC5B,OAAA,GAAmB,EAAE,KACnB;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,OAAS,WAAW,CAAE;IAC3D,OAAO,IAAI,OAAO,CAAW,CAAE,OAAO,EAAE,MAAM,KAAK;QACjD,SAAS,CAAG,KAAK,CAAE,CAAC,IAAI,CAAG,OAAQ,GAAG,KAAK;AACzC,YAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAG,GAAG,CAAE;AAC7C,YAAA,IAAK,IAAI,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAG;AAC/D,gBAAA,MAAM,IAAI,KAAK,CAAG,uCAAuC,CAAE;YAC7D;YAEA,MAAM,UAAU,GAAU,EAAE;AAC5B,YAAA,MAAM,OAAO,GAAG,SAAS,CAAG,GAAG,CAAE;YACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;AAE1F,YAAA,MAAM,GAAG,GAAG,IAAI,WAAW,CAAG;AAC5B,gBAAA,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU;AAC5C,gBAAA,OAAO,EAAE;AACP,oBAAA,GAAG,EAAE,CAAC;AACN,oBAAA,MAAM,EAAE,CAAC;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,KAAK,EAAE;AACR;AACF,aAAA,CAAE;YAEH,GAAG,CAAC,EAAE,CAAG,MAAM,EAAE,CAAE,IAAI,KAAK;AAC1B,gBAAA,UAAU,CAAC,IAAI,CAAG,IAAI,CAAE;AAC1B,YAAA,CAAC,CAAE;AAEH,YAAA,GAAG,CAAC,EAAE,CAAG,KAAK,EAAE,MAAK;gBACnB,OAAO,CAAG,MAAM,CAAC,MAAM,CAAG,UAAU,CAAE,CAAE;AAC1C,YAAA,CAAC,CAAE;YAEH,GAAG,CAAC,QAAQ,CAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAE;AAEvC,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC;AACzC,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC;YAC5C,MAAM,WAAW,GAAG,EAAE;YACtB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,YAAY;AAE9D,YAAA,IAAK,OAAO,CAAC,MAAM,EAAG;AACpB,gBAAA,GAAG,CAAC,IAAI,CAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE;AACzD,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;oBACvC,MAAM,EAAE,SAAS,GAAG,CAAC;AACrB,oBAAA,QAAQ,EAAE;AACX,iBAAA,CAAE,CAAC,QAAQ,CAAG,GAAG,CAAE;YACtB;YAEA,GAAG,CAAC,KAAK,CAAG,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7B,gBAAA,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;AACrB,gBAAA,MAAM,EAAE;AACT,aAAA,CAAE;AAEH,YAAA,IAAK,OAAO,CAAC,MAAM,EAAG;gBACpB,GAAG,CAAC,IAAI,CAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE;AAC9E,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW;oBACvC,MAAM,EAAE,YAAY,GAAG,CAAC;AACxB,oBAAA,QAAQ,EAAE;AACX,iBAAA,CAAE;YACL;YAEA,GAAG,CAAC,GAAG,EAAG;AACZ,QAAA,CAAC,CAAE,CAAC,KAAK,CAAG,CAAE,CAAC,KAAK;YAClB,MAAM,CAAG,CAAC,CAAE;AACd,QAAA,CAAC,CAAE,CAAC,OAAO,CAAG,YAAY;AACxB,YAAA,IAAK,OAAO,CAAC,YAAY,EAAG;gBAC1B,MAAM,YAAY,EAAI;YACxB;AACF,QAAA,CAAC,CAAE;AACL,IAAA,CAAC,CAAE;AACL;;AC3EO,MAAM,QAAQ,GAAG,OACtB,KAAmB,EACnB,OAAA,GAAmB,EAAG,KACpB;IACF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,EAAI;IAEjD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAG,OAAO,CAAC,KAAK,IAAI;QACpD,OAAO,EAAE,CAAE,wBAAwB,CAAE;AACrC,QAAA,KAAK,EAAE;AACL,YAAA,wBAAwB,EAAE;AAC3B;AACF,KAAA,CAAE;AAEH,IAAA,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAI;AAGpC,IAAA,IAAK,WAAW,CAAC,UAAU,CAAG,SAAS,CAAE,IAAI,WAAW,CAAC,UAAU,CAAG,UAAU,CAAE,EAAG;AACnF,QAAA,WAAW,GAAG,MAAM,gBAAgB,CAAG,WAAW,CAAE;IACtD;AAEK,SAAA,IAAK,UAAU,CAAG,KAAK,CAAE,EAAG;AAC/B,QAAA,WAAW,GAAG,MAAM,oBAAoB,CAAG,WAAW,CAAE;IAC1D;AAEA,IAAA,IAAK,CAAC,OAAO,EAAE,SAAS,EAAG;AACzB,QAAA,MAAM,IAAI,KAAK,CAAG,uBAAuB,CAAE;IAC7C;AAEA,IAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAG,IAAI,CAAE;IAEnC,MAAM,UAAU,IAAK,OAAO,CAAC,UAAU,IAAI,IAAI,CAAE;AACjD,IAAA,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAG,WAAW,CAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;AACzF,QAAA,IAAK,GAAG,CAAC,KAAK,EAAG;AACf,YAAA,MAAM,IAAI,CAAC,UAAU,CAAG,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAE;AAC5D,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAG;AAC3B,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,eAAe,EAAE;AAClB,aAAA,CAAE;YAEH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAG,GAAG,CAAE;AACrC,YAAA,IAAK,OAAO,CAAC,MAAM,IAAI,KAAK,EAAG;AAC7B,gBAAA,OAAO,SAAS,CAAC,QAAQ,CAAG,QAAQ,CAAE;YACxC;AACA,YAAA,OAAO,SAAS;QAClB;aAAO;YAEL,MAAM;AACJ,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE;oBACL,MAAM,EAAI,GAAe,CAAC,UAAU;oBACpC,QAAQ,EAAI,GAAe,CAAC;AAC7B,iBAAA;gBACD,UAAU,EAAI,GAAe,CAAC,OAAO,CAAC,GAAG,CAAG,GAAG,IAAG;oBAChD,OAAO;wBACL,IAAI,EAAE,GAAG,CAAC,QAAQ;AAClB,wBAAA,KAAK,EAAE;4BACL,MAAM,EAAE,GAAG,CAAC,UAAU;4BACtB,QAAQ,EAAE,GAAG,CAAC;AACf,yBAAA;wBACD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAG,GAAG,IAAG;4BACjC,OAAO;gCACL,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,MAAM,EAAE,GAAG,CAAC;6BACb;AACH,wBAAA,CAAC;qBACF;AACH,gBAAA,CAAC;aACF;QACH;IACF;YAAU;AACR,QAAA,MAAM,WAAW,CAAG,IAAI,EAAE,IAAI,CAAE;AAChC,QAAA,IAAK,OAAO,CAAC,YAAY,EAAG;YAC1B,MAAM,YAAY,EAAI;QACxB;IACF;AACF;;ACpHA,MAAM,eAAe,GAAG,UAAU;AAElC,IAAK,CAAC,SAAS,CAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAE,EAAG;IACrD,OAAO,CAAC,KAAK,CACX,CAAA,yBAAA,EAA4B,eAAe,CAAA,4BAAA,EAA+B,OAAO,CAAC,OAAO,CAAA,GAAA,CAAK,CAC/F;AACD,IAAA,OAAO,CAAC,IAAI,CAAG,CAAC,CAAE;AACpB;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { Browser, Page } from "puppeteer";
2
- export declare const cleanupPuppeteerBrowsers: () => void;
2
+ export declare const cleanupOrphanedBrowsers: () => Promise<void>;
3
3
  export declare const setDevMode: (mode: boolean) => void;
4
+ export declare const setDataDir: (mode: boolean) => void;
4
5
  export declare function getPage(type: "chrome" | "firefox"): Promise<Page>;
5
6
  export declare function restorePage(type: "chrome" | "firefox", page: Page): Promise<void>;
6
7
  declare function launchBrowser(browserType?: "firefox" | "chrome", wsURL?: string): Promise<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iqx-limited/quick-pdf",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "author": "IQX",
5
5
  "description": "Converting PDFs to images (📃 to 📸)",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "image-size": "^2.0.2",
51
51
  "path2d-polyfill": "^3.2.1",
52
52
  "pdfkit": "^0.17.2",
53
- "puppeteer": "^24.26.1",
53
+ "puppeteer": "^24.27.0",
54
54
  "rollup-plugin-node-externals": "^8.1.1",
55
55
  "semver": "^7.7.3"
56
56
  },
@@ -60,7 +60,7 @@
60
60
  "@rollup/plugin-node-resolve": "^16.0.3",
61
61
  "@rollup/plugin-typescript": "^12.3.0",
62
62
  "@stylistic/eslint-plugin": "^5.5.0",
63
- "@types/node": "^24.9.1",
63
+ "@types/node": "^24.9.2",
64
64
  "@types/pdfkit": "^0.17.3",
65
65
  "@types/semver": "^7.7.1",
66
66
  "eslint": "^9.38.0",