squeaky-clean 0.1.10 → 0.1.12
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/cleaners/BaseCleaner.d.ts +57 -0
- package/dist/cleaners/BaseCleaner.d.ts.map +1 -0
- package/dist/cleaners/BaseCleaner.js +299 -0
- package/dist/cleaners/BaseCleaner.js.map +1 -0
- package/dist/cleaners/CleanerRegistry.d.ts +65 -0
- package/dist/cleaners/CleanerRegistry.d.ts.map +1 -0
- package/dist/cleaners/CleanerRegistry.js +112 -0
- package/dist/cleaners/CleanerRegistry.js.map +1 -0
- package/dist/cleaners/androidstudio.d.ts +16 -0
- package/dist/cleaners/androidstudio.d.ts.map +1 -0
- package/dist/cleaners/androidstudio.js +375 -0
- package/dist/cleaners/androidstudio.js.map +1 -0
- package/dist/cleaners/brew.d.ts +4 -0
- package/dist/cleaners/brew.d.ts.map +1 -0
- package/dist/cleaners/brew.js +197 -0
- package/dist/cleaners/brew.js.map +1 -0
- package/dist/cleaners/brewEnhanced.d.ts +18 -0
- package/dist/cleaners/brewEnhanced.d.ts.map +1 -0
- package/dist/cleaners/brewEnhanced.js +255 -0
- package/dist/cleaners/brewEnhanced.js.map +1 -0
- package/dist/cleaners/bun.d.ts +14 -0
- package/dist/cleaners/bun.d.ts.map +1 -0
- package/dist/cleaners/bun.js +207 -0
- package/dist/cleaners/bun.js.map +1 -0
- package/dist/cleaners/cargo.d.ts +15 -0
- package/dist/cleaners/cargo.d.ts.map +1 -0
- package/dist/cleaners/cargo.js +193 -0
- package/dist/cleaners/cargo.js.map +1 -0
- package/dist/cleaners/chrome.d.ts +14 -0
- package/dist/cleaners/chrome.d.ts.map +1 -0
- package/dist/cleaners/chrome.js +250 -0
- package/dist/cleaners/chrome.js.map +1 -0
- package/dist/cleaners/cocoapods.d.ts +16 -0
- package/dist/cleaners/cocoapods.d.ts.map +1 -0
- package/dist/cleaners/cocoapods.js +180 -0
- package/dist/cleaners/cocoapods.js.map +1 -0
- package/dist/cleaners/cursor.d.ts +15 -0
- package/dist/cleaners/cursor.d.ts.map +1 -0
- package/dist/cleaners/cursor.js +377 -0
- package/dist/cleaners/cursor.js.map +1 -0
- package/dist/cleaners/docker.d.ts +35 -0
- package/dist/cleaners/docker.d.ts.map +1 -0
- package/dist/cleaners/docker.js +288 -0
- package/dist/cleaners/docker.js.map +1 -0
- package/dist/cleaners/firefox.d.ts +15 -0
- package/dist/cleaners/firefox.d.ts.map +1 -0
- package/dist/cleaners/firefox.js +281 -0
- package/dist/cleaners/firefox.js.map +1 -0
- package/dist/cleaners/flutter.d.ts +18 -0
- package/dist/cleaners/flutter.d.ts.map +1 -0
- package/dist/cleaners/flutter.js +354 -0
- package/dist/cleaners/flutter.js.map +1 -0
- package/dist/cleaners/goBuild.d.ts +18 -0
- package/dist/cleaners/goBuild.d.ts.map +1 -0
- package/dist/cleaners/goBuild.js +196 -0
- package/dist/cleaners/goBuild.js.map +1 -0
- package/dist/cleaners/gradle.d.ts +14 -0
- package/dist/cleaners/gradle.d.ts.map +1 -0
- package/dist/cleaners/gradle.js +336 -0
- package/dist/cleaners/gradle.js.map +1 -0
- package/dist/cleaners/index.d.ts +51 -0
- package/dist/cleaners/index.d.ts.map +1 -0
- package/dist/cleaners/index.js +267 -0
- package/dist/cleaners/index.js.map +1 -0
- package/dist/cleaners/jetbrains.d.ts +18 -0
- package/dist/cleaners/jetbrains.d.ts.map +1 -0
- package/dist/cleaners/jetbrains.js +441 -0
- package/dist/cleaners/jetbrains.js.map +1 -0
- package/dist/cleaners/maven.d.ts +15 -0
- package/dist/cleaners/maven.d.ts.map +1 -0
- package/dist/cleaners/maven.js +182 -0
- package/dist/cleaners/maven.js.map +1 -0
- package/dist/cleaners/nix.d.ts +4 -0
- package/dist/cleaners/nix.d.ts.map +1 -0
- package/dist/cleaners/nix.js +227 -0
- package/dist/cleaners/nix.js.map +1 -0
- package/dist/cleaners/nodeGyp.d.ts +14 -0
- package/dist/cleaners/nodeGyp.d.ts.map +1 -0
- package/dist/cleaners/nodeGyp.js +157 -0
- package/dist/cleaners/nodeGyp.js.map +1 -0
- package/dist/cleaners/npm.d.ts +14 -0
- package/dist/cleaners/npm.d.ts.map +1 -0
- package/dist/cleaners/npm.js +203 -0
- package/dist/cleaners/npm.js.map +1 -0
- package/dist/cleaners/npmEnhanced.d.ts +19 -0
- package/dist/cleaners/npmEnhanced.d.ts.map +1 -0
- package/dist/cleaners/npmEnhanced.js +336 -0
- package/dist/cleaners/npmEnhanced.js.map +1 -0
- package/dist/cleaners/nuget.d.ts +16 -0
- package/dist/cleaners/nuget.d.ts.map +1 -0
- package/dist/cleaners/nuget.js +197 -0
- package/dist/cleaners/nuget.js.map +1 -0
- package/dist/cleaners/nx.d.ts +18 -0
- package/dist/cleaners/nx.d.ts.map +1 -0
- package/dist/cleaners/nx.js +308 -0
- package/dist/cleaners/nx.js.map +1 -0
- package/dist/cleaners/pip.d.ts +19 -0
- package/dist/cleaners/pip.d.ts.map +1 -0
- package/dist/cleaners/pip.js +334 -0
- package/dist/cleaners/pip.js.map +1 -0
- package/dist/cleaners/pipenv.d.ts +16 -0
- package/dist/cleaners/pipenv.d.ts.map +1 -0
- package/dist/cleaners/pipenv.js +184 -0
- package/dist/cleaners/pipenv.js.map +1 -0
- package/dist/cleaners/playwright.d.ts +15 -0
- package/dist/cleaners/playwright.d.ts.map +1 -0
- package/dist/cleaners/playwright.js +221 -0
- package/dist/cleaners/playwright.js.map +1 -0
- package/dist/cleaners/pnpm.d.ts +14 -0
- package/dist/cleaners/pnpm.d.ts.map +1 -0
- package/dist/cleaners/pnpm.js +214 -0
- package/dist/cleaners/pnpm.js.map +1 -0
- package/dist/cleaners/poetry.d.ts +16 -0
- package/dist/cleaners/poetry.d.ts.map +1 -0
- package/dist/cleaners/poetry.js +184 -0
- package/dist/cleaners/poetry.js.map +1 -0
- package/dist/cleaners/swiftpm.d.ts +16 -0
- package/dist/cleaners/swiftpm.d.ts.map +1 -0
- package/dist/cleaners/swiftpm.js +179 -0
- package/dist/cleaners/swiftpm.js.map +1 -0
- package/dist/cleaners/turbo.d.ts +18 -0
- package/dist/cleaners/turbo.d.ts.map +1 -0
- package/dist/cleaners/turbo.js +325 -0
- package/dist/cleaners/turbo.js.map +1 -0
- package/dist/cleaners/universalBinary.d.ts +20 -0
- package/dist/cleaners/universalBinary.d.ts.map +1 -0
- package/dist/cleaners/universalBinary.js +318 -0
- package/dist/cleaners/universalBinary.js.map +1 -0
- package/dist/cleaners/vite.d.ts +17 -0
- package/dist/cleaners/vite.d.ts.map +1 -0
- package/dist/cleaners/vite.js +274 -0
- package/dist/cleaners/vite.js.map +1 -0
- package/dist/cleaners/vscode.d.ts +15 -0
- package/dist/cleaners/vscode.d.ts.map +1 -0
- package/dist/cleaners/vscode.js +411 -0
- package/dist/cleaners/vscode.js.map +1 -0
- package/dist/cleaners/webpack.d.ts +17 -0
- package/dist/cleaners/webpack.d.ts.map +1 -0
- package/dist/cleaners/webpack.js +263 -0
- package/dist/cleaners/webpack.js.map +1 -0
- package/dist/cleaners/windsurf.d.ts +15 -0
- package/dist/cleaners/windsurf.d.ts.map +1 -0
- package/dist/cleaners/windsurf.js +366 -0
- package/dist/cleaners/windsurf.js.map +1 -0
- package/dist/cleaners/xcode.d.ts +14 -0
- package/dist/cleaners/xcode.d.ts.map +1 -0
- package/dist/cleaners/xcode.js +348 -0
- package/dist/cleaners/xcode.js.map +1 -0
- package/dist/cleaners/yarn.d.ts +16 -0
- package/dist/cleaners/yarn.d.ts.map +1 -0
- package/dist/cleaners/yarn.js +271 -0
- package/dist/cleaners/yarn.js.map +1 -0
- package/dist/cleaners/zed.d.ts +15 -0
- package/dist/cleaners/zed.d.ts.map +1 -0
- package/dist/cleaners/zed.js +383 -0
- package/dist/cleaners/zed.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +367 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/auto.d.ts +8 -0
- package/dist/commands/auto.d.ts.map +1 -0
- package/dist/commands/auto.js +251 -0
- package/dist/commands/auto.js.map +1 -0
- package/dist/commands/categories.d.ts +8 -0
- package/dist/commands/categories.d.ts.map +1 -0
- package/dist/commands/categories.js +133 -0
- package/dist/commands/categories.js.map +1 -0
- package/dist/commands/clean.d.ts +3 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +149 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/config.d.ts +14 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +460 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/configDoctor.d.ts +26 -0
- package/dist/commands/configDoctor.d.ts.map +1 -0
- package/dist/commands/configDoctor.js +60 -0
- package/dist/commands/configDoctor.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +141 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/emojis.d.ts +2 -0
- package/dist/commands/emojis.d.ts.map +1 -0
- package/dist/commands/emojis.js +28 -0
- package/dist/commands/emojis.js.map +1 -0
- package/dist/commands/interactive.d.ts +3 -0
- package/dist/commands/interactive.d.ts.map +1 -0
- package/dist/commands/interactive.js +284 -0
- package/dist/commands/interactive.js.map +1 -0
- package/dist/commands/interactiveEnhanced.d.ts +4 -0
- package/dist/commands/interactiveEnhanced.d.ts.map +1 -0
- package/dist/commands/interactiveEnhanced.js +460 -0
- package/dist/commands/interactiveEnhanced.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +68 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/sizes.d.ts +2 -0
- package/dist/commands/sizes.d.ts.map +1 -0
- package/dist/commands/sizes.js +87 -0
- package/dist/commands/sizes.js.map +1 -0
- package/dist/commands/ub.d.ts +10 -0
- package/dist/commands/ub.d.ts.map +1 -0
- package/dist/commands/ub.js +170 -0
- package/dist/commands/ub.js.map +1 -0
- package/dist/config/configSchema.d.ts +93 -0
- package/dist/config/configSchema.d.ts.map +1 -0
- package/dist/config/configSchema.js +75 -0
- package/dist/config/configSchema.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +255 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loadConfig.d.ts +7 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/config/loadConfig.js +95 -0
- package/dist/config/loadConfig.js.map +1 -0
- package/dist/config/migrateConfig.d.ts +56 -0
- package/dist/config/migrateConfig.d.ts.map +1 -0
- package/dist/config/migrateConfig.js +102 -0
- package/dist/config/migrateConfig.js.map +1 -0
- package/dist/plugins/discovery.d.ts +6 -0
- package/dist/plugins/discovery.d.ts.map +1 -0
- package/dist/plugins/discovery.js +64 -0
- package/dist/plugins/discovery.js.map +1 -0
- package/dist/profiles/index.d.ts +61 -0
- package/dist/profiles/index.d.ts.map +1 -0
- package/dist/profiles/index.js +406 -0
- package/dist/profiles/index.js.map +1 -0
- package/dist/types/index.d.ts +176 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cache.d.ts +58 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +101 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/cli.d.ts +45 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +412 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/fs.d.ts +32 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +250 -0
- package/dist/utils/fs.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sizesCommand = sizesCommand;
|
|
7
|
+
const cli_1 = require("../utils/cli");
|
|
8
|
+
const cleaners_1 = require("../cleaners");
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
async function sizesCommand(_options) {
|
|
11
|
+
try {
|
|
12
|
+
(0, cli_1.printInfo)(`${cli_1.symbols.soap} Cache Sizes`);
|
|
13
|
+
(0, cli_1.printInfo)("──────────────");
|
|
14
|
+
const spinner = (0, ora_1.default)("Scanning cache directories...").start();
|
|
15
|
+
try {
|
|
16
|
+
const cacheInfos = await cleaners_1.cacheManager.getAllCacheInfo();
|
|
17
|
+
spinner.stop();
|
|
18
|
+
console.log(); // Add some space
|
|
19
|
+
let totalSize = 0;
|
|
20
|
+
let foundCaches = 0;
|
|
21
|
+
// Group by cache type
|
|
22
|
+
const groupedCaches = new Map();
|
|
23
|
+
for (const info of cacheInfos) {
|
|
24
|
+
const type = info.type || "other";
|
|
25
|
+
if (!groupedCaches.has(type)) {
|
|
26
|
+
groupedCaches.set(type, []);
|
|
27
|
+
}
|
|
28
|
+
groupedCaches.get(type).push(info);
|
|
29
|
+
}
|
|
30
|
+
// Display results grouped by type
|
|
31
|
+
const typeEmojis = {
|
|
32
|
+
"package-manager": "📦",
|
|
33
|
+
"build-tool": "🔧",
|
|
34
|
+
ide: "💻",
|
|
35
|
+
browser: "🌐",
|
|
36
|
+
system: "⚙️",
|
|
37
|
+
other: "📁",
|
|
38
|
+
};
|
|
39
|
+
const typeNames = {
|
|
40
|
+
"package-manager": "Package Managers",
|
|
41
|
+
"build-tool": "Build Tools",
|
|
42
|
+
ide: "Development Environments",
|
|
43
|
+
browser: "Browsers",
|
|
44
|
+
system: "System Tools",
|
|
45
|
+
other: "Other",
|
|
46
|
+
};
|
|
47
|
+
for (const [type, infos] of groupedCaches) {
|
|
48
|
+
const emoji = typeEmojis[type] || "📁";
|
|
49
|
+
const typeName = typeNames[type] || type;
|
|
50
|
+
console.log(`${emoji} ${typeName}`);
|
|
51
|
+
for (const info of infos) {
|
|
52
|
+
if (info.size && info.size > 0) {
|
|
53
|
+
const sizeFormatted = (0, cli_1.formatSizeWithColor)(info.size);
|
|
54
|
+
(0, cli_1.printSuccess)(` ✅ ${info.name}: ${sizeFormatted}`);
|
|
55
|
+
totalSize += info.size;
|
|
56
|
+
foundCaches++;
|
|
57
|
+
}
|
|
58
|
+
else if (info.paths && info.paths.length > 0) {
|
|
59
|
+
(0, cli_1.printInfo)(` ⚪ ${info.name}: No cache data found`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
(0, cli_1.printInfo)(` ❌ ${info.name}: Not available`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
console.log(); // Space between groups
|
|
66
|
+
}
|
|
67
|
+
// Summary
|
|
68
|
+
if (foundCaches > 0) {
|
|
69
|
+
const totalFormatted = (0, cli_1.formatSizeWithColor)(totalSize);
|
|
70
|
+
(0, cli_1.printSuccess)(`📊 Total cache size: ${totalFormatted} across ${foundCaches} cache${foundCaches > 1 ? "s" : ""}`);
|
|
71
|
+
(0, cli_1.printInfo)(`💡 Use 'squeaky clean --dry-run' to see what can be cleaned`);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
(0, cli_1.printInfo)("No cache data found. This might mean caches are already clean or tools aren't installed.");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
spinner.fail("Failed to scan cache directories");
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
(0, cli_1.printError)(`Sizes command error: ${error}`);
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=sizes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizes.js","sourceRoot":"","sources":["../../src/commands/sizes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ub.d.ts","sourceRoot":"","sources":["../../src/commands/ub.ts"],"names":[],"mappings":"AAYA,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAwMjE"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ubCommand = ubCommand;
|
|
7
|
+
const cli_1 = require("../utils/cli");
|
|
8
|
+
const universalBinary_1 = require("../cleaners/universalBinary");
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
async function ubCommand(options) {
|
|
12
|
+
console.log("\n🍎 Universal Binary Thinner for Apple Silicon");
|
|
13
|
+
console.log("─".repeat(50));
|
|
14
|
+
const cleaner = new universalBinary_1.UniversalBinaryCleaner();
|
|
15
|
+
// Check availability first
|
|
16
|
+
if (!(await cleaner.isAvailable())) {
|
|
17
|
+
(0, cli_1.printError)("Universal Binary cleaner requires macOS on Apple Silicon (arm64)");
|
|
18
|
+
(0, cli_1.printInfo)("This feature is only available on Macs with Apple Silicon chips.");
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const spinner = (0, ora_1.default)("Scanning for Universal Binaries...").start();
|
|
22
|
+
try {
|
|
23
|
+
const cacheInfo = await cleaner.getCacheInfo();
|
|
24
|
+
spinner.stop();
|
|
25
|
+
if (!cacheInfo.isInstalled || cacheInfo.paths.length === 0) {
|
|
26
|
+
(0, cli_1.printInfo)("No Universal Binaries found that can be thinned.");
|
|
27
|
+
(0, cli_1.printSuccess)("Your applications are already optimized for Apple Silicon!");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const categories = cacheInfo.categories || [];
|
|
31
|
+
const totalSavings = cacheInfo.size || 0;
|
|
32
|
+
// List mode - just show what's available
|
|
33
|
+
if (options.list) {
|
|
34
|
+
console.log("\n📋 Universal Binaries found:\n");
|
|
35
|
+
for (const cat of categories) {
|
|
36
|
+
const sizeStr = (0, cli_1.formatSizeWithColor)(cat.size || 0);
|
|
37
|
+
console.log(` ${cli_1.symbols.binary} ${cat.name}`);
|
|
38
|
+
console.log(` Architectures: ${cat.description.split(":")[1]?.split("-")[0]?.trim() || "Universal"}`);
|
|
39
|
+
console.log(` Potential savings: ${sizeStr}`);
|
|
40
|
+
console.log();
|
|
41
|
+
}
|
|
42
|
+
(0, cli_1.printInfo)(`Total potential savings: ${(0, cli_1.formatSizeWithColor)(totalSavings)}`);
|
|
43
|
+
console.log();
|
|
44
|
+
(0, cli_1.printInfo)("💡 Run `squeaky ub` to interactively select binaries to thin");
|
|
45
|
+
(0, cli_1.printInfo)(" Run `squeaky ub --all` to thin all Universal Binaries");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Display found binaries
|
|
49
|
+
console.log(`\n${cli_1.symbols.sparkles} Found ${categories.length} Universal Binaries:\n`);
|
|
50
|
+
for (const cat of categories) {
|
|
51
|
+
const sizeStr = (0, cli_1.formatSizeWithColor)(cat.size || 0);
|
|
52
|
+
console.log(` • ${cat.name} - ${sizeStr} potential savings`);
|
|
53
|
+
}
|
|
54
|
+
console.log();
|
|
55
|
+
(0, cli_1.printInfo)(`Total potential savings: ${(0, cli_1.formatSizeWithColor)(totalSavings)}`);
|
|
56
|
+
// Determine which binaries to thin
|
|
57
|
+
let binariesToThin = [];
|
|
58
|
+
if (options.all) {
|
|
59
|
+
// Thin all binaries
|
|
60
|
+
binariesToThin = categories.map((cat) => cat.id);
|
|
61
|
+
(0, cli_1.printInfo)("All Universal Binaries selected for thinning.");
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Interactive selection
|
|
65
|
+
console.log();
|
|
66
|
+
(0, cli_1.printWarning)("⚠️ Warning: Thinning removes x86_64 code from application binaries.");
|
|
67
|
+
(0, cli_1.printWarning)(" This is generally safe but cannot be easily undone.");
|
|
68
|
+
(0, cli_1.printWarning)(" Affected apps can be reinstalled if needed.");
|
|
69
|
+
console.log();
|
|
70
|
+
const choices = categories.map((cat) => ({
|
|
71
|
+
name: `${cat.name} (${(0, cli_1.formatSizeWithColor)(cat.size || 0)} savings)`,
|
|
72
|
+
value: cat.id,
|
|
73
|
+
checked: false,
|
|
74
|
+
}));
|
|
75
|
+
try {
|
|
76
|
+
const answers = await inquirer_1.default.prompt([
|
|
77
|
+
{
|
|
78
|
+
type: "checkbox",
|
|
79
|
+
name: "binaries",
|
|
80
|
+
message: "Select applications to thin (space to select, enter to confirm):",
|
|
81
|
+
choices,
|
|
82
|
+
},
|
|
83
|
+
]);
|
|
84
|
+
binariesToThin = answers.binaries;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
// User cancelled
|
|
88
|
+
(0, cli_1.printInfo)("Operation cancelled.");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (binariesToThin.length === 0) {
|
|
93
|
+
(0, cli_1.printInfo)("No binaries selected for thinning.");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// Calculate selected savings
|
|
97
|
+
const selectedSavings = categories
|
|
98
|
+
.filter((cat) => binariesToThin.includes(cat.id))
|
|
99
|
+
.reduce((sum, cat) => sum + (cat.size || 0), 0);
|
|
100
|
+
console.log();
|
|
101
|
+
(0, cli_1.printInfo)(`Selected ${binariesToThin.length} application(s) for thinning`);
|
|
102
|
+
(0, cli_1.printInfo)(`Expected space savings: ${(0, cli_1.formatSizeWithColor)(selectedSavings)}`);
|
|
103
|
+
// Dry run mode
|
|
104
|
+
if (options.dryRun) {
|
|
105
|
+
console.log("\n[DRY RUN] Would thin the following binaries:\n");
|
|
106
|
+
for (const catId of binariesToThin) {
|
|
107
|
+
const cat = categories.find((c) => c.id === catId);
|
|
108
|
+
if (cat) {
|
|
109
|
+
console.log(` • ${cat.name}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
console.log();
|
|
113
|
+
(0, cli_1.printInfo)("Run without --dry-run to actually thin the binaries.");
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
// Confirmation
|
|
117
|
+
if (!options.force) {
|
|
118
|
+
console.log();
|
|
119
|
+
const { confirmed } = await inquirer_1.default.prompt([
|
|
120
|
+
{
|
|
121
|
+
type: "confirm",
|
|
122
|
+
name: "confirmed",
|
|
123
|
+
message: `Proceed with thinning ${binariesToThin.length} application(s)?`,
|
|
124
|
+
default: false,
|
|
125
|
+
},
|
|
126
|
+
]);
|
|
127
|
+
if (!confirmed) {
|
|
128
|
+
(0, cli_1.printInfo)("Operation cancelled.");
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Execute thinning
|
|
133
|
+
console.log();
|
|
134
|
+
const thinSpinner = (0, ora_1.default)("Thinning Universal Binaries...").start();
|
|
135
|
+
try {
|
|
136
|
+
const result = await cleaner.clearByCategory(binariesToThin, false);
|
|
137
|
+
thinSpinner.stop();
|
|
138
|
+
if (result.success) {
|
|
139
|
+
const actualFreed = (result.sizeBefore || 0) - (result.sizeAfter || 0);
|
|
140
|
+
if (actualFreed > 0) {
|
|
141
|
+
console.log();
|
|
142
|
+
(0, cli_1.printSuccess)(`${cli_1.symbols.sparkles} Thinning complete! Freed ${(0, cli_1.formatSizeWithColor)(actualFreed)}`);
|
|
143
|
+
(0, cli_1.printSuccess)(`✨ ${result.clearedPaths.length} application(s) optimized for Apple Silicon!`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
(0, cli_1.printInfo)("Thinning completed but no space was freed.");
|
|
147
|
+
}
|
|
148
|
+
if (result.error) {
|
|
149
|
+
console.log();
|
|
150
|
+
(0, cli_1.printWarning)(`Some binaries could not be thinned: ${result.error}`);
|
|
151
|
+
(0, cli_1.printInfo)("This is often due to permission issues with system applications.");
|
|
152
|
+
(0, cli_1.printInfo)("Try running with elevated permissions for those apps.");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
(0, cli_1.printError)(`Thinning failed: ${result.error}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
thinSpinner.fail("Thinning failed");
|
|
161
|
+
throw error;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
spinner.stop();
|
|
166
|
+
(0, cli_1.printError)(`Universal Binary command error: ${error}`);
|
|
167
|
+
throw error;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=ub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ub.js","sourceRoot":"","sources":["../../src/commands/ub.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const OldConfigSchema: z.ZodObject<{
|
|
3
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
4
|
+
auto: z.ZodOptional<z.ZodObject<{
|
|
5
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
schedule: z.ZodOptional<z.ZodEnum<{
|
|
7
|
+
daily: "daily";
|
|
8
|
+
weekly: "weekly";
|
|
9
|
+
monthly: "monthly";
|
|
10
|
+
}>>;
|
|
11
|
+
dayOfWeek: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
12
|
+
time: z.ZodOptional<z.ZodString>;
|
|
13
|
+
sizeThreshold: z.ZodOptional<z.ZodString>;
|
|
14
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
}, z.core.$loose>>;
|
|
16
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
17
|
+
verbose: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
useColors: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
}, z.core.$loose>>;
|
|
20
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
21
|
+
}, z.core.$loose>;
|
|
22
|
+
export declare const NewConfigSchema: z.ZodObject<{
|
|
23
|
+
cleaners: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
24
|
+
scheduler: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
frequency: z.ZodOptional<z.ZodEnum<{
|
|
27
|
+
daily: "daily";
|
|
28
|
+
weekly: "weekly";
|
|
29
|
+
monthly: "monthly";
|
|
30
|
+
}>>;
|
|
31
|
+
dayOfWeek: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
32
|
+
time: z.ZodOptional<z.ZodString>;
|
|
33
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
+
}, z.core.$loose>>;
|
|
35
|
+
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
36
|
+
plugins: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
37
|
+
profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
38
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
39
|
+
}, z.core.$loose>;
|
|
40
|
+
export declare const MixedConfigSchema: z.ZodObject<{
|
|
41
|
+
tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
42
|
+
auto: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
schedule: z.ZodOptional<z.ZodEnum<{
|
|
45
|
+
daily: "daily";
|
|
46
|
+
weekly: "weekly";
|
|
47
|
+
monthly: "monthly";
|
|
48
|
+
}>>;
|
|
49
|
+
dayOfWeek: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
50
|
+
time: z.ZodOptional<z.ZodString>;
|
|
51
|
+
sizeThreshold: z.ZodOptional<z.ZodString>;
|
|
52
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
53
|
+
}, z.core.$loose>>;
|
|
54
|
+
output: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
verbose: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
useColors: z.ZodOptional<z.ZodBoolean>;
|
|
57
|
+
}, z.core.$loose>>;
|
|
58
|
+
cleaners: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
59
|
+
scheduler: z.ZodOptional<z.ZodObject<{
|
|
60
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
61
|
+
frequency: z.ZodOptional<z.ZodEnum<{
|
|
62
|
+
daily: "daily";
|
|
63
|
+
weekly: "weekly";
|
|
64
|
+
monthly: "monthly";
|
|
65
|
+
}>>;
|
|
66
|
+
dayOfWeek: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
67
|
+
time: z.ZodOptional<z.ZodString>;
|
|
68
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
|
+
}, z.core.$loose>>;
|
|
70
|
+
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
71
|
+
plugins: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
72
|
+
profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
73
|
+
extends: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
74
|
+
}, z.core.$loose>;
|
|
75
|
+
export type OldConfig = z.infer<typeof OldConfigSchema>;
|
|
76
|
+
export type NewConfig = z.infer<typeof NewConfigSchema>;
|
|
77
|
+
export type MixedConfig = z.infer<typeof MixedConfigSchema>;
|
|
78
|
+
export declare function validateOldConfig(data: unknown): {
|
|
79
|
+
success: boolean;
|
|
80
|
+
data?: OldConfig;
|
|
81
|
+
errors?: string[];
|
|
82
|
+
};
|
|
83
|
+
export declare function validateNewConfig(data: unknown): {
|
|
84
|
+
success: boolean;
|
|
85
|
+
data?: NewConfig;
|
|
86
|
+
errors?: string[];
|
|
87
|
+
};
|
|
88
|
+
export declare function validateMixedConfig(data: unknown): {
|
|
89
|
+
success: boolean;
|
|
90
|
+
data?: MixedConfig;
|
|
91
|
+
errors?: string[];
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=configSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configSchema.d.ts","sourceRoot":"","sources":["../../src/config/configSchema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAeZ,CAAC;AAGjB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;iBAaZ,CAAC;AAGjB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAGxE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAS1G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAS1G;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAS9G"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/config/configSchema.ts
|
|
3
|
+
// Zod schemas for config validation (replaces ajv)
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.MixedConfigSchema = exports.NewConfigSchema = exports.OldConfigSchema = void 0;
|
|
6
|
+
exports.validateOldConfig = validateOldConfig;
|
|
7
|
+
exports.validateNewConfig = validateNewConfig;
|
|
8
|
+
exports.validateMixedConfig = validateMixedConfig;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
// Legacy config schema (v0)
|
|
11
|
+
exports.OldConfigSchema = zod_1.z.object({
|
|
12
|
+
tools: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
13
|
+
auto: zod_1.z.object({
|
|
14
|
+
enabled: zod_1.z.boolean().optional(),
|
|
15
|
+
schedule: zod_1.z.enum(["daily", "weekly", "monthly"]).optional(),
|
|
16
|
+
dayOfWeek: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
|
|
17
|
+
time: zod_1.z.string().optional(),
|
|
18
|
+
sizeThreshold: zod_1.z.string().optional(),
|
|
19
|
+
args: zod_1.z.array(zod_1.z.string()).optional(),
|
|
20
|
+
}).passthrough().optional(),
|
|
21
|
+
output: zod_1.z.object({
|
|
22
|
+
verbose: zod_1.z.boolean().optional(),
|
|
23
|
+
useColors: zod_1.z.boolean().optional(),
|
|
24
|
+
}).passthrough().optional(),
|
|
25
|
+
extends: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
26
|
+
}).passthrough();
|
|
27
|
+
// New config schema (v1)
|
|
28
|
+
exports.NewConfigSchema = zod_1.z.object({
|
|
29
|
+
cleaners: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
30
|
+
scheduler: zod_1.z.object({
|
|
31
|
+
enabled: zod_1.z.boolean().optional(),
|
|
32
|
+
frequency: zod_1.z.enum(["daily", "weekly", "monthly"]).optional(),
|
|
33
|
+
dayOfWeek: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
|
|
34
|
+
time: zod_1.z.string().optional(),
|
|
35
|
+
args: zod_1.z.array(zod_1.z.string()).optional(),
|
|
36
|
+
}).passthrough().optional(),
|
|
37
|
+
defaults: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
38
|
+
plugins: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
39
|
+
profiles: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
40
|
+
extends: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
41
|
+
}).passthrough();
|
|
42
|
+
// Mixed config (supports both old and new keys)
|
|
43
|
+
exports.MixedConfigSchema = exports.OldConfigSchema.merge(exports.NewConfigSchema);
|
|
44
|
+
// Validation functions
|
|
45
|
+
function validateOldConfig(data) {
|
|
46
|
+
const result = exports.OldConfigSchema.safeParse(data);
|
|
47
|
+
if (result.success) {
|
|
48
|
+
return { success: true, data: result.data };
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
success: false,
|
|
52
|
+
errors: result.error.issues.map((e) => `${e.path.join(".")} ${e.message}`),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function validateNewConfig(data) {
|
|
56
|
+
const result = exports.NewConfigSchema.safeParse(data);
|
|
57
|
+
if (result.success) {
|
|
58
|
+
return { success: true, data: result.data };
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
errors: result.error.issues.map((e) => `${e.path.join(".")} ${e.message}`),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function validateMixedConfig(data) {
|
|
66
|
+
const result = exports.MixedConfigSchema.safeParse(data);
|
|
67
|
+
if (result.success) {
|
|
68
|
+
return { success: true, data: result.data };
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
errors: result.error.issues.map((e) => `${e.path.join(".")} ${e.message}`),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=configSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/config/configSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { UserConfig } from "../types";
|
|
2
|
+
export declare const defaultConfig: UserConfig;
|
|
3
|
+
declare class ConfigManager {
|
|
4
|
+
private store;
|
|
5
|
+
private configPath;
|
|
6
|
+
private customConfig;
|
|
7
|
+
private customConfigPath;
|
|
8
|
+
constructor();
|
|
9
|
+
private loadStore;
|
|
10
|
+
private saveStore;
|
|
11
|
+
private deepMerge;
|
|
12
|
+
loadCustomConfig(configPath: string): void;
|
|
13
|
+
get(): UserConfig;
|
|
14
|
+
set(config: Partial<UserConfig>): void;
|
|
15
|
+
reset(): void;
|
|
16
|
+
getConfigPath(): string;
|
|
17
|
+
isToolEnabled(tool: keyof UserConfig["tools"]): boolean;
|
|
18
|
+
isCacheTypeEnabled(type: keyof UserConfig["enabledCaches"]): boolean;
|
|
19
|
+
shouldRequireConfirmation(): boolean;
|
|
20
|
+
shouldUseDryRunDefault(): boolean;
|
|
21
|
+
shouldShowSizes(): boolean;
|
|
22
|
+
shouldUseColors(): boolean;
|
|
23
|
+
isVerbose(): boolean;
|
|
24
|
+
getEmojiMode(): "on" | "off" | "minimal";
|
|
25
|
+
getCustomPaths(): string[];
|
|
26
|
+
getProtectedPaths(): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Check if fun mode is enabled via environment variable.
|
|
29
|
+
* SQUEAKY_FUN_MODE=1 enables, SQUEAKY_FUN_MODE=0 disables.
|
|
30
|
+
*/
|
|
31
|
+
isFunModeEnabled(): boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const config: ConfigManager;
|
|
34
|
+
export { ConfigManager };
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtC,eAAO,MAAM,aAAa,EAAE,UAuE3B,CAAC;AAuBF,cAAM,aAAa;IACjB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,gBAAgB,CAAuB;;IAQ/C,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAejB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAe1C,GAAG,IAAI,UAAU;IAQjB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAUtC,KAAK,IAAI,IAAI;IAgBb,aAAa,IAAI,MAAM;IAQvB,aAAa,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO;IAKvD,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,OAAO;IAKpE,yBAAyB,IAAI,OAAO;IAQpC,sBAAsB,IAAI,OAAO;IAKjC,eAAe,IAAI,OAAO;IAK1B,eAAe,IAAI,OAAO;IAK1B,SAAS,IAAI,OAAO;IAKpB,YAAY,IAAI,IAAI,GAAG,KAAK,GAAG,SAAS;IAMxC,cAAc,IAAI,MAAM,EAAE;IAK1B,iBAAiB,IAAI,MAAM,EAAE;IAK7B;;;OAGG;IACH,gBAAgB,IAAI,OAAO;CAO5B;AAED,eAAO,MAAM,MAAM,eAAsB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,CAAC"}
|