@oxlayer/cli 0.0.1 → 0.0.2

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/cli.js CHANGED
@@ -1,1328 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- createSpinner,
4
- error,
5
- formatDuration,
6
- getBanner,
7
- header,
8
- info,
9
- printCapabilities,
10
- printList,
11
- success,
12
- warning as warning2
13
- } from "./chunk-HOFSFUN5.js";
14
- import {
15
- getInstalledVersion,
16
- getVendorDir,
17
- hasPackageJson,
18
- readPackageJson
19
- } from "./chunk-M3AAB53U.js";
20
- import {
21
- healthCheck,
22
- requestPackageDownload,
23
- resolveCapabilities
24
- } from "./chunk-DOYXC6AO.js";
25
- import {
26
- getAuthInfo,
27
- getDeviceName,
28
- getManifest,
29
- init_device_auth_service,
30
- initiateDeviceAuth,
31
- isTokenExpired,
32
- loadConfig,
33
- openBrowser,
34
- pollForToken,
35
- saveConfig
36
- } from "./chunk-QERPYPW4.js";
37
- import {
38
- __require,
39
- init_esm_shims
40
- } from "./chunk-HQST7GVM.js";
41
-
42
- // src/cli.ts
43
- init_esm_shims();
44
- import { Command } from "commander";
45
-
46
- // src/commands/login.command.ts
47
- init_esm_shims();
48
- init_device_auth_service();
49
- async function login(options = {}) {
50
- header("OxLayer Authentication");
51
- const deviceName = await getDeviceName();
52
- info(`Device: ${deviceName}`);
53
- info(`Environment: ${options.environment || "development"}`);
54
- info(`API Endpoint: ${options.apiEndpoint || "http://localhost:3001"}`);
55
- console.log();
56
- const spinner = createSpinner("Initiating device authorization...");
57
- spinner.start();
58
- let deviceCodeResponse;
59
- try {
60
- const apiEndpoint = options.apiEndpoint || "http://localhost:3001";
61
- info(`API Endpoint: ${apiEndpoint}`);
62
- deviceCodeResponse = await initiateDeviceAuth(
63
- options.environment || "development",
64
- apiEndpoint
65
- );
66
- spinner.succeed("Device authorization initiated");
67
- } catch (err) {
68
- spinner.fail("Failed to initiate device authorization");
69
- error(err instanceof Error ? err.message : "Unknown error");
70
- process.exit(1);
71
- }
72
- console.log();
73
- info("To complete authentication, follow these steps:");
74
- console.log();
75
- const verificationUrl = deviceCodeResponse.verificationUrl;
76
- const userCode = deviceCodeResponse.userCode;
77
- console.log(` 1. Visit this URL in your browser:`);
78
- console.log(` ${verificationUrl}`);
79
- console.log();
80
- console.log(` 2. Enter this code when prompted:`);
81
- console.log(` ${userCode}`);
82
- console.log();
83
- if (!options["no-browser"]) {
84
- try {
85
- const urlWithCode = new URL(verificationUrl);
86
- urlWithCode.searchParams.set("device_code", deviceCodeResponse.deviceCode);
87
- const openSpinner = createSpinner("Opening browser...");
88
- openSpinner.start();
89
- await openBrowser(urlWithCode.toString());
90
- openSpinner.succeed("Browser opened");
91
- } catch (err) {
92
- info("Could not open browser automatically. Please visit the URL manually.");
93
- }
94
- } else {
95
- info("Browser auto-open disabled (--no-browser flag set)");
96
- }
97
- console.log();
98
- info("Waiting for authentication to complete...");
99
- const pollSpinner = createSpinner("Waiting for approval");
100
- try {
101
- pollSpinner.start();
102
- const result = await pollForToken(
103
- deviceCodeResponse.pollEndpoint,
104
- deviceCodeResponse.deviceCode,
105
- {
106
- interval: options["poll-interval"] || deviceCodeResponse.interval,
107
- maxAttempts: 120,
108
- // 2 minutes
109
- onProgress: (attempt, maxAttempts) => {
110
- if (attempt % 8 === 0) {
111
- pollSpinner.text = `Waiting for approval (${Math.floor(attempt / maxAttempts * 100)}%)`;
112
- }
113
- }
114
- }
115
- );
116
- pollSpinner.succeed("Authentication successful");
117
- const apiEndpoint = options.apiEndpoint || "http://localhost:3001";
118
- const config = {
119
- token: result.accessToken,
120
- tokenInfo: result.tokenInfo,
121
- organizationId: result.organizationId,
122
- environment: options.environment || "development",
123
- vendorDir: ".capabilities-vendor",
124
- apiEndpoint,
125
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
126
- };
127
- await saveConfig(config);
128
- pollSpinner.stop();
129
- console.log();
130
- success("Logged in successfully");
131
- info(`Organization: ${result.organizationId}`);
132
- info(`Device ID: ${result.tokenInfo.deviceId}`);
133
- info(`Scopes: ${result.tokenInfo.scopes.join(", ")}`);
134
- info(`Expires: ${new Date(result.tokenInfo.expiresAt).toLocaleString()}`);
135
- process.exit(0);
136
- } catch (err) {
137
- pollSpinner.fail("Authentication failed");
138
- error(err instanceof Error ? err.message : "Unknown error");
139
- process.exit(1);
140
- }
141
- }
142
-
143
- // src/commands/status.command.ts
144
- init_esm_shims();
145
- init_device_auth_service();
146
-
147
- // src/utils/env.ts
148
- init_esm_shims();
149
- import { existsSync, readFileSync } from "fs";
150
- import { join } from "path";
151
- function detectPackageManager(cwd = process.cwd()) {
152
- if (existsSync(join(cwd, "pnpm-lock.yaml"))) {
153
- return "pnpm";
154
- }
155
- if (existsSync(join(cwd, "bun.lockb"))) {
156
- return "bun";
157
- }
158
- if (existsSync(join(cwd, "yarn.lock"))) {
159
- return "yarn";
160
- }
161
- if (existsSync(join(cwd, "package-lock.json"))) {
162
- return "npm";
163
- }
164
- return "unknown";
165
- }
166
- function findProjectRoot(startDir = process.cwd()) {
167
- let currentDir = startDir;
168
- while (currentDir !== "/" && currentDir !== ".") {
169
- if (existsSync(join(currentDir, "package.json"))) {
170
- if (existsSync(join(currentDir, "pnpm-workspace.yaml")) || existsSync(join(currentDir, "turbo.json")) || existsSync(join(currentDir, "lerna.json")) || existsSync(join(currentDir, "nx.json"))) {
171
- return currentDir;
172
- }
173
- try {
174
- const pkgPath = join(currentDir, "package.json");
175
- const pkgContent = readFileSync(pkgPath, "utf-8");
176
- const pkg = JSON.parse(pkgContent);
177
- if (pkg.workspaces) {
178
- return currentDir;
179
- }
180
- } catch {
181
- }
182
- if (currentDir === startDir) {
183
- return currentDir;
184
- }
185
- }
186
- const parentDir = join(currentDir, "..");
187
- if (parentDir === currentDir) {
188
- break;
189
- }
190
- currentDir = parentDir;
191
- }
192
- return startDir;
193
- }
194
- async function detectProjectType(cwd = process.cwd()) {
195
- const rootDir = findProjectRoot(cwd);
196
- const hasPackageJson2 = existsSync(join(rootDir, "package.json"));
197
- const hasTsConfig = existsSync(join(rootDir, "tsconfig.json")) || existsSync(join(rootDir, "tsconfig.json"));
198
- const packageManager = detectPackageManager(rootDir);
199
- let type = "unknown";
200
- if (hasPackageJson2) {
201
- try {
202
- const pkg = await readPackageJson(rootDir);
203
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
204
- const hasReact = "react" in deps || "react-dom" in deps || "@types/react" in deps || "next" in deps;
205
- const hasHono = "hono" in deps || "@hono/hono" in deps;
206
- const isFrontend = hasReact;
207
- const isBackend = hasHono;
208
- if (isFrontend && isBackend) {
209
- type = "unknown";
210
- } else if (isFrontend) {
211
- type = "frontend";
212
- } else if (isBackend) {
213
- type = "backend";
214
- }
215
- } catch {
216
- }
217
- }
218
- return {
219
- type,
220
- hasPackageJson: hasPackageJson2,
221
- hasTsConfig,
222
- packageManager,
223
- rootDir
224
- };
225
- }
226
- function getInstallCommand(packageManager) {
227
- switch (packageManager) {
228
- case "pnpm":
229
- return "pnpm install";
230
- case "bun":
231
- return "bun install";
232
- case "yarn":
233
- return "yarn install";
234
- case "npm":
235
- return "npm install";
236
- default:
237
- return "pnpm install";
238
- }
239
- }
240
- function getRecommendedPackages(projectType) {
241
- switch (projectType) {
242
- case "backend":
243
- return ["backend-sdk"];
244
- case "frontend":
245
- return ["frontend-sdk"];
246
- default:
247
- return ["backend-sdk", "frontend-sdk", "cli-tools"];
248
- }
249
- }
250
-
251
- // src/commands/status.command.ts
252
- async function status(options = {}) {
253
- header("OxLayer SDK Status");
254
- const authInfo = await getAuthInfo();
255
- if (authInfo.authenticated) {
256
- success("Authenticated");
257
- info(`Organization: ${authInfo.organizationId || "Unknown"}`);
258
- info(`Device: ${authInfo.deviceId || "Unknown"}`);
259
- if (options.verbose && authInfo.scopes) {
260
- info(`Scopes: ${authInfo.scopes.join(", ")}`);
261
- }
262
- if (options.verbose && authInfo.expiresAt) {
263
- const expires = new Date(authInfo.expiresAt);
264
- const now = /* @__PURE__ */ new Date();
265
- const daysUntilExpiry = Math.ceil((expires.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
266
- info(`Expires: ${expires.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
267
- }
268
- } else {
269
- error("Not authenticated");
270
- info('Run "oxlayer login" to authenticate');
271
- }
272
- console.log();
273
- if (authInfo.authenticated) {
274
- header("Capabilities");
275
- const manifest = await getManifest();
276
- if (manifest) {
277
- success(`Capability manifest loaded`);
278
- info(`Schema Version: ${manifest.schemaVersion}`);
279
- info(`License: ${manifest.licenseId}`);
280
- info(`Environment: ${manifest.environment}`);
281
- if (manifest.capabilities) {
282
- const capabilityCount = Object.keys(manifest.capabilities).length;
283
- info(`Available Capabilities: ${capabilityCount}`);
284
- if (options.verbose) {
285
- const capabilityNames = Object.keys(manifest.capabilities);
286
- if (capabilityNames.length > 0) {
287
- info("Capabilities:");
288
- printList(capabilityNames);
289
- }
290
- const manifestExpires = new Date(manifest.expiresAt);
291
- const now = /* @__PURE__ */ new Date();
292
- const daysUntilExpiry = Math.ceil((manifestExpires.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
293
- info(`Manifest Expires: ${manifestExpires.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
294
- }
295
- } else {
296
- info("No capabilities available in manifest");
297
- }
298
- } else {
299
- info("No capability manifest available");
300
- info('Run "oxlayer install" to fetch the latest capabilities');
301
- }
302
- console.log();
303
- }
304
- header("Project");
305
- const projectConfig = await detectProjectType();
306
- const recommendedPackages = getRecommendedPackages(projectConfig.type);
307
- if (projectConfig.hasPackageJson) {
308
- success("package.json found");
309
- info(`Project type: ${projectConfig.type}`);
310
- info(`Package manager: ${projectConfig.packageManager}`);
311
- info(`TypeScript: ${projectConfig.hasTsConfig ? "Yes" : "No"}`);
312
- } else {
313
- error("No package.json found in current directory");
314
- }
315
- console.log();
316
- header("Installation");
317
- const installedVersion = await getInstalledVersion();
318
- if (installedVersion) {
319
- success(`SDK version ${installedVersion} installed`);
320
- info(`Location: .capabilities-vendor/${installedVersion}/`);
321
- if (options.verbose) {
322
- const { existsSync: existsSync4 } = await import("fs");
323
- const { join: join6 } = await import("path");
324
- const vendorDir = join6(process.cwd(), ".capabilities-vendor", installedVersion);
325
- if (existsSync4(vendorDir)) {
326
- const { readdir } = await import("fs/promises");
327
- const packages = await readdir(vendorDir, { withFileTypes: true });
328
- const packageNames = packages.filter((p) => p.isDirectory()).map((p) => p.name);
329
- if (packageNames.length > 0) {
330
- info("Installed packages:");
331
- printList(packageNames);
332
- }
333
- }
334
- }
335
- } else {
336
- info("No SDK installed");
337
- info('Run "oxlayer install" to install the SDK');
338
- }
339
- console.log();
340
- if (recommendedPackages.length > 0 && !installedVersion) {
341
- header("Recommended");
342
- info("For this project, OxLayer recommends installing:");
343
- printList(recommendedPackages);
344
- }
345
- }
346
-
347
- // src/commands/install.command.ts
348
- init_esm_shims();
349
- import { promises as fs3 } from "fs";
350
- import { join as join4 } from "path";
351
- import { execSync } from "child_process";
352
-
353
- // src/services/index.ts
354
- init_esm_shims();
355
-
356
- // src/services/auth.service.ts
357
- init_esm_shims();
358
- init_device_auth_service();
359
- async function loadConfig2() {
360
- const { loadConfig: loadNewConfig } = await import("./device-auth.service-CMNCNKYX.js");
361
- const config = await loadNewConfig();
362
- if (!config) {
363
- return null;
364
- }
365
- return {
366
- apiKey: config.token,
367
- // Map token to apiKey for legacy consumers
368
- environment: config.environment,
369
- vendorDir: config.vendorDir,
370
- apiEndpoint: config.apiEndpoint
371
- };
372
- }
373
- async function removeConfig() {
374
- const { removeConfig: removeNewConfig } = await import("./device-auth.service-CMNCNKYX.js");
375
- await removeNewConfig();
376
- }
377
- function getConfigDir() {
378
- const { join: join6 } = __require("path");
379
- const { homedir } = __require("os");
380
- return join6(homedir(), ".oxlayer");
381
- }
382
- function getConfigFile() {
383
- return __require("path").join(getConfigDir(), "config.json");
384
- }
385
-
386
- // src/services/index.ts
387
- init_device_auth_service();
388
-
389
- // src/services/download.service.ts
390
- init_esm_shims();
391
- import { promises as fs } from "fs";
392
- import { join as join2 } from "path";
393
- async function downloadFile(url, destination, onProgress) {
394
- const response = await fetch(url);
395
- if (!response.ok) {
396
- throw new Error(`Failed to download: ${response.statusText}`);
397
- }
398
- const total = parseInt(response.headers.get("content-length") || "0", 10);
399
- let downloaded = 0;
400
- await fs.mkdir(join2(destination, ".."), { recursive: true });
401
- const writer = await fs.open(destination, "w");
402
- try {
403
- const reader = response.body?.getReader();
404
- if (!reader) {
405
- throw new Error("No response body");
406
- }
407
- while (true) {
408
- const { done, value } = await reader.read();
409
- if (done) break;
410
- await writer.write(value);
411
- downloaded += value.length;
412
- if (onProgress && total > 0) {
413
- onProgress(downloaded, total);
414
- }
415
- }
416
- } finally {
417
- await writer.close();
418
- }
419
- }
420
- async function verifyManifest(manifestPath, expectedHash) {
421
- const content = await fs.readFile(manifestPath, "utf-8");
422
- const manifest = JSON.parse(content);
423
- if (expectedHash && manifest.sha256 !== expectedHash) {
424
- throw new Error(
425
- `Manifest SHA256 mismatch. Expected ${expectedHash}, got ${manifest.sha256}`
426
- );
427
- }
428
- return manifest;
429
- }
430
- async function extractZip(zipPath, destination) {
431
- const AdmZip = (await import("adm-zip")).default;
432
- const zip = new AdmZip(zipPath);
433
- await fs.mkdir(destination, { recursive: true });
434
- zip.extractAllTo(destination, true);
435
- }
436
-
437
- // src/services/hooks.service.ts
438
- init_esm_shims();
439
-
440
- // src/services/telemetry.service.ts
441
- init_esm_shims();
442
- import { promises as fs2 } from "fs";
443
- import { join as join3 } from "path";
444
- import { existsSync as existsSync2 } from "fs";
445
- var TELEMETRY_FILE = join3(process.env.HOME || process.env.USERPROFILE || "", ".oxlayer", "telemetry.json");
446
- var TELEMETRY_ENABLED = process.env.OXLAYER_TELEMETRY !== "0";
447
- async function getTelemetryConfig() {
448
- try {
449
- if (existsSync2(TELEMETRY_FILE)) {
450
- const content = await fs2.readFile(TELEMETRY_FILE, "utf-8");
451
- return JSON.parse(content);
452
- }
453
- } catch {
454
- }
455
- const config = {
456
- enabled: TELEMETRY_ENABLED,
457
- userId: generateAnonymousId()
458
- };
459
- await saveTelemetryConfig(config);
460
- return config;
461
- }
462
- async function saveTelemetryConfig(config) {
463
- const dir = join3(process.env.HOME || process.env.USERPROFILE || "", ".oxlayer");
464
- await fs2.mkdir(dir, { recursive: true });
465
- await fs2.writeFile(TELEMETRY_FILE, JSON.stringify(config, null, 2));
466
- }
467
- function generateAnonymousId() {
468
- const bytes = new Uint8Array(8);
469
- crypto.getRandomValues(bytes);
470
- return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
471
- }
472
- async function trackEvent(data) {
473
- const config = await getTelemetryConfig();
474
- if (!config.enabled) {
475
- return;
476
- }
477
- const enrichedData = {
478
- ...data,
479
- userId: config.userId,
480
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
481
- };
482
- sendTelemetry(enrichedData).catch(() => {
483
- });
484
- }
485
- async function sendTelemetry(data) {
486
- const endpoint = process.env.OXLAYER_TELEMETRY_ENDPOINT || "https://telemetry.oxlayer.dev/v1/event";
487
- try {
488
- await fetch(endpoint, {
489
- method: "POST",
490
- headers: {
491
- "Content-Type": "application/json"
492
- },
493
- body: JSON.stringify(data),
494
- // Keep request light - don't wait for response
495
- keepalive: true
496
- }).catch(() => {
497
- });
498
- } catch {
499
- }
500
- }
501
- function trackCommand(command, options = {}) {
502
- trackEvent({
503
- event: command,
504
- command,
505
- ...options,
506
- cliVersion: "0.0.1",
507
- nodeVersion: process.version,
508
- platform: process.platform
509
- });
510
- }
511
- function trackError(command, errorCode, options = {}) {
512
- trackEvent({
513
- event: "error",
514
- command,
515
- errorCode,
516
- ...options,
517
- cliVersion: "0.0.1",
518
- nodeVersion: process.version,
519
- platform: process.platform
520
- });
521
- }
522
-
523
- // src/commands/install.command.ts
524
- init_device_auth_service();
525
- var VENDOR_DIR = ".capabilities-vendor";
526
- var CAPABILITIES_DIR = ".capabilities";
527
- function resolvePackagesToInstall(projectType, options) {
528
- if (options.packages && options.packages.length > 0) {
529
- return options.packages;
530
- }
531
- switch (projectType) {
532
- case "backend":
533
- return ["backend-sdk"];
534
- case "frontend":
535
- return ["frontend-sdk"];
536
- default:
537
- return ["backend-sdk", "frontend-sdk", "cli-tools"];
538
- }
539
- }
540
- function generatePackageJson(version, manifest) {
541
- const exports = {};
542
- const dependencies = {};
543
- for (const [name, pkg] of Object.entries(manifest.packages)) {
544
- const relativePath = pkg.path;
545
- exports[name] = `./${relativePath}`;
546
- dependencies[name] = `workspace:*`;
547
- const parts = name.split("/").slice(1);
548
- if (parts.length > 1) {
549
- const subPath = parts.join("-");
550
- exports[`@oxlayer/${subPath}`] = `./${relativePath}`;
551
- }
552
- }
553
- return JSON.stringify({
554
- name: "@oxlayer/sdk-workspace",
555
- version,
556
- private: true,
557
- description: `OxLayer SDK v${version} - Local workspace package`,
558
- type: "module",
559
- exports,
560
- dependencies
561
- }, null, 2);
562
- }
563
- async function updateWorkspaceConfig(rootDir, vendorVersionDir) {
564
- const workspacePath = join4(rootDir, "pnpm-workspace.yaml");
565
- const relativeVendorPath = vendorVersionDir.replace(rootDir + "/", "").replace(/^\//, "");
566
- let workspaceConfig;
567
- try {
568
- const content = await fs3.readFile(workspacePath, "utf-8");
569
- const match = content.match(/packages:\s*\n((?:\s*-\s*[^\n]+\n*)+)/);
570
- if (match) {
571
- const packages = match[1].split("\n").map((line) => line.replace(/^\s*-\s*/, "").trim()).filter((line) => line.length > 0);
572
- workspaceConfig = { packages };
573
- } else {
574
- workspaceConfig = { packages: [] };
575
- }
576
- } catch {
577
- workspaceConfig = { packages: [] };
578
- }
579
- if (!workspaceConfig.packages?.includes(relativeVendorPath)) {
580
- workspaceConfig.packages = [...workspaceConfig.packages || [], relativeVendorPath];
581
- const yamlContent = `packages:
582
- ${workspaceConfig.packages.map((p) => ` - '${p}'`).join("\n")}
583
- `;
584
- await fs3.writeFile(workspacePath, yamlContent, "utf-8");
585
- }
586
- }
587
- async function updateCurrentSymlink(baseDir, version) {
588
- const currentPath = join4(baseDir, "current");
589
- const versionPath = join4(baseDir, version);
590
- try {
591
- await fs3.unlink(currentPath);
592
- } catch {
593
- }
594
- await fs3.symlink(versionPath, currentPath, "dir");
595
- }
596
- async function addWorkspaceDependency(rootDir, vendorVersionPath) {
597
- const packageJsonPath = join4(rootDir, "package.json");
598
- try {
599
- const content = await fs3.readFile(packageJsonPath, "utf-8");
600
- const pkg = JSON.parse(content);
601
- if (!pkg.dependencies) {
602
- pkg.dependencies = {};
603
- }
604
- if (!pkg.dependencies["@oxlayer/sdk-workspace"]) {
605
- pkg.dependencies["@oxlayer/sdk-workspace"] = "workspace:*";
606
- }
607
- await fs3.writeFile(packageJsonPath, JSON.stringify(pkg, null, 2) + "\n", "utf-8");
608
- } catch (err) {
609
- throw new Error(`Failed to update package.json: ${err instanceof Error ? err.message : "Unknown error"}`);
610
- }
611
- }
612
- async function install(version, options = {}) {
613
- const startTime = Date.now();
614
- const startDir = process.cwd();
615
- header("OxLayer SDK Installer");
616
- const rootDir = findProjectRoot(startDir);
617
- if (!await hasPackageJson()) {
618
- error("No package.json found in current directory");
619
- info("Navigate to your project directory before installing.");
620
- process.exit(1);
621
- }
622
- const projectConfig = await detectProjectType(startDir);
623
- info(`Project root: ${rootDir === startDir ? "." : rootDir}`);
624
- info(`Package manager: ${projectConfig.packageManager}`);
625
- info(`Project type: ${projectConfig.type}`);
626
- const packagesToInstall = resolvePackagesToInstall(projectConfig.type, options);
627
- info(`Packages: ${packagesToInstall.join(", ")}`);
628
- const authSpinner = createSpinner("Validating authentication...");
629
- authSpinner.start();
630
- try {
631
- const config = await loadConfig();
632
- if (!config || !config.token) {
633
- authSpinner.fail("Authentication required");
634
- error("Please run: oxlayer login");
635
- process.exit(1);
636
- }
637
- if (isTokenExpired(config)) {
638
- authSpinner.fail("Token expired");
639
- error("Your authentication token has expired. Please run: oxlayer login");
640
- process.exit(1);
641
- }
642
- authSpinner.succeed("Authenticated");
643
- info(`Organization: ${config.organizationId}`);
644
- info(`Device: ${config.tokenInfo?.deviceId || "Unknown"}`);
645
- const expiresAt = new Date(config.tokenInfo.expiresAt);
646
- const now = /* @__PURE__ */ new Date();
647
- const daysUntilExpiry = Math.ceil((expiresAt.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24));
648
- info(`Token expires: ${expiresAt.toLocaleString()} (${daysUntilExpiry > 0 ? `in ${daysUntilExpiry} days` : "expired"})`);
649
- } catch (err) {
650
- authSpinner.fail("Authentication failed");
651
- error(err instanceof Error ? err.message : "Unknown error");
652
- process.exit(1);
653
- }
654
- console.log();
655
- const downloadSpinner = createSpinner("Downloading SDK...");
656
- downloadSpinner.start();
657
- let resolvedVersion = version;
658
- let manifest;
659
- try {
660
- const { downloadUrl, version: resolvedVer } = await requestPackageDownload(
661
- packagesToInstall[0],
662
- version
663
- );
664
- resolvedVersion = resolvedVer;
665
- const tempDir = join4(rootDir, ".oxlayer-temp");
666
- await fs3.mkdir(tempDir, { recursive: true });
667
- const zipPath = join4(tempDir, `oxlayer-sdk-${resolvedVersion}.zip`);
668
- let lastProgress = 0;
669
- await downloadFile(
670
- downloadUrl,
671
- zipPath,
672
- (progress, total) => {
673
- const percent = Math.floor(progress / total * 100);
674
- if (percent - lastProgress >= 10) {
675
- downloadSpinner.text = `Downloading SDK... ${percent}%`;
676
- lastProgress = percent;
677
- }
678
- }
679
- );
680
- downloadSpinner.succeed(`Downloaded SDK (${resolvedVersion})`);
681
- const extractSpinner = createSpinner("Extracting SDK...");
682
- extractSpinner.start();
683
- const vendorBaseDir = join4(rootDir, VENDOR_DIR);
684
- const vendorVersionDir = join4(vendorBaseDir, resolvedVersion);
685
- await fs3.mkdir(vendorVersionDir, { recursive: true });
686
- await extractZip(zipPath, join4(tempDir, "extracted"));
687
- const extractedBase = join4(tempDir, "extracted", resolvedVersion);
688
- const manifestPath = join4(extractedBase, "manifest.json");
689
- manifest = await verifyManifest(manifestPath);
690
- await copyDirectory(extractedBase, vendorVersionDir);
691
- const packageJsonPath = join4(vendorVersionDir, "package.json");
692
- const packageJsonContent = generatePackageJson(resolvedVersion, manifest);
693
- await fs3.writeFile(packageJsonPath, packageJsonContent, "utf-8");
694
- extractSpinner.succeed("Extracted SDK");
695
- const workspaceSpinner = createSpinner("Configuring workspace...");
696
- workspaceSpinner.start();
697
- await updateWorkspaceConfig(rootDir, vendorVersionDir);
698
- await updateCurrentSymlink(vendorBaseDir, resolvedVersion);
699
- await addWorkspaceDependency(rootDir, vendorVersionDir);
700
- workspaceSpinner.succeed("Workspace configured");
701
- await fs3.rm(tempDir, { recursive: true, force: true });
702
- } catch (err) {
703
- downloadSpinner.fail("Failed to install SDK");
704
- error(err instanceof Error ? err.message : "Unknown error");
705
- process.exit(1);
706
- }
707
- console.log();
708
- const duration = Date.now() - startTime;
709
- header("Installation Complete");
710
- success(`SDK version ${resolvedVersion} installed successfully`);
711
- info(`Duration: ${formatDuration(duration)}`);
712
- info(`Workspace: ${VENDOR_DIR}/${resolvedVersion}/`);
713
- info(`Current link: ${CAPABILITIES_DIR}/current -> ${resolvedVersion}`);
714
- const installSpinner = createSpinner("Running package manager install...");
715
- installSpinner.start();
716
- try {
717
- const installCommand = getInstallCommand(projectConfig.packageManager);
718
- execSync(installCommand, { cwd: rootDir, stdio: "pipe" });
719
- installSpinner.succeed(`Dependencies installed via ${projectConfig.packageManager}`);
720
- } catch (err) {
721
- installSpinner.warn(`Package manager install failed. Please run '${getInstallCommand(projectConfig.packageManager)}' manually.`);
722
- }
723
- console.log();
724
- info("Next steps:");
725
- console.log(" Import in your code:");
726
- console.log(" import { SomeCapability } from '@oxlayer/sdk-workspace';");
727
- console.log();
728
- console.log(` To switch SDK versions, update the ${CAPABILITIES_DIR}/current symlink.`);
729
- }
730
- async function copyDirectory(src, dest) {
731
- await fs3.mkdir(dest, { recursive: true });
732
- const entries = await fs3.readdir(src, { withFileTypes: true });
733
- for (const entry of entries) {
734
- const srcPath = join4(src, entry.name);
735
- const destPath = join4(dest, entry.name);
736
- if (entry.isDirectory()) {
737
- await copyDirectory(srcPath, destPath);
738
- } else {
739
- await fs3.copyFile(srcPath, destPath);
740
- }
741
- }
742
- }
743
-
744
- // src/commands/resolve.command.ts
745
- init_esm_shims();
746
- async function resolve(options = {}) {
747
- header("OxLayer Capability Resolution");
748
- const projectConfig = await detectProjectType();
749
- const environment = options.environment || "development";
750
- info(`Project type: ${projectConfig.type}`);
751
- info(`Environment: ${environment}`);
752
- const capabilitiesToRequest = [];
753
- switch (projectConfig.type) {
754
- case "backend":
755
- capabilitiesToRequest.push(
756
- "auth",
757
- "storage",
758
- "cache",
759
- "events",
760
- "queues",
761
- "metrics",
762
- "telemetry"
763
- );
764
- break;
765
- case "frontend":
766
- capabilitiesToRequest.push("auth", "storage");
767
- break;
768
- default:
769
- capabilitiesToRequest.push(
770
- "auth",
771
- "storage",
772
- "search",
773
- "vector",
774
- "cache",
775
- "events",
776
- "queues",
777
- "metrics",
778
- "telemetry"
779
- );
780
- }
781
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Resolving capabilities..."));
782
- spinner.start();
783
- try {
784
- const result = await resolveCapabilities(capabilitiesToRequest, environment);
785
- spinner.succeed("Capabilities resolved");
786
- console.log();
787
- info(`Organization: ${result.organizationId}`);
788
- info(`License: ${result.licenseId}`);
789
- info(`Resolved at: ${new Date(result.resolvedAt).toLocaleString()}`);
790
- console.log();
791
- header("Available Capabilities");
792
- printCapabilities(result.capabilities);
793
- if (options.verbose) {
794
- console.log();
795
- header("Usage Example");
796
- console.log();
797
- console.log("Import and use capabilities in your code:");
798
- console.log();
799
- console.log(chalk.gray("```typescript"));
800
- console.log(chalk.gray("import { resolveCapabilities } from '@oxlayer/capabilities-internal';"));
801
- console.log();
802
- console.log(chalk.gray("const capabilities = await resolveCapabilities({"));
803
- console.log(chalk.gray(` projectId: 'your-project-id',`));
804
- console.log(chalk.gray(` environment: '${environment}',`));
805
- console.log(chalk.gray(` requested: ['${capabilitiesToRequest.join("', '")}']`));
806
- console.log(chalk.gray("});"));
807
- console.log(chalk.gray("```"));
808
- console.log();
809
- }
810
- success(`Your project has access to ${Object.keys(result.capabilities).length} capabilities`);
811
- } catch (err) {
812
- spinner.fail("Failed to resolve capabilities");
813
- error(err instanceof Error ? err.message : "Unknown error");
814
- if (err instanceof Error && err.message.includes("API key")) {
815
- console.log();
816
- info("Make sure you're authenticated:");
817
- console.log(" oxlayer login");
818
- }
819
- process.exit(1);
820
- }
821
- }
822
- var chalk = (await import("chalk")).default;
823
-
824
- // src/commands/logout.command.ts
825
- init_esm_shims();
826
- async function logout() {
827
- try {
828
- await removeConfig();
829
- success("Logged out successfully");
830
- info(`Configuration removed from ${getConfigFile()}`);
831
- info("Your API key is no longer stored locally.");
832
- } catch (err) {
833
- warning2("Could not remove configuration");
834
- info(err instanceof Error ? err.message : "Unknown error");
835
- }
836
- }
837
-
838
- // src/commands/doctor.command.ts
839
- init_esm_shims();
840
- import { existsSync as existsSync3 } from "fs";
841
- import { join as join5 } from "path";
842
- async function runDiagnostics(options) {
843
- const results = [];
844
- const config = await loadConfig2();
845
- if (config) {
846
- results.push({
847
- name: "Authentication",
848
- status: "pass",
849
- message: "API key configured"
850
- });
851
- } else {
852
- results.push({
853
- name: "Authentication",
854
- status: "fail",
855
- message: "Not authenticated",
856
- fix: "Run: oxlayer login"
857
- });
858
- }
859
- try {
860
- const isHealthy = await healthCheck();
861
- if (isHealthy) {
862
- results.push({
863
- name: "API Connectivity",
864
- status: "pass",
865
- message: "Control Panel API is reachable"
866
- });
867
- } else {
868
- results.push({
869
- name: "API Connectivity",
870
- status: "fail",
871
- message: "API health check failed",
872
- fix: "Check your network connection"
873
- });
874
- }
875
- } catch {
876
- results.push({
877
- name: "API Connectivity",
878
- status: "fail",
879
- message: "Cannot reach Control Panel API",
880
- fix: "Check your network connection or API endpoint"
881
- });
882
- }
883
- const projectConfig = await detectProjectType();
884
- if (projectConfig.hasPackageJson) {
885
- results.push({
886
- name: "Project Structure",
887
- status: "pass",
888
- message: `Found ${projectConfig.type} project with ${projectConfig.packageManager}`
889
- });
890
- } else {
891
- results.push({
892
- name: "Project Structure",
893
- status: "warn",
894
- message: "No package.json found",
895
- fix: "Navigate to your project directory"
896
- });
897
- }
898
- if (projectConfig.hasTsConfig) {
899
- results.push({
900
- name: "TypeScript",
901
- status: "pass",
902
- message: "TypeScript configuration found"
903
- });
904
- } else {
905
- results.push({
906
- name: "TypeScript",
907
- status: "warn",
908
- message: "No TypeScript configuration found",
909
- fix: "Run: npx tsc --init"
910
- });
911
- }
912
- const installedVersion = await getInstalledVersion();
913
- if (installedVersion) {
914
- const vendorDir = getVendorDir(installedVersion);
915
- const manifestPath = join5(vendorDir, "manifest.json");
916
- if (existsSync3(manifestPath)) {
917
- results.push({
918
- name: "SDK Installation",
919
- status: "pass",
920
- message: `SDK version ${installedVersion} installed`
921
- });
922
- } else {
923
- results.push({
924
- name: "SDK Installation",
925
- status: "warn",
926
- message: `SDK version ${installedVersion} incomplete (missing manifest)`,
927
- fix: "Run: oxlayer install --force"
928
- });
929
- }
930
- } else {
931
- results.push({
932
- name: "SDK Installation",
933
- status: "warn",
934
- message: "No SDK installed",
935
- fix: "Run: oxlayer install"
936
- });
937
- }
938
- const gitignorePath = join5(process.cwd(), ".gitignore");
939
- if (existsSync3(gitignorePath)) {
940
- const gitignoreContent = await import("fs/promises").then((fs4) => fs4.readFile(gitignorePath, "utf-8"));
941
- const hasVendorIgnore = gitignoreContent.includes(".capabilities-vendor");
942
- if (hasVendorIgnore) {
943
- results.push({
944
- name: ".gitignore",
945
- status: "pass",
946
- message: "Vendor directory is ignored"
947
- });
948
- } else {
949
- results.push({
950
- name: ".gitignore",
951
- status: "warn",
952
- message: "Vendor directory not in .gitignore",
953
- fix: 'Add ".capabilities-vendor/" to .gitignore'
954
- });
955
- }
956
- } else {
957
- results.push({
958
- name: ".gitignore",
959
- status: "warn",
960
- message: "No .gitignore found",
961
- fix: 'Create .gitignore and add ".capabilities-vendor/"'
962
- });
963
- }
964
- if (process.env.OXLAYER_API_KEY) {
965
- results.push({
966
- name: "Environment Variables",
967
- status: "pass",
968
- message: "OXLAYER_API_KEY is set"
969
- });
970
- } else if (!config) {
971
- results.push({
972
- name: "Environment Variables",
973
- status: "warn",
974
- message: "No API key in environment or config",
975
- fix: "Set OXLAYER_API_KEY or run: oxlayer login"
976
- });
977
- }
978
- const nodeVersion = process.version;
979
- const majorVersion = parseInt(nodeVersion.slice(1).split(".")[0], 10);
980
- if (majorVersion >= 18) {
981
- results.push({
982
- name: "Node Version",
983
- status: "pass",
984
- message: `Node ${nodeVersion} (supported)`
985
- });
986
- } else {
987
- results.push({
988
- name: "Node Version",
989
- status: "fail",
990
- message: `Node ${nodeVersion} is not supported (requires >= 18)`,
991
- fix: "Upgrade to Node.js 18 or later"
992
- });
993
- }
994
- if (options.verbose && config) {
995
- try {
996
- const { resolveCapabilities: resolveCapabilities2 } = await import("./api.service-CDPTVMJM.js");
997
- const capabilities = await resolveCapabilities2(["auth", "storage"], "development");
998
- if (Object.keys(capabilities.capabilities).length > 0) {
999
- results.push({
1000
- name: "Capabilities",
1001
- status: "pass",
1002
- message: `${Object.keys(capabilities.capabilities).length} capabilities available`
1003
- });
1004
- } else {
1005
- results.push({
1006
- name: "Capabilities",
1007
- status: "warn",
1008
- message: "No capabilities available",
1009
- fix: "Check your license configuration"
1010
- });
1011
- }
1012
- } catch {
1013
- results.push({
1014
- name: "Capabilities",
1015
- status: "fail",
1016
- message: "Could not resolve capabilities",
1017
- fix: "Check your API key and license"
1018
- });
1019
- }
1020
- }
1021
- return results;
1022
- }
1023
- function printDiagnostics(results) {
1024
- let passCount = 0;
1025
- let warnCount = 0;
1026
- let failCount = 0;
1027
- for (const result of results) {
1028
- switch (result.status) {
1029
- case "pass":
1030
- success(`${result.name}: ${result.message}`);
1031
- passCount++;
1032
- break;
1033
- case "warn":
1034
- warning2(`${result.name}: ${result.message}`);
1035
- if (result.fix) {
1036
- info(` \u2192 ${result.fix}`);
1037
- }
1038
- warnCount++;
1039
- break;
1040
- case "fail":
1041
- error(`${result.name}: ${result.message}`);
1042
- if (result.fix) {
1043
- info(` \u2192 ${result.fix}`);
1044
- }
1045
- failCount++;
1046
- break;
1047
- }
1048
- }
1049
- console.log();
1050
- if (failCount === 0 && warnCount === 0) {
1051
- success("All checks passed! Your system is properly configured.");
1052
- } else if (failCount === 0) {
1053
- warning2(`${warnCount} warning(s) found. Consider fixing them for optimal performance.`);
1054
- } else {
1055
- error(`${failCount} error(s) and ${warnCount} warning(s) found. Please fix the errors.`);
1056
- }
1057
- }
1058
- async function doctor(options = {}) {
1059
- header("OxLayer SDK Diagnostics");
1060
- const results = await runDiagnostics(options);
1061
- console.log();
1062
- printDiagnostics(results);
1063
- if (results.some((r) => r.status === "fail")) {
1064
- process.exit(1);
1065
- }
1066
- }
1067
-
1068
- // src/commands/diff.command.ts
1069
- init_esm_shims();
1070
- function formatLimitValue(key, value) {
1071
- if (typeof value === "boolean") {
1072
- return value ? "\u2713 enabled" : "\u2717 disabled";
1073
- }
1074
- if (Array.isArray(value)) {
1075
- return value.join(", ");
1076
- }
1077
- if (typeof value === "object" && value !== null) {
1078
- return JSON.stringify(value);
1079
- }
1080
- return String(value);
1081
- }
1082
- function getCapabilityChanges(before, after) {
1083
- const changes = [];
1084
- const allKeys = /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)]);
1085
- for (const key of allKeys) {
1086
- const beforeValue = before[key];
1087
- const afterValue = after[key];
1088
- if (JSON.stringify(beforeValue) !== JSON.stringify(afterValue)) {
1089
- changes.push(
1090
- ` ${key}: ${formatLimitValue(key, beforeValue)} \u2192 ${formatLimitValue(key, afterValue)}`
1091
- );
1092
- }
1093
- }
1094
- return changes;
1095
- }
1096
- async function diff(fromVersion, toVersion, options = {}) {
1097
- header(`Capability Diff: ${fromVersion} \u2192 ${toVersion}`);
1098
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Fetching manifests..."));
1099
- spinner.start();
1100
- try {
1101
- spinner.succeed("Manifests fetched");
1102
- const beforeCapabilities = {
1103
- auth: { maxRealms: 1, sso: false, rbac: true },
1104
- storage: { encryption: false, maxStorageGb: 100 },
1105
- vector: { maxVectorCollections: 10, maxVectorDimensions: 1536 }
1106
- };
1107
- const afterCapabilities = {
1108
- auth: { maxRealms: 5, sso: true, rbac: true },
1109
- storage: { encryption: true, maxStorageGb: 1e3 },
1110
- search: { maxResults: 1e4 },
1111
- vector: { maxVectorCollections: 50, hybridSearch: true }
1112
- };
1113
- const diffs = [];
1114
- for (const [name, limits] of Object.entries(afterCapabilities)) {
1115
- if (!(name in beforeCapabilities)) {
1116
- diffs.push({
1117
- name,
1118
- change: "added",
1119
- after: limits
1120
- });
1121
- }
1122
- }
1123
- for (const [name, limits] of Object.entries(beforeCapabilities)) {
1124
- if (!(name in afterCapabilities)) {
1125
- diffs.push({
1126
- name,
1127
- change: "removed",
1128
- before: limits
1129
- });
1130
- }
1131
- }
1132
- for (const name of Object.keys(beforeCapabilities)) {
1133
- if (name in afterCapabilities) {
1134
- const before = beforeCapabilities[name];
1135
- const after = afterCapabilities[name];
1136
- const changes = getCapabilityChanges(before, after);
1137
- if (changes.length > 0) {
1138
- diffs.push({
1139
- name,
1140
- change: "modified",
1141
- before,
1142
- after,
1143
- changes
1144
- });
1145
- }
1146
- }
1147
- }
1148
- console.log();
1149
- const addedCount = diffs.filter((d) => d.change === "added").length;
1150
- const removedCount = diffs.filter((d) => d.change === "removed").length;
1151
- const modifiedCount = diffs.filter((d) => d.change === "modified").length;
1152
- if (addedCount > 0) {
1153
- success(`${addedCount} capability(ies) added`);
1154
- }
1155
- if (modifiedCount > 0) {
1156
- info(`${modifiedCount} capability(ies) modified`);
1157
- }
1158
- if (removedCount > 0) {
1159
- error(`${removedCount} capability(ies) removed`);
1160
- }
1161
- console.log();
1162
- if (options.verbose || diffs.length > 0) {
1163
- header("Detailed Changes");
1164
- for (const diff2 of diffs) {
1165
- switch (diff2.change) {
1166
- case "added":
1167
- success(`+ ${diff2.name} (new)`);
1168
- if (options.verbose && diff2.after) {
1169
- const limits = Object.entries(diff2.after).map(([k, v]) => ` ${k}: ${formatLimitValue(k, v)}`).join("\n");
1170
- console.log(limits);
1171
- }
1172
- break;
1173
- case "removed":
1174
- error(`- ${diff2.name} (removed)`);
1175
- if (options.verbose && diff2.before) {
1176
- const limits = Object.entries(diff2.before).map(([k, v]) => ` ${k}: ${formatLimitValue(k, v)}`).join("\n");
1177
- console.log(limits);
1178
- }
1179
- break;
1180
- case "modified":
1181
- info(`~ ${diff2.name} (modified)`);
1182
- if (diff2.changes && diff2.changes.length > 0) {
1183
- console.log(diff2.changes.join("\n"));
1184
- }
1185
- break;
1186
- }
1187
- console.log();
1188
- }
1189
- }
1190
- header("Upgrade Recommendations");
1191
- if (modifiedCount > 0) {
1192
- const modifiedDiffs = diffs.filter((d) => d.change === "modified");
1193
- for (const diff2 of modifiedDiffs) {
1194
- const breakingChanges = diff2.changes?.filter(
1195
- (c) => c.includes("\u2192") && !c.includes("0 \u2192")
1196
- );
1197
- if (breakingChanges && breakingChanges.length > 0) {
1198
- warning(`${diff2.name}: Review breaking changes`);
1199
- printList(breakingChanges);
1200
- }
1201
- }
1202
- }
1203
- if (removedCount > 0) {
1204
- warning("Some capabilities were removed. Check your code for usage.");
1205
- const removed = diffs.filter((d) => d.change === "removed").map((d) => d.name);
1206
- printList(removed);
1207
- }
1208
- } catch (err) {
1209
- spinner.fail("Failed to compare versions");
1210
- error(err instanceof Error ? err.message : "Unknown error");
1211
- process.exit(1);
1212
- }
1213
- }
1214
- async function showLatest() {
1215
- const spinner = await import("./cli-VUBGPXL3.js").then((m) => m.createSpinner("Checking for updates..."));
1216
- spinner.start();
1217
- try {
1218
- const { getInstalledVersion: getInstalledVersion2 } = await import("./package.service-XK5PPZVF.js");
1219
- const { getLatestVersion } = await import("./api.service-CDPTVMJM.js");
1220
- const installed = await getInstalledVersion2();
1221
- const latest = await getLatestVersion();
1222
- spinner.succeed("Version check complete");
1223
- header("Version Information");
1224
- info(`Installed: ${installed || "None"}`);
1225
- info(`Latest: ${latest}`);
1226
- if (installed !== latest) {
1227
- console.log();
1228
- success("New version available!");
1229
- info(`Run: oxlayer install ${latest}`);
1230
- } else if (installed) {
1231
- console.log();
1232
- success("You're up to date!");
1233
- }
1234
- } catch (err) {
1235
- spinner.fail("Failed to check version");
1236
- error(err instanceof Error ? err.message : "Unknown error");
1237
- }
1238
- }
1239
-
1240
- // src/commands/telemetry.command.ts
1241
- init_esm_shims();
1242
- async function telemetryEnable() {
1243
- success("Telemetry enabled");
1244
- info("Anonymous usage data will be collected to improve the SDK");
1245
- }
1246
- async function telemetryDisable() {
1247
- warning2("Telemetry disabled");
1248
- info("No usage data will be collected");
1249
- }
1250
- async function telemetryStatus() {
1251
- info("Checking telemetry status...");
1252
- info("Telemetry status: unknown (not implemented yet)");
1253
- }
1254
-
1255
- // src/commands/update.command.ts
1256
- init_esm_shims();
1257
- async function update(options = {}) {
1258
- if (options.dryRun) {
1259
- info("Dry run mode: Would update SDK to latest version");
1260
- return;
1261
- }
1262
- info("Checking for SDK updates...");
1263
- success("SDK is up to date");
1264
- }
1265
- async function check() {
1266
- info("Checking for SDK updates...");
1267
- success("No updates available");
1268
- }
1269
-
1270
- // src/cli.ts
1271
- var program = new Command();
1272
- program.addHelpText("beforeAll", getBanner());
1273
- program.name("oxlayer").description("OxLayer SDK Installer - Download and install private SDK packages").version("0.0.1");
1274
- program.command("login").description("Authenticate with OxLayer Control Panel").option("-k, --key <key>", "API key (will prompt if not provided)").option("-e, --environment <env>", "Environment (development|staging|production)", "development").action(async (options) => {
1275
- trackCommand("login");
1276
- await login(options);
1277
- });
1278
- program.command("status").description("Show installation and authentication status").option("-v, --verbose", "Show detailed information").action(async (options) => {
1279
- trackCommand("status");
1280
- await status(options);
1281
- });
1282
- program.command("install [version]").description("Install SDK packages").option("-p, --packages <packages...>", "Specific packages to install").option("-e, --environment <env>", "Environment (development|staging|production)", "development").option("--dry-run", "Show what would be installed without installing").option("-f, --force", "Force reinstall even if already installed").option("--save", "Add to dependencies").option("--save-dev", "Add to devDependencies").action(async (version, options) => {
1283
- trackCommand("install", { sdkVersion: version });
1284
- await install(version || "latest", options);
1285
- });
1286
- program.command("resolve").description("Resolve capabilities for current project").option("-e, --environment <env>", "Environment (development|staging|production)", "development").option("-v, --verbose", "Show usage examples").action(async (options) => {
1287
- trackCommand("resolve");
1288
- await resolve(options);
1289
- });
1290
- program.command("logout").description("Remove stored API key").action(async () => {
1291
- trackCommand("logout");
1292
- await logout();
1293
- });
1294
- program.command("doctor").description("Run diagnostics to troubleshoot issues").option("-v, --verbose", "Show detailed diagnostic information").option("--fix", "Attempt to fix common issues automatically").action(async (options) => {
1295
- trackCommand("doctor");
1296
- await doctor(options);
1297
- });
1298
- program.command("diff [from-version] [to-version]").description("Compare capabilities between SDK versions").option("-v, --verbose", "Show detailed changes").option("--format <format>", "Output format (text|json)", "text").action(async (fromVersion, toVersion, options) => {
1299
- trackCommand("diff");
1300
- if (!fromVersion) {
1301
- await showLatest();
1302
- } else {
1303
- await diff(fromVersion, toVersion || "latest", options);
1304
- }
1305
- });
1306
- program.command("update").description("Update SDK to the latest version").option("--dry-run", "Show what would be updated without installing").action(async (options) => {
1307
- trackCommand("update");
1308
- await update(options);
1309
- });
1310
- program.command("check").description("Quick check for SDK updates").action(async () => {
1311
- await check();
1312
- });
1313
- var telemetryCmd = program.command("telemetry").description("Manage telemetry settings");
1314
- telemetryCmd.command("enable").description("Enable anonymous usage tracking").action(async () => {
1315
- await telemetryEnable();
1316
- });
1317
- telemetryCmd.command("disable").description("Disable anonymous usage tracking").action(async () => {
1318
- await telemetryDisable();
1319
- });
1320
- telemetryCmd.command("status").description("Show telemetry status").action(async () => {
1321
- await telemetryStatus();
1322
- });
1323
- program.parseAsync(process.argv).catch((err) => {
1324
- console.error(err);
1325
- trackError("cli", "parse_error");
1326
- process.exit(1);
1327
- });
1328
- //# sourceMappingURL=cli.js.map
2
+ var Dt=Object['\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x79'],X=(d=>typeof require<'\x75'?require:typeof Proxy<'\x75'?new Proxy(d,{'\x67\x65\x74':(f,g)=>(typeof require<'\x75'?require:f)[g]}):d)(function(d){if(typeof require<'\x75')return require['\x61\x70\x70\x6c\x79'](this,arguments);throw Error('\x44\x79\x6e\x61\x6d\x69\x63\x20\x72\x65\x71\x75\x69\x72\x65\x20\x6f\x66\x20\x22'+d+'\x22\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64');}),J=(d,f)=>()=>(d&&(f=d(d=0x0)),f),G=(d,f)=>{for(var g in f)Dt(d,g,{'\x67\x65\x74':f[g],'\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65':!0x0});};import a9 from'\x70\x61\x74\x68';import{fileURLToPath as aa}from'\x75\x72\x6c';var p=J(()=>{'use strict';}),Z={};const c={};c['\x63\x6f\x6e\x66\x69\x72\x6d']=()=>$t,c['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']=()=>j,c['\x65\x72\x72\x6f\x72']=()=>y,c['\x66\x6f\x72\x6d\x61\x74\x44\x75\x72\x61\x74\x69\x6f\x6e']=()=>fe,c['\x66\x6f\x72\x6d\x61\x74\x53\x69\x7a\x65']=()=>Et,c['\x67\x65\x74\x42\x61\x6e\x6e\x65\x72']=()=>me,c['\x68\x65\x61\x64\x65\x72']=()=>v,c['\x69\x6e\x66\x6f']=()=>a,c['\x70\x72\x69\x6e\x74\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=()=>de,c['\x70\x72\x69\x6e\x74\x4c\x69\x73\x74']=()=>T,c['\x73\x75\x63\x63\x65\x73\x73']=()=>u,c['\x77\x61\x72\x6e\x69\x6e\x67']=()=>O,G(Z,c);import ab from'\x63\x68\x61\x6c\x6b';import ac from'\x63\x6c\x69\x2d\x74\x61\x62\x6c\x65\x33';import ad from'\x6f\x72\x61';function a(d){console['\x6c\x6f\x67'](ab['\x62\x6c\x75\x65']('\u2139'),d);}function u(d){console['\x6c\x6f\x67'](ab['\x67\x72\x65\x65\x6e']('\u2713'),d);}function O(d){console['\x6c\x6f\x67'](ab['\x79\x65\x6c\x6c\x6f\x77']('\u26a0'),d);}function y(d){console['\x65\x72\x72\x6f\x72'](ab['\x72\x65\x64']('\u2717'),d);}function v(d){console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](ab['\x62\x6f\x6c\x64']['\x77\x68\x69\x74\x65'](d)),console['\x6c\x6f\x67'](ab['\x67\x72\x61\x79']('\u2500'['\x72\x65\x70\x65\x61\x74'](d['\x6c\x65\x6e\x67\x74\x68'])));}function de(d){if(Object['\x6b\x65\x79\x73'](d)['\x6c\x65\x6e\x67\x74\x68']===0x0){a('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65');return;}let f=new ac({'\x68\x65\x61\x64':[ab['\x63\x79\x61\x6e']('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79'),ab['\x63\x79\x61\x6e']('\x4c\x69\x6d\x69\x74\x73')],'\x63\x6f\x6c\x57\x69\x64\x74\x68\x73':[0x14,0x3c]});for(let [g,k]of Object['\x65\x6e\x74\x72\x69\x65\x73'](d)){let l=Object['\x65\x6e\x74\x72\x69\x65\x73'](k)['\x66\x69\x6c\x74\x65\x72'](([m,q])=>q!==void 0x0)['\x6d\x61\x70'](([m,q])=>typeof q=='\x62\x6f\x6f\x6c\x65\x61\x6e'?q?ab['\x67\x72\x65\x65\x6e'](m):ab['\x72\x65\x64'](m):m+'\x3a\x20'+ab['\x79\x65\x6c\x6c\x6f\x77'](String(q)))['\x6a\x6f\x69\x6e']('\x2c\x20');f['\x70\x75\x73\x68']([ab['\x77\x68\x69\x74\x65'](g),l||'\x4e\x6f\x20\x6c\x69\x6d\x69\x74\x73\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64']);}console['\x6c\x6f\x67'](f['\x74\x6f\x53\x74\x72\x69\x6e\x67']());}function T(d){d['\x66\x6f\x72\x45\x61\x63\x68'](f=>console['\x6c\x6f\x67']('\x20\x20'+ab['\x67\x72\x61\x79']('\u2022')+'\x20'+f));}function j(f){const g={};return g['\x74\x65\x78\x74']=f,g['\x63\x6f\x6c\x6f\x72']='\x62\x6c\x75\x65',ad(g);}async function $t(f){let {default:g}=await import('prompts');const k={};return k['\x74\x79\x70\x65']='\x63\x6f\x6e\x66\x69\x72\x6d',k['\x6e\x61\x6d\x65']='\x76\x61\x6c\x75\x65',k['\x6d\x65\x73\x73\x61\x67\x65']=f,k['\x69\x6e\x69\x74\x69\x61\x6c']=!0x1,(await g(k))['\x76\x61\x6c\x75\x65'];}function Et(d){let f=['\x42','\x4b\x42','\x4d\x42','\x47\x42'],g=d,k=0x0;for(;g>=0x400&&k<f['\x6c\x65\x6e\x67\x74\x68']-0x1;)g/=0x400,k++;return g['\x74\x6f\x46\x69\x78\x65\x64'](0x2)+'\x20'+f[k];}function fe(d){let f=Math['\x66\x6c\x6f\x6f\x72'](d/0x3e8),g=Math['\x66\x6c\x6f\x6f\x72'](f/0x3c),k=Math['\x66\x6c\x6f\x6f\x72'](g/0x3c);return k>0x0?k+'\x68\x20'+g%0x3c+'\x6d':g>0x0?g+'\x6d\x20'+f%0x3c+'\x73':f+'\x73';}function me(){return'\x0a'+ab['\x67\x72\x61\x79']('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x4c\x49')+'\x0a';}var b=J(()=>{'use strict';p();}),Se={};const e={};e['\x62\x75\x69\x6c\x64\x56\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x55\x72\x6c']=()=>Vt,e['\x67\x65\x74\x41\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e']=()=>ke,e['\x67\x65\x74\x41\x75\x74\x68\x49\x6e\x66\x6f']=()=>Pe,e['\x67\x65\x74\x44\x65\x76\x69\x63\x65\x49\x64']=()=>ve,e['\x67\x65\x74\x44\x65\x76\x69\x63\x65\x4e\x61\x6d\x65']=()=>U,e['\x67\x65\x74\x4d\x61\x6e\x69\x66\x65\x73\x74']=()=>be,e['\x69\x6e\x69\x74\x69\x61\x74\x65\x44\x65\x76\x69\x63\x65\x41\x75\x74\x68']=()=>he,e['\x69\x73\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']=()=>_t,e['\x69\x73\x54\x6f\x6b\x65\x6e\x45\x78\x70\x69\x72\x65\x64']=()=>z,e['\x6c\x6f\x61\x64\x43\x6f\x6e\x66\x69\x67']=()=>F,e['\x6d\x69\x67\x72\x61\x74\x65\x46\x72\x6f\x6d\x41\x70\x69\x4b\x65\x79']=()=>Kt,e['\x6f\x70\x65\x6e\x42\x72\x6f\x77\x73\x65\x72']=()=>Ce,e['\x70\x6f\x6c\x6c\x46\x6f\x72\x54\x6f\x6b\x65\x6e']=()=>we,e['\x72\x65\x66\x72\x65\x73\x68\x4d\x61\x6e\x69\x66\x65\x73\x74']=()=>Me,e['\x72\x65\x6d\x6f\x76\x65\x43\x6f\x6e\x66\x69\x67']=()=>Ft,e['\x73\x61\x76\x65\x43\x6f\x6e\x66\x69\x67']=()=>ee,e['\x76\x61\x6c\x69\x64\x61\x74\x65\x54\x6f\x6b\x65\x6e']=()=>xe,G(Se,e);import{promises as af}from'\x66\x73';import{join as ag}from'\x70\x61\x74\x68';import{homedir as ah}from'\x6f\x73';import{randomBytes as ai}from'\x63\x72\x79\x70\x74\x6f';async function ve(){try{let d=await Nt(),f=await Ke(),g=d['\x64\x65\x76\x69\x63\x65\x73']['\x66\x69\x6e\x64'](k=>k['\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65']===f);return g?(g['\x6c\x61\x73\x74\x53\x65\x65\x6e\x41\x74']=new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67'](),await _e(d)):(g={'\x64\x65\x76\x69\x63\x65\x49\x64':Fe(),'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':f,'\x63\x72\x65\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67'](),'\x6c\x61\x73\x74\x53\x65\x65\x6e\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()},d['\x64\x65\x76\x69\x63\x65\x73']['\x70\x75\x73\x68'](g),await _e(d)),g['\x64\x65\x76\x69\x63\x65\x49\x64'];}catch{return Fe();}}async function U(){return Ke();}function Fe(){return'\x6f\x78\x6c\x5f\x64\x65\x76\x5f'+ai(0x10)['\x74\x6f\x53\x74\x72\x69\x6e\x67']('\x68\x65\x78');}async function Ke(){return(await import('os'))['\x68\x6f\x73\x74\x6e\x61\x6d\x65']();}async function Nt(){try{let f=await af['\x72\x65\x61\x64\x46\x69\x6c\x65'](Ve,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](f);}catch{const g={};return g['\x64\x65\x76\x69\x63\x65\x73']=[],g;}}async function _e(f){const g={};g['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await af['\x6d\x6b\x64\x69\x72'](Q,g),await af['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](Ve,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f,null,0x2)));}async function he(f='\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',g){const k={};k['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';let l=await ve(),m=await U(),q=await fetch((g||ye)+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x64\x65\x76\x69\x63\x65\x2f\x63\x6f\x64\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':k,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79']({'\x64\x65\x76\x69\x63\x65\x49\x64':l,'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':m,'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':f})});if(!q['\x6f\x6b']){let w=await q['\x74\x65\x78\x74']();throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x3a\x20'+w);}return q['\x6a\x73\x6f\x6e']();}async function we(k,l,m={}){let q=m['\x69\x6e\x74\x65\x72\x76\x61\x6c']||At,w=m['\x6d\x61\x78\x41\x74\x74\x65\x6d\x70\x74\x73']||Rt;for(let K=0x1;K<=w;K++){m['\x6f\x6e\x50\x72\x6f\x67\x72\x65\x73\x73']?.(K,w);const M={};M['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';const N={};N['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65']=l;let a0=await fetch(k,{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':M,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](N)});if(!a0['\x6f\x6b'])throw new Error('\x50\x6f\x6c\x6c\x20\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+a0['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let a1=await a0['\x6a\x73\x6f\x6e']();if(!a1['\x70\x65\x6e\x64\x69\x6e\x67']){if(a1['\x65\x72\x72\x6f\x72'])throw new Error('\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+a1['\x65\x72\x72\x6f\x72']);const a2={...a1};return a2['\x73\x75\x63\x63\x65\x73\x73']=!0x0,a2;}await Lt(q*0x3e8);}throw new Error('\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x74\x69\x6d\x65\x64\x20\x6f\x75\x74\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x74\x72\x79\x20\x61\x67\x61\x69\x6e\x2e');}function Lt(d){return new Promise(f=>setTimeout(f,d));}async function ee(g){const k={};k['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0;const l={};l['\x6d\x6f\x64\x65']=0x180,(await af['\x6d\x6b\x64\x69\x72'](Q,k),await af['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](ue,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](g,null,0x2),l));}async function F(){try{let d=await af['\x72\x65\x61\x64\x46\x69\x6c\x65'](ue,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](d);}catch{return null;}}async function Ft(){try{await af['\x75\x6e\x6c\x69\x6e\x6b'](ue);}catch{}}async function ke(){let d=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x4f\x4b\x45\x4e'];return d||((await F())?.['\x74\x6f\x6b\x65\x6e']??null);}function xe(d){let f=d['\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68']('\x65\x79\x4a'),g=d['\x73\x74\x61\x72\x74\x73\x57\x69\x74\x68']('\x6f\x78\x6c\x5f\x63\x6c\x69\x5f');return typeof d=='\x73\x74\x72\x69\x6e\x67'&&(f||g)&&d['\x6c\x65\x6e\x67\x74\x68']>=0x20;}function z(d){return new Date(d['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])<new Date();}async function Me(d,f){let g=f||d['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||ye,k=await fetch(g+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x6d\x61\x6e\x69\x66\x65\x73\x74',{'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':'\x42\x65\x61\x72\x65\x72\x20'+d['\x74\x6f\x6b\x65\x6e']}});if(!k['\x6f\x6b'])return{...d,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};let l=await k['\x6a\x73\x6f\x6e']();return{...d,'\x6d\x61\x6e\x69\x66\x65\x73\x74':l,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};}async function be(d){let f=await F();if(!f)return null;if(f['\x6d\x61\x6e\x69\x66\x65\x73\x74']&&new Date(f['\x6d\x61\x6e\x69\x66\x65\x73\x74']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])>new Date())return f['\x6d\x61\x6e\x69\x66\x65\x73\x74'];let g=await Me(f,d);return await ee(g),g['\x6d\x61\x6e\x69\x66\x65\x73\x74']||null;}async function _t(){let d=await F();return!(!d||z(d));}async function Pe(){let f=await F();const g={};return g['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']=!0x1,f?{'\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64':!z(f),'\x64\x65\x76\x69\x63\x65\x49\x64':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x64\x65\x76\x69\x63\x65\x49\x64'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':f['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x78\x70\x69\x72\x65\x73\x41\x74':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'],'\x73\x63\x6f\x70\x65\x73':f['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x73\x63\x6f\x70\x65\x73']}:g;}function Vt(d,f){let g=new URL(d);return g['\x73\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6d\x73']['\x73\x65\x74']('\x64\x65\x76\x69\x63\x65\x5f\x63\x6f\x64\x65',f),g['\x74\x6f\x53\x74\x72\x69\x6e\x67']();}async function Ce(d){let {exec:f}=await import('child_process'),g=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],k;switch(g){case'\x64\x61\x72\x77\x69\x6e':k='\x6f\x70\x65\x6e\x20\x22'+d+'\x22';break;case'\x77\x69\x6e\x33\x32':k='\x73\x74\x61\x72\x74\x20\x22\x22\x20\x22'+d+'\x22';break;default:k='\x78\x64\x67\x2d\x6f\x70\x65\x6e\x20\x22'+d+'\x22';}return new Promise((l,m)=>{f(k,q=>{q?m(new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x62\x72\x6f\x77\x73\x65\x72\x3a\x20'+q['\x6d\x65\x73\x73\x61\x67\x65'])):l();});});}async function Kt(f){const g={};g['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e';let k=await ve(),l=await U(),m=await fetch(ye+'\x2f\x76\x31\x2f\x63\x6c\x69\x2f\x6d\x69\x67\x72\x61\x74\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':g,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79']({'\x61\x70\x69\x4b\x65\x79':f,'\x64\x65\x76\x69\x63\x65\x49\x64':k,'\x64\x65\x76\x69\x63\x65\x4e\x61\x6d\x65':l})});if(!m['\x6f\x6b'])throw new Error('\x4d\x69\x67\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64\x3a\x20'+m['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let o=await m['\x6a\x73\x6f\x6e']();return{'\x74\x6f\x6b\x65\x6e':o['\x61\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e'],'\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f':o['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':o['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74','\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':'\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72','\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};}var Q,ue,Ve,ye,At,Rt,$=J(()=>{'use strict';p(),(Q=ag(ah(),'\x2e\x6f\x78\x6c\x61\x79\x65\x72'),ue=ag(Q,'\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e'),Ve=ag(Q,'\x64\x65\x76\x69\x63\x65\x73\x2e\x6a\x73\x6f\x6e'),ye='\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31',At=0x5,Rt=0x78);}),He={};const h={};h['\x61\x64\x64\x53\x64\x6b\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']=()=>Ue,h['\x64\x65\x66\x61\x75\x6c\x74']=()=>Mt,h['\x66\x72\x65\x65\x7a\x65\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x56\x65\x72\x73\x69\x6f\x6e\x73']=()=>ze,h['\x67\x65\x74\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x56\x65\x72\x73\x69\x6f\x6e']=()=>V,h['\x67\x65\x74\x56\x65\x6e\x64\x6f\x72\x44\x69\x72']=()=>B,h['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>ne,h['\x69\x73\x56\x65\x72\x73\x69\x6f\x6e\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64']=()=>Ye,h['\x72\x65\x61\x64\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>_,h['\x77\x72\x69\x74\x65\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=()=>te,G(He,h);import{promises as aj}from'\x66\x73';import{join as ak}from'\x70\x61\x74\x68';async function _(d=process['\x63\x77\x64']()){let f=ak(d,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');try{let g=await aj['\x72\x65\x61\x64\x46\x69\x6c\x65'](f,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](g);}catch{throw new Error('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20'+d);}}async function te(d,f=process['\x63\x77\x64']()){let g=ak(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');await aj['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](g,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](d,null,0x2)+'\x0a');}async function Ue(d,f={},g=process['\x63\x77\x64']()){let k=await _(g);k['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(k['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={}),k['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(k['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={});for(let [l,m]of Object['\x65\x6e\x74\x72\x69\x65\x73'](d['\x70\x61\x63\x6b\x61\x67\x65\x73'])){let q=f['\x73\x61\x76\x65\x44\x65\x76']?k['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']:k['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73'];(f['\x73\x61\x76\x65']||f['\x73\x61\x76\x65\x44\x65\x76'])&&(q[l]=d['\x76\x65\x72\x73\x69\x6f\x6e']);}await te(k,g);}async function ze(d=process['\x63\x77\x64']()){let f=await _(d),g=k=>{if(k){for(let [l,m]of Object['\x65\x6e\x74\x72\x69\x65\x73'](k));}};g(f['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']),g(f['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']),await te(f,d);}async function ne(d=process['\x63\x77\x64']()){try{return await aj['\x61\x63\x63\x65\x73\x73'](ak(d,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e')),!0x0;}catch{return!0x1;}}function B(d,f=process['\x63\x77\x64']()){return ak(f,'\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72',d);}async function Ye(d,f=process['\x63\x77\x64']()){let g=B(d,f);try{return await aj['\x61\x63\x63\x65\x73\x73'](g),!0x0;}catch{return!0x1;}}async function V(d=process['\x63\x77\x64']()){let f=ak(d,'\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72');try{return(await aj['\x72\x65\x61\x64\x64\x69\x72'](f))['\x73\x6f\x72\x74']()['\x72\x65\x76\x65\x72\x73\x65']()[0x0]||null;}catch{return null;}}var Mt,W=J(()=>{'use strict';p();const f={};f['\x72\x65\x61\x64\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=_,f['\x77\x72\x69\x74\x65\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=te,f['\x61\x64\x64\x53\x64\x6b\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']=Ue,f['\x66\x72\x65\x65\x7a\x65\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x56\x65\x72\x73\x69\x6f\x6e\x73']=ze,f['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=ne,f['\x67\x65\x74\x56\x65\x6e\x64\x6f\x72\x44\x69\x72']=B,f['\x69\x73\x56\x65\x72\x73\x69\x6f\x6e\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64']=Ye,f['\x67\x65\x74\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x56\x65\x72\x73\x69\x6f\x6e']=V,Mt=f;}),je={};const i={};i['\x64\x65\x66\x61\x75\x6c\x74']=()=>Ht,i['\x67\x65\x74\x4c\x61\x74\x65\x73\x74\x56\x65\x72\x73\x69\x6f\x6e']=()=>Ze,i['\x68\x65\x61\x6c\x74\x68\x43\x68\x65\x63\x6b']=()=>ae,i['\x72\x65\x71\x75\x65\x73\x74\x50\x61\x63\x6b\x61\x67\x65\x44\x6f\x77\x6e\x6c\x6f\x61\x64']=()=>re,i['\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=()=>ie,G(je,i);function Yt(){return'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31';}async function oe(f,g={}){let k=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x4f\x4b\x45\x4e']||await ke();if(!k||!xe(k))throw new Error('\x49\x6e\x76\x61\x6c\x69\x64\x20\x6f\x72\x20\x6d\x69\x73\x73\x69\x6e\x67\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6f\x6b\x65\x6e\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x6c\x61\x79\x65\x72\x20\x6c\x6f\x67\x69\x6e');const l={...g};l['\x68\x65\x61\x64\x65\x72\x73']={'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':'\x42\x65\x61\x72\x65\x72\x20'+k,...g['\x68\x65\x61\x64\x65\x72\x73']};let m=''+Yt()+f,q=await fetch(m,l);if(!q['\x6f\x6b']){let s=await q['\x74\x65\x78\x74']();throw new Error('\x41\x50\x49\x20\x72\x65\x71\x75\x65\x73\x74\x20\x66\x61\x69\x6c\x65\x64\x20\x28'+q['\x73\x74\x61\x74\x75\x73']+'\x29\x3a\x20'+s);}return q['\x6a\x73\x6f\x6e']();}async function ie(f,g='\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',k){const l={};return l['\x70\x72\x6f\x6a\x65\x63\x74\x49\x64']=k,l['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']=g,l['\x72\x65\x71\x75\x65\x73\x74\x65\x64']=f,(await oe('\x2f\x76\x31\x2f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2f\x72\x65\x73\x6f\x6c\x76\x65',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](l)}))['\x64\x61\x74\x61'];}async function re(f,g){const k={};return k['\x70\x61\x63\x6b\x61\x67\x65\x54\x79\x70\x65']=f,k['\x76\x65\x72\x73\x69\x6f\x6e']=g,(await oe('\x2f\x76\x31\x2f\x70\x61\x63\x6b\x61\x67\x65\x73\x2f\x64\x6f\x77\x6e\x6c\x6f\x61\x64',{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](k)}))['\x64\x61\x74\x61'];}async function Ze(){return(await oe('\x2f\x76\x31\x2f\x6c\x61\x74\x65\x73\x74\x2d\x76\x65\x72\x73\x69\x6f\x6e'))['\x64\x61\x74\x61']['\x76\x65\x72\x73\x69\x6f\x6e'];}async function ae(){try{return await oe('\x2f\x76\x31\x2f\x68\x65\x61\x6c\x74\x68'),!0x0;}catch{return!0x1;}}var Ht,se=J(()=>{'use strict';p(),$();const f={};f['\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']=ie,f['\x72\x65\x71\x75\x65\x73\x74\x50\x61\x63\x6b\x61\x67\x65\x44\x6f\x77\x6e\x6c\x6f\x61\x64']=re,f['\x67\x65\x74\x4c\x61\x74\x65\x73\x74\x56\x65\x72\x73\x69\x6f\x6e']=Ze,f['\x68\x65\x61\x6c\x74\x68\x43\x68\x65\x63\x6b']=ae,Ht=f;});p(),b();import{Command as al}from'\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x72';p(),$(),b();async function Je(g={}){v('\x4f\x78\x4c\x61\x79\x65\x72\x20\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e');let k=await U();a('\x44\x65\x76\x69\x63\x65\x3a\x20'+k),a('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+(g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')),a('\x41\x50\x49\x20\x45\x6e\x64\x70\x6f\x69\x6e\x74\x3a\x20'+(g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31')),console['\x6c\x6f\x67']();let l=j('\x49\x6e\x69\x74\x69\x61\x74\x69\x6e\x67\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x2e\x2e\x2e');l['\x73\x74\x61\x72\x74']();let m;try{let M=g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31';a('\x41\x50\x49\x20\x45\x6e\x64\x70\x6f\x69\x6e\x74\x3a\x20'+M),m=await he(g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74',M),l['\x73\x75\x63\x63\x65\x65\x64']('\x44\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x64');}catch(N){l['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x20\x64\x65\x76\x69\x63\x65\x20\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e'),y(N instanceof Error?N['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67'](),a('\x54\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x2c\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x74\x68\x65\x73\x65\x20\x73\x74\x65\x70\x73\x3a'),console['\x6c\x6f\x67']();let q=m['\x76\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6f\x6e\x55\x72\x6c'],w=m['\x75\x73\x65\x72\x43\x6f\x64\x65'];if(console['\x6c\x6f\x67']('\x20\x20\x31\x2e\x20\x56\x69\x73\x69\x74\x20\x74\x68\x69\x73\x20\x55\x52\x4c\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x62\x72\x6f\x77\x73\x65\x72\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20'+q),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67']('\x20\x20\x32\x2e\x20\x45\x6e\x74\x65\x72\x20\x74\x68\x69\x73\x20\x63\x6f\x64\x65\x20\x77\x68\x65\x6e\x20\x70\x72\x6f\x6d\x70\x74\x65\x64\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20'+w),console['\x6c\x6f\x67'](),g['\x6e\x6f\x2d\x62\x72\x6f\x77\x73\x65\x72'])a('\x42\x72\x6f\x77\x73\x65\x72\x20\x61\x75\x74\x6f\x2d\x6f\x70\x65\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x64\x20\x28\x2d\x2d\x6e\x6f\x2d\x62\x72\x6f\x77\x73\x65\x72\x20\x66\x6c\x61\x67\x20\x73\x65\x74\x29');else try{let a0=new URL(q);a0['\x73\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6d\x73']['\x73\x65\x74']('\x64\x65\x76\x69\x63\x65\x5f\x63\x6f\x64\x65',m['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65']);let a1=j('\x4f\x70\x65\x6e\x69\x6e\x67\x20\x62\x72\x6f\x77\x73\x65\x72\x2e\x2e\x2e');a1['\x73\x74\x61\x72\x74'](),await Ce(a0['\x74\x6f\x53\x74\x72\x69\x6e\x67']()),a1['\x73\x75\x63\x63\x65\x65\x64']('\x42\x72\x6f\x77\x73\x65\x72\x20\x6f\x70\x65\x6e\x65\x64');}catch{a('\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x6f\x70\x65\x6e\x20\x62\x72\x6f\x77\x73\x65\x72\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x76\x69\x73\x69\x74\x20\x74\x68\x65\x20\x55\x52\x4c\x20\x6d\x61\x6e\x75\x61\x6c\x6c\x79\x2e');}console['\x6c\x6f\x67'](),a('\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x74\x6f\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65\x2e\x2e\x2e');let K=j('\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x70\x70\x72\x6f\x76\x61\x6c');try{K['\x73\x74\x61\x72\x74']();let a2=await we(m['\x70\x6f\x6c\x6c\x45\x6e\x64\x70\x6f\x69\x6e\x74'],m['\x64\x65\x76\x69\x63\x65\x43\x6f\x64\x65'],{'\x69\x6e\x74\x65\x72\x76\x61\x6c':g['\x70\x6f\x6c\x6c\x2d\x69\x6e\x74\x65\x72\x76\x61\x6c']||m['\x69\x6e\x74\x65\x72\x76\x61\x6c'],'\x6d\x61\x78\x41\x74\x74\x65\x6d\x70\x74\x73':0x78,'\x6f\x6e\x50\x72\x6f\x67\x72\x65\x73\x73':(a5,a6)=>{a5%0x8===0x0&&(K['\x74\x65\x78\x74']='\x57\x61\x69\x74\x69\x6e\x67\x20\x66\x6f\x72\x20\x61\x70\x70\x72\x6f\x76\x61\x6c\x20\x28'+Math['\x66\x6c\x6f\x6f\x72'](a5/a6*0x64)+'\x25\x29');}});K['\x73\x75\x63\x63\x65\x65\x64']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c');let a3=g['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']||'\x68\x74\x74\x70\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x3a\x33\x30\x30\x31',a4={'\x74\x6f\x6b\x65\x6e':a2['\x61\x63\x63\x65\x73\x73\x54\x6f\x6b\x65\x6e'],'\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f':a2['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f'],'\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64':a2['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':g['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74','\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':'\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72','\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74':a3,'\x75\x70\x64\x61\x74\x65\x64\x41\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};await ee(a4),K['\x73\x74\x6f\x70'](),console['\x6c\x6f\x67'](),u('\x4c\x6f\x67\x67\x65\x64\x20\x69\x6e\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),a('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+a2['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),a('\x44\x65\x76\x69\x63\x65\x20\x49\x44\x3a\x20'+a2['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x64\x65\x76\x69\x63\x65\x49\x64']),a('\x53\x63\x6f\x70\x65\x73\x3a\x20'+a2['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x73\x63\x6f\x70\x65\x73']['\x6a\x6f\x69\x6e']('\x2c\x20')),a('\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+new Date(a2['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74'])['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()),process['\x65\x78\x69\x74'](0x0);}catch(a5){K['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64'),y(a5 instanceof Error?a5['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}}p(),$(),W(),p(),W();import{existsSync as am,readFileSync as ao}from'\x66\x73';import{join as ap}from'\x70\x61\x74\x68';function Ut(d=process['\x63\x77\x64']()){return am(ap(d,'\x70\x6e\x70\x6d\x2d\x6c\x6f\x63\x6b\x2e\x79\x61\x6d\x6c'))?'\x70\x6e\x70\x6d':am(ap(d,'\x62\x75\x6e\x2e\x6c\x6f\x63\x6b\x62'))?'\x62\x75\x6e':am(ap(d,'\x79\x61\x72\x6e\x2e\x6c\x6f\x63\x6b'))?'\x79\x61\x72\x6e':am(ap(d,'\x70\x61\x63\x6b\x61\x67\x65\x2d\x6c\x6f\x63\x6b\x2e\x6a\x73\x6f\x6e'))?'\x6e\x70\x6d':'\x75\x6e\x6b\x6e\x6f\x77\x6e';}function De(d=process['\x63\x77\x64']()){let f=d;for(;f!=='\x2f'&&f!=='\x2e';){if(am(ap(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'))){if(am(ap(f,'\x70\x6e\x70\x6d\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x79\x61\x6d\x6c'))||am(ap(f,'\x74\x75\x72\x62\x6f\x2e\x6a\x73\x6f\x6e'))||am(ap(f,'\x6c\x65\x72\x6e\x61\x2e\x6a\x73\x6f\x6e'))||am(ap(f,'\x6e\x78\x2e\x6a\x73\x6f\x6e')))return f;try{let k=ap(f,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'),l=ao(k,'\x75\x74\x66\x2d\x38');if(JSON['\x70\x61\x72\x73\x65'](l)['\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x73'])return f;}catch{}if(f===d)return f;}let g=ap(f,'\x2e\x2e');if(g===f)break;f=g;}return d;}async function A(k=process['\x63\x77\x64']()){let q=De(k),w=am(ap(q,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e')),K=am(ap(q,'\x74\x73\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e'))||am(ap(q,'\x74\x73\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e')),M=Ut(q),N='\x75\x6e\x6b\x6e\x6f\x77\x6e';if(w)try{let a1=await _(q),a2={...a1['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73'],...a1['\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']},a3='\x72\x65\x61\x63\x74'in a2||'\x72\x65\x61\x63\x74\x2d\x64\x6f\x6d'in a2||'\x40\x74\x79\x70\x65\x73\x2f\x72\x65\x61\x63\x74'in a2||'\x6e\x65\x78\x74'in a2,a4='\x68\x6f\x6e\x6f'in a2||'\x40\x68\x6f\x6e\x6f\x2f\x68\x6f\x6e\x6f'in a2,a5=a3,a6=a4;a5&&a6?N='\x75\x6e\x6b\x6e\x6f\x77\x6e':a5?N='\x66\x72\x6f\x6e\x74\x65\x6e\x64':a6&&(N='\x62\x61\x63\x6b\x65\x6e\x64');}catch{}const a0={};return a0['\x74\x79\x70\x65']=N,a0['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']=w,a0['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']=K,a0['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']=M,a0['\x72\x6f\x6f\x74\x44\x69\x72']=q,a0;}function Ie(d){switch(d){case'\x70\x6e\x70\x6d':return'\x70\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x62\x75\x6e':return'\x62\x75\x6e\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x79\x61\x72\x6e':return'\x79\x61\x72\x6e\x20\x69\x6e\x73\x74\x61\x6c\x6c';case'\x6e\x70\x6d':return'\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';default:return'\x70\x6e\x70\x6d\x20\x69\x6e\x73\x74\x61\x6c\x6c';}}function Be(d){switch(d){case'\x62\x61\x63\x6b\x65\x6e\x64':return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b'];case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':return['\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b'];default:return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b','\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b','\x63\x6c\x69\x2d\x74\x6f\x6f\x6c\x73'];}}b();async function We(k={}){v('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x53\x74\x61\x74\x75\x73');let m=await Pe();if(m['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']){if(u('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),a('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+(m['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e')),a('\x44\x65\x76\x69\x63\x65\x3a\x20'+(m['\x64\x65\x76\x69\x63\x65\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e')),k['\x76\x65\x72\x62\x6f\x73\x65']&&m['\x73\x63\x6f\x70\x65\x73']&&a('\x53\x63\x6f\x70\x65\x73\x3a\x20'+m['\x73\x63\x6f\x70\x65\x73']['\x6a\x6f\x69\x6e']('\x2c\x20')),k['\x76\x65\x72\x62\x6f\x73\x65']&&m['\x65\x78\x70\x69\x72\x65\x73\x41\x74']){let M=new Date(m['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),N=new Date(),a0=Math['\x63\x65\x69\x6c']((M['\x67\x65\x74\x54\x69\x6d\x65']()-N['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));a('\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+M['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(a0>0x0?'\x69\x6e\x20'+a0+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}}else y('\x4e\x6f\x74\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),a('\x52\x75\x6e\x20\x22\x6f\x78\x20\x6c\x6f\x67\x69\x6e\x22\x20\x74\x6f\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65');if(console['\x6c\x6f\x67'](),m['\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64']){v('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');let a1=await be();if(a1){if(u('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x20\x6c\x6f\x61\x64\x65\x64'),a('\x53\x63\x68\x65\x6d\x61\x20\x56\x65\x72\x73\x69\x6f\x6e\x3a\x20'+a1['\x73\x63\x68\x65\x6d\x61\x56\x65\x72\x73\x69\x6f\x6e']),a('\x4c\x69\x63\x65\x6e\x73\x65\x3a\x20'+a1['\x6c\x69\x63\x65\x6e\x73\x65\x49\x64']),a('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+a1['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']),a1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']){let a2=Object['\x6b\x65\x79\x73'](a1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68'];if(a('\x41\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x3a\x20'+a2),k['\x76\x65\x72\x62\x6f\x73\x65']){let a3=Object['\x6b\x65\x79\x73'](a1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']);a3['\x6c\x65\x6e\x67\x74\x68']>0x0&&(a('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x3a'),T(a3));let a4=new Date(a1['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),a5=new Date(),a6=Math['\x63\x65\x69\x6c']((a4['\x67\x65\x74\x54\x69\x6d\x65']()-a5['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));a('\x4d\x61\x6e\x69\x66\x65\x73\x74\x20\x45\x78\x70\x69\x72\x65\x73\x3a\x20'+a4['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(a6>0x0?'\x69\x6e\x20'+a6+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}}else a('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x69\x6e\x20\x6d\x61\x6e\x69\x66\x65\x73\x74');}else a('\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65'),a('\x52\x75\x6e\x20\x22\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x22\x20\x74\x6f\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x6c\x61\x74\x65\x73\x74\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');console['\x6c\x6f\x67']();}v('\x50\x72\x6f\x6a\x65\x63\x74');let q=await A(),w=Be(q['\x74\x79\x70\x65']);q['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']?(u('\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64'),a('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+q['\x74\x79\x70\x65']),a('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x3a\x20'+q['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']),a('\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x3a\x20'+(q['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']?'\x59\x65\x73':'\x4e\x6f'))):y('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79'),console['\x6c\x6f\x67'](),v('\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e');let K=await V();if(K){if(u('\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+K+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64'),a('\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a\x20\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72\x2f'+K+'\x2f'),k['\x76\x65\x72\x62\x6f\x73\x65']){let {existsSync:a7}=await import('fs'),{join:a8}=await import('path'),aB=a8(process['\x63\x77\x64'](),'\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72',K);if(a7(aB)){const aC={};aC['\x77\x69\x74\x68\x46\x69\x6c\x65\x54\x79\x70\x65\x73']=!0x0;let {readdir:aD}=await import('fs/promises'),aE=(await aD(aB,aC))['\x66\x69\x6c\x74\x65\x72'](aF=>aF['\x69\x73\x44\x69\x72\x65\x63\x74\x6f\x72\x79']())['\x6d\x61\x70'](aF=>aF['\x6e\x61\x6d\x65']);aE['\x6c\x65\x6e\x67\x74\x68']>0x0&&(a('\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x3a'),T(aE));}}}else a('\x4e\x6f\x20\x53\x44\x4b\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64'),a('\x52\x75\x6e\x20\x22\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x22\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x74\x68\x65\x20\x53\x44\x4b');console['\x6c\x6f\x67'](),w['\x6c\x65\x6e\x67\x74\x68']>0x0&&!K&&(v('\x52\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x65\x64'),a('\x46\x6f\x72\x20\x74\x68\x69\x73\x20\x70\x72\x6f\x6a\x65\x63\x74\x2c\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x72\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x3a'),T(w));}p();import{promises as aq}from'\x66\x73';import{join as ar}from'\x70\x61\x74\x68';import{execSync as as}from'\x63\x68\x69\x6c\x64\x5f\x70\x72\x6f\x63\x65\x73\x73';p(),p(),$();async function qe(){let {loadConfig:d}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>($(),Se)),f=await d();return f?{'\x61\x70\x69\x4b\x65\x79':f['\x74\x6f\x6b\x65\x6e'],'\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74':f['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74'],'\x76\x65\x6e\x64\x6f\x72\x44\x69\x72':f['\x76\x65\x6e\x64\x6f\x72\x44\x69\x72'],'\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74':f['\x61\x70\x69\x45\x6e\x64\x70\x6f\x69\x6e\x74']}:null;}async function Xe(){let {removeConfig:d}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>($(),Se));await d();}function zt(){let {join:d}=X('\x70\x61\x74\x68'),{homedir:f}=X('\x6f\x73');return d(f(),'\x2e\x6f\x78\x6c\x61\x79\x65\x72');}function Ge(){return X('\x70\x61\x74\x68')['\x6a\x6f\x69\x6e'](zt(),'\x63\x6f\x6e\x66\x69\x67\x2e\x6a\x73\x6f\x6e');}$(),se(),p();import{promises as au}from'\x66\x73';import{join as av}from'\x70\x61\x74\x68';async function Qe(k,l,m){let q=await fetch(k);if(!q['\x6f\x6b'])throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x64\x6f\x77\x6e\x6c\x6f\x61\x64\x3a\x20'+q['\x73\x74\x61\x74\x75\x73\x54\x65\x78\x74']);let w=parseInt(q['\x68\x65\x61\x64\x65\x72\x73']['\x67\x65\x74']('\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x6c\x65\x6e\x67\x74\x68')||'\x30',0xa),K=0x0;const M={};M['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await au['\x6d\x6b\x64\x69\x72'](av(l,'\x2e\x2e'),M);let N=await au['\x6f\x70\x65\x6e'](l,'\x77');try{let a0=q['\x62\x6f\x64\x79']?.['\x67\x65\x74\x52\x65\x61\x64\x65\x72']();if(!a0)throw new Error('\x4e\x6f\x20\x72\x65\x73\x70\x6f\x6e\x73\x65\x20\x62\x6f\x64\x79');for(;;){let {done:a1,value:a2}=await a0['\x72\x65\x61\x64']();if(a1)break;await N['\x77\x72\x69\x74\x65'](a2),K+=a2['\x6c\x65\x6e\x67\x74\x68'],m&&w>0x0&&m(K,w);}}finally{await N['\x63\x6c\x6f\x73\x65']();}}async function et(d,f){let g=await au['\x72\x65\x61\x64\x46\x69\x6c\x65'](d,'\x75\x74\x66\x2d\x38'),k=JSON['\x70\x61\x72\x73\x65'](g);if(f&&k['\x73\x68\x61\x32\x35\x36']!==f)throw new Error('\x4d\x61\x6e\x69\x66\x65\x73\x74\x20\x53\x48\x41\x32\x35\x36\x20\x6d\x69\x73\x6d\x61\x74\x63\x68\x2e\x20\x45\x78\x70\x65\x63\x74\x65\x64\x20'+f+'\x2c\x20\x67\x6f\x74\x20'+k['\x73\x68\x61\x32\x35\x36']);return k;}async function tt(f,g){let k=(await import('adm-zip'))['\x64\x65\x66\x61\x75\x6c\x74'],l=new k(f);const m={};m['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await au['\x6d\x6b\x64\x69\x72'](g,m),l['\x65\x78\x74\x72\x61\x63\x74\x41\x6c\x6c\x54\x6f'](g,!0x0));}W(),p(),p();import{promises as aw}from'\x66\x73';import{join as ax}from'\x70\x61\x74\x68';import{existsSync as ay}from'\x66\x73';var Ee=ax(process['\x65\x6e\x76']['\x48\x4f\x4d\x45']||process['\x65\x6e\x76']['\x55\x53\x45\x52\x50\x52\x4f\x46\x49\x4c\x45']||'','\x2e\x6f\x78\x6c\x61\x79\x65\x72','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x2e\x6a\x73\x6f\x6e'),qt=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x45\x4c\x45\x4d\x45\x54\x52\x59']!=='\x30';async function Xt(){try{if(ay(Ee)){let f=await aw['\x72\x65\x61\x64\x46\x69\x6c\x65'](Ee,'\x75\x74\x66\x2d\x38');return JSON['\x70\x61\x72\x73\x65'](f);}}catch{}let d={'\x65\x6e\x61\x62\x6c\x65\x64':qt,'\x75\x73\x65\x72\x49\x64':Zt()};return await Gt(d),d;}async function Gt(f){let g=ax(process['\x65\x6e\x76']['\x48\x4f\x4d\x45']||process['\x65\x6e\x76']['\x55\x53\x45\x52\x50\x52\x4f\x46\x49\x4c\x45']||'','\x2e\x6f\x78\x6c\x61\x79\x65\x72');const k={};k['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await aw['\x6d\x6b\x64\x69\x72'](g,k),await aw['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](Ee,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f,null,0x2)));}function Zt(){let d=new Uint8Array(0x8);return crypto['\x67\x65\x74\x52\x61\x6e\x64\x6f\x6d\x56\x61\x6c\x75\x65\x73'](d),Array['\x66\x72\x6f\x6d'](d,f=>f['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10)['\x70\x61\x64\x53\x74\x61\x72\x74'](0x2,'\x30'))['\x6a\x6f\x69\x6e']('');}async function ot(d){let f=await Xt();if(!f['\x65\x6e\x61\x62\x6c\x65\x64'])return;let g={...d,'\x75\x73\x65\x72\x49\x64':f['\x75\x73\x65\x72\x49\x64'],'\x74\x69\x6d\x65\x73\x74\x61\x6d\x70':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72\x69\x6e\x67']()};Qt(g)['\x63\x61\x74\x63\x68'](()=>{});}async function Qt(f){let g=process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x54\x45\x4c\x45\x4d\x45\x54\x52\x59\x5f\x45\x4e\x44\x50\x4f\x49\x4e\x54']||'\x68\x74\x74\x70\x73\x3a\x2f\x2f\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x2e\x6f\x78\x6c\x61\x79\x65\x72\x2e\x64\x65\x76\x2f\x76\x31\x2f\x65\x76\x65\x6e\x74';try{const k={};k['\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65']='\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e',await fetch(g,{'\x6d\x65\x74\x68\x6f\x64':'\x50\x4f\x53\x54','\x68\x65\x61\x64\x65\x72\x73':k,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f),'\x6b\x65\x65\x70\x61\x6c\x69\x76\x65':!0x0})['\x63\x61\x74\x63\x68'](()=>{});}catch{}}function E(f,g={}){const k={'\x65\x76\x65\x6e\x74':f,'\x63\x6f\x6d\x6d\x61\x6e\x64':f,...g};k['\x63\x6c\x69\x56\x65\x72\x73\x69\x6f\x6e']='\x30\x2e\x30\x2e\x31',k['\x6e\x6f\x64\x65\x56\x65\x72\x73\x69\x6f\x6e']=process['\x76\x65\x72\x73\x69\x6f\x6e'],k['\x70\x6c\x61\x74\x66\x6f\x72\x6d']=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],ot(k);}function it(f,g,k={}){const l={'\x65\x76\x65\x6e\x74':'\x65\x72\x72\x6f\x72','\x63\x6f\x6d\x6d\x61\x6e\x64':f,'\x65\x72\x72\x6f\x72\x43\x6f\x64\x65':g,...k};l['\x63\x6c\x69\x56\x65\x72\x73\x69\x6f\x6e']='\x30\x2e\x30\x2e\x31',l['\x6e\x6f\x64\x65\x56\x65\x72\x73\x69\x6f\x6e']=process['\x76\x65\x72\x73\x69\x6f\x6e'],l['\x70\x6c\x61\x74\x66\x6f\x72\x6d']=process['\x70\x6c\x61\x74\x66\x6f\x72\x6d'],ot(l);}b(),$();var rt='\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72',at='\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73';function tn(d,f){if(f['\x70\x61\x63\x6b\x61\x67\x65\x73']&&f['\x70\x61\x63\x6b\x61\x67\x65\x73']['\x6c\x65\x6e\x67\x74\x68']>0x0)return f['\x70\x61\x63\x6b\x61\x67\x65\x73'];switch(d){case'\x62\x61\x63\x6b\x65\x6e\x64':return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b'];case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':return['\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b'];default:return['\x62\x61\x63\x6b\x65\x6e\x64\x2d\x73\x64\x6b','\x66\x72\x6f\x6e\x74\x65\x6e\x64\x2d\x73\x64\x6b','\x63\x6c\x69\x2d\x74\x6f\x6f\x6c\x73'];}}function nn(g,k){let l={},m={};for(let [w,K]of Object['\x65\x6e\x74\x72\x69\x65\x73'](k['\x70\x61\x63\x6b\x61\x67\x65\x73'])){let M=K['\x70\x61\x74\x68'];l[w]='\x2e\x2f'+M,m[w]='\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x3a\x2a';let N=w['\x73\x70\x6c\x69\x74']('\x2f')['\x73\x6c\x69\x63\x65'](0x1);if(N['\x6c\x65\x6e\x67\x74\x68']>0x1){let a0=N['\x6a\x6f\x69\x6e']('\x2d');l['\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f'+a0]='\x2e\x2f'+M;}}const q={};return q['\x6e\x61\x6d\x65']='\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65',q['\x76\x65\x72\x73\x69\x6f\x6e']=g,q['\x70\x72\x69\x76\x61\x74\x65']=!0x0,q['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']='\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x76'+g+'\x20\x2d\x20\x4c\x6f\x63\x61\x6c\x20\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x20\x70\x61\x63\x6b\x61\x67\x65',q['\x74\x79\x70\x65']='\x6d\x6f\x64\x75\x6c\x65',q['\x65\x78\x70\x6f\x72\x74\x73']=l,q['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']=m,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](q,null,0x2);}async function on(g,k){let l=ar(g,'\x70\x6e\x70\x6d\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x79\x61\x6d\x6c'),m=k['\x72\x65\x70\x6c\x61\x63\x65'](g+'\x2f','')['\x72\x65\x70\x6c\x61\x63\x65'](/^\//,''),q;try{let w=(await aq['\x72\x65\x61\x64\x46\x69\x6c\x65'](l,'\x75\x74\x66\x2d\x38'))['\x6d\x61\x74\x63\x68'](/packages:\s*\n((?:\s*-\s*[^\n]+\n*)+)/);const K={};K['\x70\x61\x63\x6b\x61\x67\x65\x73']=[],w?q={'\x70\x61\x63\x6b\x61\x67\x65\x73':w[0x1]['\x73\x70\x6c\x69\x74']('\x0a')['\x6d\x61\x70'](M=>M['\x72\x65\x70\x6c\x61\x63\x65'](/^\s*-\s*/,'')['\x74\x72\x69\x6d']())['\x66\x69\x6c\x74\x65\x72'](M=>M['\x6c\x65\x6e\x67\x74\x68']>0x0)}:q=K;}catch{const M={};M['\x70\x61\x63\x6b\x61\x67\x65\x73']=[],q=M;}if(!q['\x70\x61\x63\x6b\x61\x67\x65\x73']?.['\x69\x6e\x63\x6c\x75\x64\x65\x73'](m)){q['\x70\x61\x63\x6b\x61\x67\x65\x73']=[...q['\x70\x61\x63\x6b\x61\x67\x65\x73']||[],m];let N='\x70\x61\x63\x6b\x61\x67\x65\x73\x3a\x0a'+q['\x70\x61\x63\x6b\x61\x67\x65\x73']['\x6d\x61\x70'](a0=>'\x20\x20\x2d\x20\x27'+a0+'\x27')['\x6a\x6f\x69\x6e']('\x0a')+'\x0a';await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](l,N,'\x75\x74\x66\x2d\x38');}}async function rn(d,f){let g=ar(d,'\x63\x75\x72\x72\x65\x6e\x74'),k=ar(d,f);try{await aq['\x75\x6e\x6c\x69\x6e\x6b'](g);}catch{}await aq['\x73\x79\x6d\x6c\x69\x6e\x6b'](k,g,'\x64\x69\x72');}async function an(d,f){let g=ar(d,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e');try{let k=await aq['\x72\x65\x61\x64\x46\x69\x6c\x65'](g,'\x75\x74\x66\x2d\x38'),l=JSON['\x70\x61\x72\x73\x65'](k);l['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']||(l['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']={}),l['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']['\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65']||(l['\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73']['\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65']='\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x3a\x2a'),await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](g,JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](l,null,0x2)+'\x0a','\x75\x74\x66\x2d\x38');}catch(m){throw new Error('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x75\x70\x64\x61\x74\x65\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x3a\x20'+(m instanceof Error?m['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'));}}async function st(a3,a4={}){let a5=Date['\x6e\x6f\x77'](),a6=process['\x63\x77\x64']();v('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x65\x72');let a7=De(a6);await ne()||(y('\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64\x20\x69\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79'),a('\x4e\x61\x76\x69\x67\x61\x74\x65\x20\x74\x6f\x20\x79\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x65\x66\x6f\x72\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67\x2e'),process['\x65\x78\x69\x74'](0x1));let a8=await A(a6);a('\x50\x72\x6f\x6a\x65\x63\x74\x20\x72\x6f\x6f\x74\x3a\x20'+(a7===a6?'\x2e':a7)),a('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x3a\x20'+a8['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']),a('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+a8['\x74\x79\x70\x65']);let aB=tn(a8['\x74\x79\x70\x65'],a4);a('\x50\x61\x63\x6b\x61\x67\x65\x73\x3a\x20'+aB['\x6a\x6f\x69\x6e']('\x2c\x20'));let aC=j('\x56\x61\x6c\x69\x64\x61\x74\x69\x6e\x67\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x2e\x2e\x2e');aC['\x73\x74\x61\x72\x74']();try{let aI=await F();(!aI||!aI['\x74\x6f\x6b\x65\x6e'])&&(aC['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x72\x65\x71\x75\x69\x72\x65\x64'),y('\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e'),process['\x65\x78\x69\x74'](0x1)),z(aI)&&(aC['\x66\x61\x69\x6c']('\x54\x6f\x6b\x65\x6e\x20\x65\x78\x70\x69\x72\x65\x64'),y('\x59\x6f\x75\x72\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x74\x6f\x6b\x65\x6e\x20\x68\x61\x73\x20\x65\x78\x70\x69\x72\x65\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e'),process['\x65\x78\x69\x74'](0x1)),aC['\x73\x75\x63\x63\x65\x65\x64']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64'),a('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+aI['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),a('\x44\x65\x76\x69\x63\x65\x3a\x20'+(aI['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']?.['\x64\x65\x76\x69\x63\x65\x49\x64']||'\x55\x6e\x6b\x6e\x6f\x77\x6e'));let aJ=new Date(aI['\x74\x6f\x6b\x65\x6e\x49\x6e\x66\x6f']['\x65\x78\x70\x69\x72\x65\x73\x41\x74']),aK=new Date(),aL=Math['\x63\x65\x69\x6c']((aJ['\x67\x65\x74\x54\x69\x6d\x65']()-aK['\x67\x65\x74\x54\x69\x6d\x65']())/(0x3e8*0x3c*0x3c*0x18));a('\x54\x6f\x6b\x65\x6e\x20\x65\x78\x70\x69\x72\x65\x73\x3a\x20'+aJ['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()+'\x20\x28'+(aL>0x0?'\x69\x6e\x20'+aL+'\x20\x64\x61\x79\x73':'\x65\x78\x70\x69\x72\x65\x64')+'\x29');}catch(aM){aC['\x66\x61\x69\x6c']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64'),y(aM instanceof Error?aM['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67']();let aD=j('\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e');aD['\x73\x74\x61\x72\x74']();let aE=a3,aF;try{let {downloadUrl:aN,version:aO}=await re(aB[0x0],a3);aE=aO;let aP=ar(a7,'\x2e\x6f\x78\x6c\x61\x79\x65\x72\x2d\x74\x65\x6d\x70');const aQ={};aQ['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await aq['\x6d\x6b\x64\x69\x72'](aP,aQ);let aR=ar(aP,'\x6f\x78\x6c\x61\x79\x65\x72\x2d\x73\x64\x6b\x2d'+aE+'\x2e\x7a\x69\x70'),aS=0x0;await Qe(aN,aR,(b3,b4)=>{let b5=Math['\x66\x6c\x6f\x6f\x72'](b3/b4*0x64);b5-aS>=0xa&&(aD['\x74\x65\x78\x74']='\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e\x20'+b5+'\x25',aS=b5);}),aD['\x73\x75\x63\x63\x65\x65\x64']('\x44\x6f\x77\x6e\x6c\x6f\x61\x64\x65\x64\x20\x53\x44\x4b\x20\x28'+aE+'\x29');let aT=j('\x45\x78\x74\x72\x61\x63\x74\x69\x6e\x67\x20\x53\x44\x4b\x2e\x2e\x2e');aT['\x73\x74\x61\x72\x74']();let aU=ar(a7,rt),aV=ar(aU,aE);const aW={};aW['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,(await aq['\x6d\x6b\x64\x69\x72'](aV,aW),await tt(aR,ar(aP,'\x65\x78\x74\x72\x61\x63\x74\x65\x64')));let aX=ar(aP,'\x65\x78\x74\x72\x61\x63\x74\x65\x64',aE),aY=ar(aX,'\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x6a\x73\x6f\x6e');aF=await et(aY),await ct(aX,aV);let aZ=ar(aV,'\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e'),b0=nn(aE,aF);await aq['\x77\x72\x69\x74\x65\x46\x69\x6c\x65'](aZ,b0,'\x75\x74\x66\x2d\x38'),aT['\x73\x75\x63\x63\x65\x65\x64']('\x45\x78\x74\x72\x61\x63\x74\x65\x64\x20\x53\x44\x4b');let b1=j('\x43\x6f\x6e\x66\x69\x67\x75\x72\x69\x6e\x67\x20\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x2e\x2e\x2e');const b2={};b2['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,b2['\x66\x6f\x72\x63\x65']=!0x0,(b1['\x73\x74\x61\x72\x74'](),await on(a7,aV),await rn(aU,aE),await an(a7,aV),b1['\x73\x75\x63\x63\x65\x65\x64']('\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64'),await aq['\x72\x6d'](aP,b2));}catch(b3){aD['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x53\x44\x4b'),y(b3 instanceof Error?b3['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}console['\x6c\x6f\x67']();let aG=Date['\x6e\x6f\x77']()-a5;v('\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e\x20\x43\x6f\x6d\x70\x6c\x65\x74\x65'),u('\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aE+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),a('\x44\x75\x72\x61\x74\x69\x6f\x6e\x3a\x20'+fe(aG)),a('\x57\x6f\x72\x6b\x73\x70\x61\x63\x65\x3a\x20'+rt+'\x2f'+aE+'\x2f'),a('\x43\x75\x72\x72\x65\x6e\x74\x20\x6c\x69\x6e\x6b\x3a\x20'+at+'\x2f\x63\x75\x72\x72\x65\x6e\x74\x20\x2d\x3e\x20'+aE);let aH=j('\x52\x75\x6e\x6e\x69\x6e\x67\x20\x70\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x2e\x2e\x2e');aH['\x73\x74\x61\x72\x74']();try{let b4=Ie(a8['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']);const b5={};b5['\x63\x77\x64']=a7,b5['\x73\x74\x64\x69\x6f']='\x70\x69\x70\x65',(as(b4,b5),aH['\x73\x75\x63\x63\x65\x65\x64']('\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x76\x69\x61\x20'+a8['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']));}catch{aH['\x77\x61\x72\x6e']('\x50\x61\x63\x6b\x61\x67\x65\x20\x6d\x61\x6e\x61\x67\x65\x72\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x66\x61\x69\x6c\x65\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x72\x75\x6e\x20\x27'+Ie(a8['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72'])+'\x27\x20\x6d\x61\x6e\x75\x61\x6c\x6c\x79\x2e');}console['\x6c\x6f\x67'](),a('\x4e\x65\x78\x74\x20\x73\x74\x65\x70\x73\x3a'),console['\x6c\x6f\x67']('\x20\x20\x49\x6d\x70\x6f\x72\x74\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x3a'),console['\x6c\x6f\x67']('\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x7b\x20\x53\x6f\x6d\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x7d\x20\x66\x72\x6f\x6d\x20\x27\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x73\x64\x6b\x2d\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x27\x3b'),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67']('\x20\x20\x54\x6f\x20\x73\x77\x69\x74\x63\x68\x20\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x73\x2c\x20\x75\x70\x64\x61\x74\x65\x20\x74\x68\x65\x20'+at+'\x2f\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x2e');}async function ct(g,k){const l={};l['\x72\x65\x63\x75\x72\x73\x69\x76\x65']=!0x0,await aq['\x6d\x6b\x64\x69\x72'](k,l);const m={};m['\x77\x69\x74\x68\x46\x69\x6c\x65\x54\x79\x70\x65\x73']=!0x0;let q=await aq['\x72\x65\x61\x64\x64\x69\x72'](g,m);for(let s of q){let w=ar(g,s['\x6e\x61\x6d\x65']),K=ar(k,s['\x6e\x61\x6d\x65']);s['\x69\x73\x44\x69\x72\x65\x63\x74\x6f\x72\x79']()?await ct(w,K):await aq['\x63\x6f\x70\x79\x46\x69\x6c\x65'](w,K);}}p(),b();async function lt(d={}){v('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e');let f=await A(),g=d['\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74']||'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74';a('\x50\x72\x6f\x6a\x65\x63\x74\x20\x74\x79\x70\x65\x3a\x20'+f['\x74\x79\x70\x65']),a('\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20'+g);let k=[];switch(f['\x74\x79\x70\x65']){case'\x62\x61\x63\x6b\x65\x6e\x64':k['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65','\x63\x61\x63\x68\x65','\x65\x76\x65\x6e\x74\x73','\x71\x75\x65\x75\x65\x73','\x6d\x65\x74\x72\x69\x63\x73','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79');break;case'\x66\x72\x6f\x6e\x74\x65\x6e\x64':k['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65');break;default:k['\x70\x75\x73\x68']('\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65','\x73\x65\x61\x72\x63\x68','\x76\x65\x63\x74\x6f\x72','\x63\x61\x63\x68\x65','\x65\x76\x65\x6e\x74\x73','\x71\x75\x65\x75\x65\x73','\x6d\x65\x74\x72\x69\x63\x73','\x74\x65\x6c\x65\x6d\x65\x74\x72\x79');}let l=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](m=>m['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x52\x65\x73\x6f\x6c\x76\x69\x6e\x67\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2e\x2e\x2e'));l['\x73\x74\x61\x72\x74']();try{let m=await ie(k,g);l['\x73\x75\x63\x63\x65\x65\x64']('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x72\x65\x73\x6f\x6c\x76\x65\x64'),console['\x6c\x6f\x67'](),a('\x4f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x3a\x20'+m['\x6f\x72\x67\x61\x6e\x69\x7a\x61\x74\x69\x6f\x6e\x49\x64']),a('\x4c\x69\x63\x65\x6e\x73\x65\x3a\x20'+m['\x6c\x69\x63\x65\x6e\x73\x65\x49\x64']),a('\x52\x65\x73\x6f\x6c\x76\x65\x64\x20\x61\x74\x3a\x20'+new Date(m['\x72\x65\x73\x6f\x6c\x76\x65\x64\x41\x74'])['\x74\x6f\x4c\x6f\x63\x61\x6c\x65\x53\x74\x72\x69\x6e\x67']()),console['\x6c\x6f\x67'](),v('\x41\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'),de(m['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73']),d['\x76\x65\x72\x62\x6f\x73\x65']&&(console['\x6c\x6f\x67'](),v('\x55\x73\x61\x67\x65\x20\x45\x78\x61\x6d\x70\x6c\x65'),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67']('\x49\x6d\x70\x6f\x72\x74\x20\x61\x6e\x64\x20\x75\x73\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x69\x6e\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x3a'),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x60\x60\x60\x74\x79\x70\x65\x73\x63\x72\x69\x70\x74')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x69\x6d\x70\x6f\x72\x74\x20\x7b\x20\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x7d\x20\x66\x72\x6f\x6d\x20\x27\x40\x6f\x78\x6c\x61\x79\x65\x72\x2f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x69\x6e\x74\x65\x72\x6e\x61\x6c\x27\x3b')),console['\x6c\x6f\x67'](),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x63\x6f\x6e\x73\x74\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x3d\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x28\x7b')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x70\x72\x6f\x6a\x65\x63\x74\x49\x64\x3a\x20\x27\x79\x6f\x75\x72\x2d\x70\x72\x6f\x6a\x65\x63\x74\x2d\x69\x64\x27\x2c')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x3a\x20\x27'+g+'\x27\x2c')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x20\x20\x72\x65\x71\x75\x65\x73\x74\x65\x64\x3a\x20\x5b\x27'+k['\x6a\x6f\x69\x6e']('\x27\x2c\x20\x27')+'\x27\x5d')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x7d\x29\x3b')),console['\x6c\x6f\x67'](R['\x67\x72\x61\x79']('\x60\x60\x60')),console['\x6c\x6f\x67']()),u('\x59\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x68\x61\x73\x20\x61\x63\x63\x65\x73\x73\x20\x74\x6f\x20'+Object['\x6b\x65\x79\x73'](m['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73');}catch(q){l['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'),y(q instanceof Error?q['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),q instanceof Error&&q['\x6d\x65\x73\x73\x61\x67\x65']['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x41\x50\x49\x20\x6b\x65\x79')&&(console['\x6c\x6f\x67'](),a('\x4d\x61\x6b\x65\x20\x73\x75\x72\x65\x20\x79\x6f\x75\x27\x72\x65\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64\x3a'),console['\x6c\x6f\x67']('\x20\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e')),process['\x65\x78\x69\x74'](0x1);}}var R=(await import('chalk'))['\x64\x65\x66\x61\x75\x6c\x74'];p(),b();async function pt(){try{await Xe(),u('\x4c\x6f\x67\x67\x65\x64\x20\x6f\x75\x74\x20\x73\x75\x63\x63\x65\x73\x73\x66\x75\x6c\x6c\x79'),a('\x43\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x72\x65\x6d\x6f\x76\x65\x64\x20\x66\x72\x6f\x6d\x20'+Ge()),a('\x59\x6f\x75\x72\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x69\x73\x20\x6e\x6f\x20\x6c\x6f\x6e\x67\x65\x72\x20\x73\x74\x6f\x72\x65\x64\x20\x6c\x6f\x63\x61\x6c\x6c\x79\x2e');}catch(d){O('\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x72\x65\x6d\x6f\x76\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e'),a(d instanceof Error?d['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72');}}p(),b();import{existsSync as az}from'\x66\x73';import{join as aA}from'\x70\x61\x74\x68';async function sn(aB){let aC=[],aD=await qe();const aE={};aE['\x6e\x61\x6d\x65']='\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e',aE['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aE['\x6d\x65\x73\x73\x61\x67\x65']='\x41\x50\x49\x20\x6b\x65\x79\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64';const aF={};aF['\x6e\x61\x6d\x65']='\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e',aF['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aF['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x74\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x64',aF['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e',aD?aC['\x70\x75\x73\x68'](aE):aC['\x70\x75\x73\x68'](aF);try{const aT={};aT['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aT['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aT['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c\x20\x41\x50\x49\x20\x69\x73\x20\x72\x65\x61\x63\x68\x61\x62\x6c\x65';const aU={};aU['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aU['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aU['\x6d\x65\x73\x73\x61\x67\x65']='\x41\x50\x49\x20\x68\x65\x61\x6c\x74\x68\x20\x63\x68\x65\x63\x6b\x20\x66\x61\x69\x6c\x65\x64',aU['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6e\x65\x74\x77\x6f\x72\x6b\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e',await ae()?aC['\x70\x75\x73\x68'](aT):aC['\x70\x75\x73\x68'](aU);}catch{const aV={};aV['\x6e\x61\x6d\x65']='\x41\x50\x49\x20\x43\x6f\x6e\x6e\x65\x63\x74\x69\x76\x69\x74\x79',aV['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',aV['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x61\x6e\x6e\x6f\x74\x20\x72\x65\x61\x63\x68\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c\x20\x41\x50\x49',aV['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6e\x65\x74\x77\x6f\x72\x6b\x20\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x20\x6f\x72\x20\x41\x50\x49\x20\x65\x6e\x64\x70\x6f\x69\x6e\x74',aC['\x70\x75\x73\x68'](aV);}let aG=await A();const aH={};aH['\x6e\x61\x6d\x65']='\x50\x72\x6f\x6a\x65\x63\x74\x20\x53\x74\x72\x75\x63\x74\x75\x72\x65',aH['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aH['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x70\x61\x63\x6b\x61\x67\x65\x2e\x6a\x73\x6f\x6e\x20\x66\x6f\x75\x6e\x64',aH['\x66\x69\x78']='\x4e\x61\x76\x69\x67\x61\x74\x65\x20\x74\x6f\x20\x79\x6f\x75\x72\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79';const aI={};aI['\x6e\x61\x6d\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74',aI['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aI['\x6d\x65\x73\x73\x61\x67\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x6f\x75\x6e\x64';const aJ={};aJ['\x6e\x61\x6d\x65']='\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74',aJ['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aJ['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x54\x79\x70\x65\x53\x63\x72\x69\x70\x74\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x66\x6f\x75\x6e\x64',aJ['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6e\x70\x78\x20\x74\x73\x63\x20\x2d\x2d\x69\x6e\x69\x74',(aG['\x68\x61\x73\x50\x61\x63\x6b\x61\x67\x65\x4a\x73\x6f\x6e']?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x50\x72\x6f\x6a\x65\x63\x74\x20\x53\x74\x72\x75\x63\x74\x75\x72\x65','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':'\x46\x6f\x75\x6e\x64\x20'+aG['\x74\x79\x70\x65']+'\x20\x70\x72\x6f\x6a\x65\x63\x74\x20\x77\x69\x74\x68\x20'+aG['\x70\x61\x63\x6b\x61\x67\x65\x4d\x61\x6e\x61\x67\x65\x72']}):aC['\x70\x75\x73\x68'](aH),aG['\x68\x61\x73\x54\x73\x43\x6f\x6e\x66\x69\x67']?aC['\x70\x75\x73\x68'](aI):aC['\x70\x75\x73\x68'](aJ));let aK=await V();const aL={};aL['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aL['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aL['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x53\x44\x4b\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64',aL['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c';if(aK){let aW=B(aK),aX=aA(aW,'\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x6a\x73\x6f\x6e');const aY={};aY['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aY['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aY['\x6d\x65\x73\x73\x61\x67\x65']='\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aK+'\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64';const aZ={};aZ['\x6e\x61\x6d\x65']='\x53\x44\x4b\x20\x49\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e',aZ['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aZ['\x6d\x65\x73\x73\x61\x67\x65']='\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x20'+aK+'\x20\x69\x6e\x63\x6f\x6d\x70\x6c\x65\x74\x65\x20\x28\x6d\x69\x73\x73\x69\x6e\x67\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x29',aZ['\x66\x69\x78']='\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20\x2d\x2d\x66\x6f\x72\x63\x65',az(aX)?aC['\x70\x75\x73\x68'](aY):aC['\x70\x75\x73\x68'](aZ);}else aC['\x70\x75\x73\x68'](aL);let aM=aA(process['\x63\x77\x64'](),'\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65');const aN={};aN['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aN['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aN['\x6d\x65\x73\x73\x61\x67\x65']='\x56\x65\x6e\x64\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x69\x67\x6e\x6f\x72\x65\x64';const aO={};aO['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aO['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aO['\x6d\x65\x73\x73\x61\x67\x65']='\x56\x65\x6e\x64\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x6e\x6f\x74\x20\x69\x6e\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aO['\x66\x69\x78']='\x41\x64\x64\x20\x22\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72\x2f\x22\x20\x74\x6f\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65';const aP={};aP['\x6e\x61\x6d\x65']='\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65',aP['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aP['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65\x20\x66\x6f\x75\x6e\x64',aP['\x66\x69\x78']='\x43\x72\x65\x61\x74\x65\x20\x2e\x67\x69\x74\x69\x67\x6e\x6f\x72\x65\x20\x61\x6e\x64\x20\x61\x64\x64\x20\x22\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72\x2f\x22';const aQ={};aQ['\x6e\x61\x6d\x65']='\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x56\x61\x72\x69\x61\x62\x6c\x65\x73',aQ['\x73\x74\x61\x74\x75\x73']='\x70\x61\x73\x73',aQ['\x6d\x65\x73\x73\x61\x67\x65']='\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59\x20\x69\x73\x20\x73\x65\x74';const aR={};aR['\x6e\x61\x6d\x65']='\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x56\x61\x72\x69\x61\x62\x6c\x65\x73',aR['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',aR['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x69\x6e\x20\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x6f\x72\x20\x63\x6f\x6e\x66\x69\x67',aR['\x66\x69\x78']='\x53\x65\x74\x20\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59\x20\x6f\x72\x20\x72\x75\x6e\x3a\x20\x6f\x78\x20\x6c\x6f\x67\x69\x6e',(az(aM)?(await import('fs/promises').then(b0=>b0['\x72\x65\x61\x64\x46\x69\x6c\x65'](aM,'\x75\x74\x66\x2d\x38')))['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x2e\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x2d\x76\x65\x6e\x64\x6f\x72')?aC['\x70\x75\x73\x68'](aN):aC['\x70\x75\x73\x68'](aO):aC['\x70\x75\x73\x68'](aP),process['\x65\x6e\x76']['\x4f\x58\x4c\x41\x59\x45\x52\x5f\x41\x50\x49\x5f\x4b\x45\x59']?aC['\x70\x75\x73\x68'](aQ):aD||aC['\x70\x75\x73\x68'](aR));let aS=process['\x76\x65\x72\x73\x69\x6f\x6e'];if(parseInt(aS['\x73\x6c\x69\x63\x65'](0x1)['\x73\x70\x6c\x69\x74']('\x2e')[0x0],0xa)>=0x12?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x4e\x6f\x64\x65\x20\x56\x65\x72\x73\x69\x6f\x6e','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':'\x4e\x6f\x64\x65\x20'+aS+'\x20\x28\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x29'}):aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x4e\x6f\x64\x65\x20\x56\x65\x72\x73\x69\x6f\x6e','\x73\x74\x61\x74\x75\x73':'\x66\x61\x69\x6c','\x6d\x65\x73\x73\x61\x67\x65':'\x4e\x6f\x64\x65\x20'+aS+'\x20\x69\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x28\x72\x65\x71\x75\x69\x72\x65\x73\x20\x3e\x3d\x20\x31\x38\x29','\x66\x69\x78':'\x55\x70\x67\x72\x61\x64\x65\x20\x74\x6f\x20\x4e\x6f\x64\x65\x2e\x6a\x73\x20\x31\x38\x20\x6f\x72\x20\x6c\x61\x74\x65\x72'}),aB['\x76\x65\x72\x62\x6f\x73\x65']&&aD)try{let {resolveCapabilities:b0}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(se(),je)),b1=await b0(['\x61\x75\x74\x68','\x73\x74\x6f\x72\x61\x67\x65'],'\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74');const b2={};b2['\x6e\x61\x6d\x65']='\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b2['\x73\x74\x61\x74\x75\x73']='\x77\x61\x72\x6e',b2['\x6d\x65\x73\x73\x61\x67\x65']='\x4e\x6f\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65',b2['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x6c\x69\x63\x65\x6e\x73\x65\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e',Object['\x6b\x65\x79\x73'](b1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']>0x0?aC['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':'\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73','\x73\x74\x61\x74\x75\x73':'\x70\x61\x73\x73','\x6d\x65\x73\x73\x61\x67\x65':Object['\x6b\x65\x79\x73'](b1['\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73'])['\x6c\x65\x6e\x67\x74\x68']+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65'}):aC['\x70\x75\x73\x68'](b2);}catch{const b3={};b3['\x6e\x61\x6d\x65']='\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b3['\x73\x74\x61\x74\x75\x73']='\x66\x61\x69\x6c',b3['\x6d\x65\x73\x73\x61\x67\x65']='\x43\x6f\x75\x6c\x64\x20\x6e\x6f\x74\x20\x72\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73',b3['\x66\x69\x78']='\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x41\x50\x49\x20\x6b\x65\x79\x20\x61\x6e\x64\x20\x6c\x69\x63\x65\x6e\x73\x65',aC['\x70\x75\x73\x68'](b3);}return aC;}function cn(d){let f=0x0,g=0x0,k=0x0;for(let l of d)switch(l['\x73\x74\x61\x74\x75\x73']){case'\x70\x61\x73\x73':u(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),f++;break;case'\x77\x61\x72\x6e':O(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),l['\x66\x69\x78']&&a('\x20\x20\u2192\x20'+l['\x66\x69\x78']),g++;break;case'\x66\x61\x69\x6c':y(l['\x6e\x61\x6d\x65']+'\x3a\x20'+l['\x6d\x65\x73\x73\x61\x67\x65']),l['\x66\x69\x78']&&a('\x20\x20\u2192\x20'+l['\x66\x69\x78']),k++;break;}console['\x6c\x6f\x67'](),k===0x0&&g===0x0?u('\x41\x6c\x6c\x20\x63\x68\x65\x63\x6b\x73\x20\x70\x61\x73\x73\x65\x64\x21\x20\x59\x6f\x75\x72\x20\x73\x79\x73\x74\x65\x6d\x20\x69\x73\x20\x70\x72\x6f\x70\x65\x72\x6c\x79\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x2e'):k===0x0?O(g+'\x20\x77\x61\x72\x6e\x69\x6e\x67\x28\x73\x29\x20\x66\x6f\x75\x6e\x64\x2e\x20\x43\x6f\x6e\x73\x69\x64\x65\x72\x20\x66\x69\x78\x69\x6e\x67\x20\x74\x68\x65\x6d\x20\x66\x6f\x72\x20\x6f\x70\x74\x69\x6d\x61\x6c\x20\x70\x65\x72\x66\x6f\x72\x6d\x61\x6e\x63\x65\x2e'):y(k+'\x20\x65\x72\x72\x6f\x72\x28\x73\x29\x20\x61\x6e\x64\x20'+g+'\x20\x77\x61\x72\x6e\x69\x6e\x67\x28\x73\x29\x20\x66\x6f\x75\x6e\x64\x2e\x20\x50\x6c\x65\x61\x73\x65\x20\x66\x69\x78\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x73\x2e');}async function mt(d={}){v('\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x44\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x73');let f=await sn(d);console['\x6c\x6f\x67'](),cn(f),f['\x73\x6f\x6d\x65'](g=>g['\x73\x74\x61\x74\x75\x73']==='\x66\x61\x69\x6c')&&process['\x65\x78\x69\x74'](0x1);}p(),b();function le(d,f){return typeof f=='\x62\x6f\x6f\x6c\x65\x61\x6e'?f?'\u2713\x20\x65\x6e\x61\x62\x6c\x65\x64':'\u2717\x20\x64\x69\x73\x61\x62\x6c\x65\x64':Array['\x69\x73\x41\x72\x72\x61\x79'](f)?f['\x6a\x6f\x69\x6e']('\x2c\x20'):typeof f=='\x6f\x62\x6a\x65\x63\x74'&&f!==null?JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](f):String(f);}function ln(d,f){let g=[],k=new Set([...Object['\x6b\x65\x79\x73'](d),...Object['\x6b\x65\x79\x73'](f)]);for(let l of k){let m=d[l],q=f[l];JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](m)!==JSON['\x73\x74\x72\x69\x6e\x67\x69\x66\x79'](q)&&g['\x70\x75\x73\x68']('\x20\x20'+l+'\x3a\x20'+le(l,m)+'\x20\u2192\x20'+le(l,q));}return g;}async function gt(a4,a5,a6={}){v('\x43\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x20\x44\x69\x66\x66\x3a\x20'+a4+'\x20\u2192\x20'+a5);let a7=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](a8=>a8['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x46\x65\x74\x63\x68\x69\x6e\x67\x20\x6d\x61\x6e\x69\x66\x65\x73\x74\x73\x2e\x2e\x2e'));a7['\x73\x74\x61\x72\x74']();try{a7['\x73\x75\x63\x63\x65\x65\x64']('\x4d\x61\x6e\x69\x66\x65\x73\x74\x73\x20\x66\x65\x74\x63\x68\x65\x64');const a8={};a8['\x6d\x61\x78\x52\x65\x61\x6c\x6d\x73']=0x1,a8['\x73\x73\x6f']=!0x1,a8['\x72\x62\x61\x63']=!0x0;const aB={};aB['\x65\x6e\x63\x72\x79\x70\x74\x69\x6f\x6e']=!0x1,aB['\x6d\x61\x78\x53\x74\x6f\x72\x61\x67\x65\x47\x62']=0x64;const aC={};aC['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x43\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73']=0xa,aC['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x44\x69\x6d\x65\x6e\x73\x69\x6f\x6e\x73']=0x600;const aD={};aD['\x61\x75\x74\x68']=a8,aD['\x73\x74\x6f\x72\x61\x67\x65']=aB,aD['\x76\x65\x63\x74\x6f\x72']=aC;const aE={};aE['\x6d\x61\x78\x52\x65\x61\x6c\x6d\x73']=0x5,aE['\x73\x73\x6f']=!0x0,aE['\x72\x62\x61\x63']=!0x0;const aF={};aF['\x65\x6e\x63\x72\x79\x70\x74\x69\x6f\x6e']=!0x0,aF['\x6d\x61\x78\x53\x74\x6f\x72\x61\x67\x65\x47\x62']=0x3e8;const aG={};aG['\x6d\x61\x78\x52\x65\x73\x75\x6c\x74\x73']=0x2710;const aH={};aH['\x6d\x61\x78\x56\x65\x63\x74\x6f\x72\x43\x6f\x6c\x6c\x65\x63\x74\x69\x6f\x6e\x73']=0x32,aH['\x68\x79\x62\x72\x69\x64\x53\x65\x61\x72\x63\x68']=!0x0;const aI={};aI['\x61\x75\x74\x68']=aE,aI['\x73\x74\x6f\x72\x61\x67\x65']=aF,aI['\x73\x65\x61\x72\x63\x68']=aG,aI['\x76\x65\x63\x74\x6f\x72']=aH;let aJ=aD,aK=aI,aL=[];for(let [aP,aQ]of Object['\x65\x6e\x74\x72\x69\x65\x73'](aK))aP in aJ||aL['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aP,'\x63\x68\x61\x6e\x67\x65':'\x61\x64\x64\x65\x64','\x61\x66\x74\x65\x72':aQ});for(let [aR,aS]of Object['\x65\x6e\x74\x72\x69\x65\x73'](aJ))aR in aK||aL['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aR,'\x63\x68\x61\x6e\x67\x65':'\x72\x65\x6d\x6f\x76\x65\x64','\x62\x65\x66\x6f\x72\x65':aS});for(let aT of Object['\x6b\x65\x79\x73'](aJ))if(aT in aK){let aU=aJ[aT],aV=aK[aT],aW=ln(aU,aV);aW['\x6c\x65\x6e\x67\x74\x68']>0x0&&aL['\x70\x75\x73\x68']({'\x6e\x61\x6d\x65':aT,'\x63\x68\x61\x6e\x67\x65':'\x6d\x6f\x64\x69\x66\x69\x65\x64','\x62\x65\x66\x6f\x72\x65':aU,'\x61\x66\x74\x65\x72':aV,'\x63\x68\x61\x6e\x67\x65\x73':aW});}console['\x6c\x6f\x67']();let aM=aL['\x66\x69\x6c\x74\x65\x72'](aX=>aX['\x63\x68\x61\x6e\x67\x65']==='\x61\x64\x64\x65\x64')['\x6c\x65\x6e\x67\x74\x68'],aN=aL['\x66\x69\x6c\x74\x65\x72'](aX=>aX['\x63\x68\x61\x6e\x67\x65']==='\x72\x65\x6d\x6f\x76\x65\x64')['\x6c\x65\x6e\x67\x74\x68'],aO=aL['\x66\x69\x6c\x74\x65\x72'](aX=>aX['\x63\x68\x61\x6e\x67\x65']==='\x6d\x6f\x64\x69\x66\x69\x65\x64')['\x6c\x65\x6e\x67\x74\x68'];if(aM>0x0&&u(aM+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x61\x64\x64\x65\x64'),aO>0x0&&a(aO+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x6d\x6f\x64\x69\x66\x69\x65\x64'),aN>0x0&&y(aN+'\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x28\x69\x65\x73\x29\x20\x72\x65\x6d\x6f\x76\x65\x64'),console['\x6c\x6f\x67'](),a6['\x76\x65\x72\x62\x6f\x73\x65']||aL['\x6c\x65\x6e\x67\x74\x68']>0x0){v('\x44\x65\x74\x61\x69\x6c\x65\x64\x20\x43\x68\x61\x6e\x67\x65\x73');for(let aX of aL){switch(aX['\x63\x68\x61\x6e\x67\x65']){case'\x61\x64\x64\x65\x64':if(u('\x2b\x20'+aX['\x6e\x61\x6d\x65']+'\x20\x28\x6e\x65\x77\x29'),a6['\x76\x65\x72\x62\x6f\x73\x65']&&aX['\x61\x66\x74\x65\x72']){let aY=Object['\x65\x6e\x74\x72\x69\x65\x73'](aX['\x61\x66\x74\x65\x72'])['\x6d\x61\x70'](([aZ,b0])=>'\x20\x20\x20\x20'+aZ+'\x3a\x20'+le(aZ,b0))['\x6a\x6f\x69\x6e']('\x0a');console['\x6c\x6f\x67'](aY);}break;case'\x72\x65\x6d\x6f\x76\x65\x64':if(y('\x2d\x20'+aX['\x6e\x61\x6d\x65']+'\x20\x28\x72\x65\x6d\x6f\x76\x65\x64\x29'),a6['\x76\x65\x72\x62\x6f\x73\x65']&&aX['\x62\x65\x66\x6f\x72\x65']){let aZ=Object['\x65\x6e\x74\x72\x69\x65\x73'](aX['\x62\x65\x66\x6f\x72\x65'])['\x6d\x61\x70'](([b0,b1])=>'\x20\x20\x20\x20'+b0+'\x3a\x20'+le(b0,b1))['\x6a\x6f\x69\x6e']('\x0a');console['\x6c\x6f\x67'](aZ);}break;case'\x6d\x6f\x64\x69\x66\x69\x65\x64':a('\x7e\x20'+aX['\x6e\x61\x6d\x65']+'\x20\x28\x6d\x6f\x64\x69\x66\x69\x65\x64\x29'),aX['\x63\x68\x61\x6e\x67\x65\x73']&&aX['\x63\x68\x61\x6e\x67\x65\x73']['\x6c\x65\x6e\x67\x74\x68']>0x0&&console['\x6c\x6f\x67'](aX['\x63\x68\x61\x6e\x67\x65\x73']['\x6a\x6f\x69\x6e']('\x0a'));break;}console['\x6c\x6f\x67']();}}if(v('\x55\x70\x67\x72\x61\x64\x65\x20\x52\x65\x63\x6f\x6d\x6d\x65\x6e\x64\x61\x74\x69\x6f\x6e\x73'),aO>0x0){let b0=aL['\x66\x69\x6c\x74\x65\x72'](b1=>b1['\x63\x68\x61\x6e\x67\x65']==='\x6d\x6f\x64\x69\x66\x69\x65\x64');for(let b1 of b0){let b2=b1['\x63\x68\x61\x6e\x67\x65\x73']?.['\x66\x69\x6c\x74\x65\x72'](b3=>b3['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\u2192')&&!b3['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x30\x20\u2192'));b2&&b2['\x6c\x65\x6e\x67\x74\x68']>0x0&&(warning(b1['\x6e\x61\x6d\x65']+'\x3a\x20\x52\x65\x76\x69\x65\x77\x20\x62\x72\x65\x61\x6b\x69\x6e\x67\x20\x63\x68\x61\x6e\x67\x65\x73'),T(b2));}}if(aN>0x0){warning('\x53\x6f\x6d\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x77\x65\x72\x65\x20\x72\x65\x6d\x6f\x76\x65\x64\x2e\x20\x43\x68\x65\x63\x6b\x20\x79\x6f\x75\x72\x20\x63\x6f\x64\x65\x20\x66\x6f\x72\x20\x75\x73\x61\x67\x65\x2e');let b3=aL['\x66\x69\x6c\x74\x65\x72'](b4=>b4['\x63\x68\x61\x6e\x67\x65']==='\x72\x65\x6d\x6f\x76\x65\x64')['\x6d\x61\x70'](b4=>b4['\x6e\x61\x6d\x65']);T(b3);}}catch(b4){a7['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x6f\x6d\x70\x61\x72\x65\x20\x76\x65\x72\x73\x69\x6f\x6e\x73'),y(b4 instanceof Error?b4['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);}}async function ut(){let d=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(b(),Z))['\x74\x68\x65\x6e'](f=>f['\x63\x72\x65\x61\x74\x65\x53\x70\x69\x6e\x6e\x65\x72']('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'));d['\x73\x74\x61\x72\x74']();try{let {getInstalledVersion:f}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(W(),He)),{getLatestVersion:g}=await Promise['\x72\x65\x73\x6f\x6c\x76\x65']()['\x74\x68\x65\x6e'](()=>(se(),je)),k=await f(),l=await g();d['\x73\x75\x63\x63\x65\x65\x64']('\x56\x65\x72\x73\x69\x6f\x6e\x20\x63\x68\x65\x63\x6b\x20\x63\x6f\x6d\x70\x6c\x65\x74\x65'),v('\x56\x65\x72\x73\x69\x6f\x6e\x20\x49\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e'),a('\x49\x6e\x73\x74\x61\x6c\x6c\x65\x64\x3a\x20'+(k||'\x4e\x6f\x6e\x65')),a('\x4c\x61\x74\x65\x73\x74\x3a\x20'+l),k!==l?(console['\x6c\x6f\x67'](),u('\x4e\x65\x77\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x21'),a('\x52\x75\x6e\x3a\x20\x6f\x78\x20\x69\x6e\x73\x74\x61\x6c\x6c\x20'+l)):k&&(console['\x6c\x6f\x67'](),u('\x59\x6f\x75\x27\x72\x65\x20\x75\x70\x20\x74\x6f\x20\x64\x61\x74\x65\x21'));}catch(m){d['\x66\x61\x69\x6c']('\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x68\x65\x63\x6b\x20\x76\x65\x72\x73\x69\x6f\x6e'),y(m instanceof Error?m['\x6d\x65\x73\x73\x61\x67\x65']:'\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x65\x72\x72\x6f\x72');}}p(),b();async function yt(){u('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x65\x6e\x61\x62\x6c\x65\x64'),a('\x41\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x64\x61\x74\x61\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64\x20\x74\x6f\x20\x69\x6d\x70\x72\x6f\x76\x65\x20\x74\x68\x65\x20\x53\x44\x4b');}async function vt(){O('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x64\x69\x73\x61\x62\x6c\x65\x64'),a('\x4e\x6f\x20\x75\x73\x61\x67\x65\x20\x64\x61\x74\x61\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x6f\x6c\x6c\x65\x63\x74\x65\x64');}async function ht(){a('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73\x2e\x2e\x2e'),a('\x54\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73\x3a\x20\x75\x6e\x6b\x6e\x6f\x77\x6e\x20\x28\x6e\x6f\x74\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\x64\x20\x79\x65\x74\x29');}p(),b();async function wt(d={}){if(d['\x64\x72\x79\x52\x75\x6e']){a('\x44\x72\x79\x20\x72\x75\x6e\x20\x6d\x6f\x64\x65\x3a\x20\x57\x6f\x75\x6c\x64\x20\x75\x70\x64\x61\x74\x65\x20\x53\x44\x4b\x20\x74\x6f\x20\x6c\x61\x74\x65\x73\x74\x20\x76\x65\x72\x73\x69\x6f\x6e');return;}a('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'),u('\x53\x44\x4b\x20\x69\x73\x20\x75\x70\x20\x74\x6f\x20\x64\x61\x74\x65');}async function kt(){a('\x43\x68\x65\x63\x6b\x69\x6e\x67\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73\x2e\x2e\x2e'),u('\x4e\x6f\x20\x75\x70\x64\x61\x74\x65\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65');}var D=new al();D['\x61\x64\x64\x48\x65\x6c\x70\x54\x65\x78\x74']('\x62\x65\x66\x6f\x72\x65\x41\x6c\x6c',me()),D['\x6e\x61\x6d\x65']('\x6f\x78')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x4c\x49\x20\x2d\x20\x49\x6e\x73\x74\x61\x6c\x6c\x20\x61\x6e\x64\x20\x6d\x61\x6e\x61\x67\x65\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x53\x44\x4b\x20\x70\x61\x63\x6b\x61\x67\x65\x73')['\x76\x65\x72\x73\x69\x6f\x6e']('\x30\x2e\x30\x2e\x31'),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x6c\x6f\x67\x69\x6e')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x41\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x65\x20\x77\x69\x74\x68\x20\x4f\x78\x4c\x61\x79\x65\x72\x20\x43\x6f\x6e\x74\x72\x6f\x6c\x20\x50\x61\x6e\x65\x6c')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x6b\x2c\x20\x2d\x2d\x6b\x65\x79\x20\x3c\x6b\x65\x79\x3e','\x41\x50\x49\x20\x6b\x65\x79\x20\x28\x77\x69\x6c\x6c\x20\x70\x72\x6f\x6d\x70\x74\x20\x69\x66\x20\x6e\x6f\x74\x20\x70\x72\x6f\x76\x69\x64\x65\x64\x29')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x61\x63\x74\x69\x6f\x6e'](async d=>{E('\x6c\x6f\x67\x69\x6e'),await Je(d);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x73\x74\x61\x74\x75\x73')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x53\x68\x6f\x77\x20\x69\x6e\x73\x74\x61\x6c\x6c\x61\x74\x69\x6f\x6e\x20\x61\x6e\x64\x20\x61\x75\x74\x68\x65\x6e\x74\x69\x63\x61\x74\x69\x6f\x6e\x20\x73\x74\x61\x74\x75\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e')['\x61\x63\x74\x69\x6f\x6e'](async d=>{E('\x73\x74\x61\x74\x75\x73'),await We(d);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x69\x6e\x73\x74\x61\x6c\x6c\x20\x5b\x76\x65\x72\x73\x69\x6f\x6e\x5d')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x49\x6e\x73\x74\x61\x6c\x6c\x20\x53\x44\x4b\x20\x70\x61\x63\x6b\x61\x67\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x70\x2c\x20\x2d\x2d\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x3c\x70\x61\x63\x6b\x61\x67\x65\x73\x2e\x2e\x2e\x3e','\x53\x70\x65\x63\x69\x66\x69\x63\x20\x70\x61\x63\x6b\x61\x67\x65\x73\x20\x74\x6f\x20\x69\x6e\x73\x74\x61\x6c\x6c')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x64\x72\x79\x2d\x72\x75\x6e','\x53\x68\x6f\x77\x20\x77\x68\x61\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x66\x2c\x20\x2d\x2d\x66\x6f\x72\x63\x65','\x46\x6f\x72\x63\x65\x20\x72\x65\x69\x6e\x73\x74\x61\x6c\x6c\x20\x65\x76\x65\x6e\x20\x69\x66\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6e\x73\x74\x61\x6c\x6c\x65\x64')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x73\x61\x76\x65','\x41\x64\x64\x20\x74\x6f\x20\x64\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x73\x61\x76\x65\x2d\x64\x65\x76','\x41\x64\x64\x20\x74\x6f\x20\x64\x65\x76\x44\x65\x70\x65\x6e\x64\x65\x6e\x63\x69\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async(f,g)=>{const k={};k['\x73\x64\x6b\x56\x65\x72\x73\x69\x6f\x6e']=f,(E('\x69\x6e\x73\x74\x61\x6c\x6c',k),await st(f||'\x6c\x61\x74\x65\x73\x74',g));}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x72\x65\x73\x6f\x6c\x76\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x65\x73\x6f\x6c\x76\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x66\x6f\x72\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x72\x6f\x6a\x65\x63\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x65\x2c\x20\x2d\x2d\x65\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x3c\x65\x6e\x76\x3e','\x45\x6e\x76\x69\x72\x6f\x6e\x6d\x65\x6e\x74\x20\x28\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74\x7c\x73\x74\x61\x67\x69\x6e\x67\x7c\x70\x72\x6f\x64\x75\x63\x74\x69\x6f\x6e\x29','\x64\x65\x76\x65\x6c\x6f\x70\x6d\x65\x6e\x74')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x75\x73\x61\x67\x65\x20\x65\x78\x61\x6d\x70\x6c\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async d=>{E('\x72\x65\x73\x6f\x6c\x76\x65'),await lt(d);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x6c\x6f\x67\x6f\x75\x74')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x65\x6d\x6f\x76\x65\x20\x73\x74\x6f\x72\x65\x64\x20\x41\x50\x49\x20\x6b\x65\x79')['\x61\x63\x74\x69\x6f\x6e'](async()=>{E('\x6c\x6f\x67\x6f\x75\x74'),await pt();}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x6f\x63\x74\x6f\x72')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x52\x75\x6e\x20\x64\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x73\x20\x74\x6f\x20\x74\x72\x6f\x75\x62\x6c\x65\x73\x68\x6f\x6f\x74\x20\x69\x73\x73\x75\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x64\x69\x61\x67\x6e\x6f\x73\x74\x69\x63\x20\x69\x6e\x66\x6f\x72\x6d\x61\x74\x69\x6f\x6e')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x66\x69\x78','\x41\x74\x74\x65\x6d\x70\x74\x20\x74\x6f\x20\x66\x69\x78\x20\x63\x6f\x6d\x6d\x6f\x6e\x20\x69\x73\x73\x75\x65\x73\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79')['\x61\x63\x74\x69\x6f\x6e'](async d=>{E('\x64\x6f\x63\x74\x6f\x72'),await mt(d);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x69\x66\x66\x20\x5b\x66\x72\x6f\x6d\x2d\x76\x65\x72\x73\x69\x6f\x6e\x5d\x20\x5b\x74\x6f\x2d\x76\x65\x72\x73\x69\x6f\x6e\x5d')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x43\x6f\x6d\x70\x61\x72\x65\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x53\x44\x4b\x20\x76\x65\x72\x73\x69\x6f\x6e\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x76\x2c\x20\x2d\x2d\x76\x65\x72\x62\x6f\x73\x65','\x53\x68\x6f\x77\x20\x64\x65\x74\x61\x69\x6c\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x66\x6f\x72\x6d\x61\x74\x20\x3c\x66\x6f\x72\x6d\x61\x74\x3e','\x4f\x75\x74\x70\x75\x74\x20\x66\x6f\x72\x6d\x61\x74\x20\x28\x74\x65\x78\x74\x7c\x6a\x73\x6f\x6e\x29','\x74\x65\x78\x74')['\x61\x63\x74\x69\x6f\x6e'](async(d,f,g)=>{E('\x64\x69\x66\x66'),d?await gt(d,f||'\x6c\x61\x74\x65\x73\x74',g):await ut();}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x75\x70\x64\x61\x74\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x55\x70\x64\x61\x74\x65\x20\x53\x44\x4b\x20\x74\x6f\x20\x74\x68\x65\x20\x6c\x61\x74\x65\x73\x74\x20\x76\x65\x72\x73\x69\x6f\x6e')['\x6f\x70\x74\x69\x6f\x6e']('\x2d\x2d\x64\x72\x79\x2d\x72\x75\x6e','\x53\x68\x6f\x77\x20\x77\x68\x61\x74\x20\x77\x6f\x75\x6c\x64\x20\x62\x65\x20\x75\x70\x64\x61\x74\x65\x64\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x69\x6e\x73\x74\x61\x6c\x6c\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async d=>{E('\x75\x70\x64\x61\x74\x65'),await wt(d);}),D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x63\x68\x65\x63\x6b')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x51\x75\x69\x63\x6b\x20\x63\x68\x65\x63\x6b\x20\x66\x6f\x72\x20\x53\x44\x4b\x20\x75\x70\x64\x61\x74\x65\x73')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await kt();});var Oe=D['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x74\x65\x6c\x65\x6d\x65\x74\x72\x79')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x4d\x61\x6e\x61\x67\x65\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x65\x74\x74\x69\x6e\x67\x73');Oe['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x65\x6e\x61\x62\x6c\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x45\x6e\x61\x62\x6c\x65\x20\x61\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x74\x72\x61\x63\x6b\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await yt();}),Oe['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x64\x69\x73\x61\x62\x6c\x65')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x44\x69\x73\x61\x62\x6c\x65\x20\x61\x6e\x6f\x6e\x79\x6d\x6f\x75\x73\x20\x75\x73\x61\x67\x65\x20\x74\x72\x61\x63\x6b\x69\x6e\x67')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await vt();}),Oe['\x63\x6f\x6d\x6d\x61\x6e\x64']('\x73\x74\x61\x74\x75\x73')['\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e']('\x53\x68\x6f\x77\x20\x74\x65\x6c\x65\x6d\x65\x74\x72\x79\x20\x73\x74\x61\x74\x75\x73')['\x61\x63\x74\x69\x6f\x6e'](async()=>{await ht();}),D['\x70\x61\x72\x73\x65\x41\x73\x79\x6e\x63'](process['\x61\x72\x67\x76'])['\x63\x61\x74\x63\x68'](d=>{console['\x65\x72\x72\x6f\x72'](d),it('\x63\x6c\x69','\x70\x61\x72\x73\x65\x5f\x65\x72\x72\x6f\x72'),process['\x65\x78\x69\x74'](0x1);});