@mulmoclaude/core 4.5.0 → 4.6.0
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/collection/core/schemaZ.d.ts +1 -1
- package/dist/collection/registry/server/index.cjs +1 -1
- package/dist/collection/registry/server/index.js +1 -1
- package/dist/collection/server/index.cjs +2 -1
- package/dist/collection/server/index.js +2 -2
- package/dist/collection/server/skillAssets.d.ts +20 -0
- package/dist/collection-watchers/index.cjs +1 -1
- package/dist/collection-watchers/index.js +1 -1
- package/dist/feeds/server/index.cjs +1 -1
- package/dist/feeds/server/index.js +1 -1
- package/dist/global-config/index.cjs +1 -1
- package/dist/google/index.cjs +1 -1
- package/dist/{paths-ClV946_f.cjs → paths-C8-jxR0s.cjs} +1 -2
- package/dist/{paths-ClV946_f.cjs.map → paths-C8-jxR0s.cjs.map} +1 -1
- package/dist/plugin-vue/index.cjs +214 -75
- package/dist/plugin-vue/index.cjs.map +1 -1
- package/dist/plugin-vue/index.js +214 -75
- package/dist/plugin-vue/index.js.map +1 -1
- package/dist/{server-Wz4_ALLl.cjs → server-DXUt34Rt.cjs} +79 -29
- package/dist/server-DXUt34Rt.cjs.map +1 -0
- package/dist/{server-BENtFplH.js → server-DyYwfNB6.js} +74 -30
- package/dist/server-DyYwfNB6.js.map +1 -0
- package/package.json +4 -4
- package/dist/server-BENtFplH.js.map +0 -1
- package/dist/server-Wz4_ALLl.cjs.map +0 -1
|
@@ -6,7 +6,7 @@ const require_relPath = require("../../../relPath-CTAjGdCL.cjs");
|
|
|
6
6
|
const require_utils_fetch = require("../../../utils/fetch.cjs");
|
|
7
7
|
const require_discovery = require("../../../discovery-2TvulIz8.cjs");
|
|
8
8
|
const require_templatePath = require("../../../templatePath-27vUZowm.cjs");
|
|
9
|
-
const require_server = require("../../../server-
|
|
9
|
+
const require_server = require("../../../server-DXUt34Rt.cjs");
|
|
10
10
|
const require_skill_bridge_index = require("../../../skill-bridge/index.cjs");
|
|
11
11
|
const require_types = require("../../../types-CNqkLT4M.cjs");
|
|
12
12
|
let node_fs = require("node:fs");
|
|
@@ -4,7 +4,7 @@ import { n as toPosixRelPath } from "../../../relPath-DW8MC8VO.js";
|
|
|
4
4
|
import { fetchWithTimeout } from "../../../utils/fetch.js";
|
|
5
5
|
import { K as safeRecordId, et as collectionsRegistriesConfigPath, ht as skillsStagingDir, lt as projectSkillsDir, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema } from "../../../discovery-BY-nMCuh.js";
|
|
6
6
|
import { t as isSafeActionTemplatePath } from "../../../templatePath-k_WNbL_Q.js";
|
|
7
|
-
import { y as ONE_SECOND_MS } from "../../../server-
|
|
7
|
+
import { y as ONE_SECOND_MS } from "../../../server-DyYwfNB6.js";
|
|
8
8
|
import { claudeSkillDir, dataSkillDir, mirrorSkillWrite } from "../../../skill-bridge/index.js";
|
|
9
9
|
import { n as parseRegistryIndex, r as isRecord, t as OFFICIAL_REGISTRY_NAME } from "../../../types-BKVZrtyc.js";
|
|
10
10
|
import { readFileSync } from "node:fs";
|
|
@@ -3,7 +3,7 @@ const require_root = require("../../root-BvwBUcol.cjs");
|
|
|
3
3
|
const require_itemId = require("../../itemId-CGT2J7YK.cjs");
|
|
4
4
|
const require_discovery = require("../../discovery-2TvulIz8.cjs");
|
|
5
5
|
const require_templatePath = require("../../templatePath-27vUZowm.cjs");
|
|
6
|
-
const require_server = require("../../server-
|
|
6
|
+
const require_server = require("../../server-DXUt34Rt.cjs");
|
|
7
7
|
exports.APP_MANIFEST_FILE = require_discovery.APP_MANIFEST_FILE;
|
|
8
8
|
exports.BackendUnavailableError = require_discovery.BackendUnavailableError;
|
|
9
9
|
exports.COLLECTION_ROOT_REQUIRED = require_discovery.COLLECTION_ROOT_REQUIRED;
|
|
@@ -101,6 +101,7 @@ exports.setFirestoreAccessor = require_discovery.setFirestoreAccessor;
|
|
|
101
101
|
exports.setSharedCollectionsSupport = require_discovery.setSharedCollectionsSupport;
|
|
102
102
|
exports.sharedCollectionChangePayload = require_discovery.sharedCollectionChangePayload;
|
|
103
103
|
exports.sharedItemsPath = require_discovery.sharedItemsPath;
|
|
104
|
+
exports.stagedSkillDir = require_server.stagedSkillDir;
|
|
104
105
|
exports.storeFor = require_discovery.storeFor;
|
|
105
106
|
exports.successorId = require_server.successorId;
|
|
106
107
|
exports.toDetail = require_discovery.toDetail;
|
|
@@ -2,5 +2,5 @@ import { t as canonicalRoot } from "../../root-BcS4-Kge.js";
|
|
|
2
2
|
import { U as COMPUTED_TYPES } from "../../itemId-4P9S_ehz.js";
|
|
3
3
|
import { $ as collectionChangePayload, A as readItem, B as SCHEMA_FILE, C as CollectionQueryZ, D as generateItemId, E as deleteItem, F as loadAppManifest, G as resolveTemplatePath, H as isUnderRealRoot, I as parseAppManifest, J as BackendUnavailableError, K as safeRecordId, L as sharedItemsPath, M as writeItem, N as APP_MANIFEST_FILE, O as isRegularFile, P as appManifestReason, Q as collectionChangeKey, R as pageFromFullRead, S as compileJsonlQuery, T as MAX_QUERY_ROWS, U as itemFilePath, V as isContainedInRoot, W as resolveDataDir, X as COLLECTION_ROOT_REQUIRED, Y as isBackendUnavailable, _ as dedupeByRecordId, a as toDetail, ct as peekWorkspaceRoot, d as storeFor, dt as setCollectionChangePublisher, ft as setFirestoreAccessor, g as decodeCsvRecordId, h as csvRowToItem, i as resolvePrimaryField, it as hostSupportsSharedCollections, j as resolveCreateItemId, k as listItems, l as collectionWritable, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, o as toSummary, ot as localCollectionKey, p as MAX_CSV_ROWS, pt as setSharedCollectionsSupport, q as safeSlugName, r as loadCollection, rt as getWorkspaceRoot, s as CollectionSchemaZ, st as log, t as acceptParsedSchema, tt as configureCollectionHost, u as readOnlyRefusal, ut as publishCollectionChange, v as encodeCsvRecordId, w as DEFAULT_QUERY_ROWS, x as compileCsvQuery, y as normalizeCsvValue, z as projectItemFields } from "../../discovery-BY-nMCuh.js";
|
|
4
4
|
import { i as isSafeTemplatePath, n as isSafeCustomViewI18nPath, r as isSafeCustomViewPath, t as isSafeActionTemplatePath } from "../../templatePath-k_WNbL_Q.js";
|
|
5
|
-
import { A as recordFieldProblem, C as applyMutateAction, D as validateCollectionRecords, E as STORE_UNREADABLE, F as buildCollectionActionSeedPrompt, I as promptPathsFor, L as readCustomViewHtml, M as enrichItems, N as runQueryOverRows, O as validateRecordObject, P as buildActionSeedPrompt, R as readCustomViewI18n, S as schemaRelations, T as MAX_RECORD_ISSUES, _ as resolveEvery, a as MAX_UNSELECTIVE_ITEMS, b as computeCollectionIcon, c as deleteCollection, d as computeSuccessor, f as daysInMonth, g as parseCivil, h as maybeSpawnSuccessor, i as MAX_SCHEMA_ISSUES, j as runCollectionQuery, k as compileRecordZ, l as deleteCollectionRefusalMessage, m as isTriggerDue, n as MAX_PUT_ITEMS, o as makeManageCollectionTool, p as formatCivil, r as MAX_PUT_LINT, s as deleteCustomView, t as MAX_ITEMS_FILE_BYTES, u as advanceTriggerDate, v as successorId, w as firstMutateParamProblem, x as buildWorkspaceOntology, z as readSkillTemplate } from "../../server-
|
|
6
|
-
export { APP_MANIFEST_FILE, BackendUnavailableError, COLLECTION_ROOT_REQUIRED, COMPUTED_TYPES, CollectionQueryZ, CollectionSchemaZ, DEFAULT_QUERY_ROWS, MAX_CSV_ROWS, MAX_ITEMS_FILE_BYTES, MAX_PUT_ITEMS, MAX_PUT_LINT, MAX_QUERY_ROWS, MAX_RECORD_ISSUES, MAX_SCHEMA_ISSUES, MAX_UNSELECTIVE_ITEMS, SCHEMA_FILE, STORE_UNREADABLE, acceptParsedSchema, advanceTriggerDate, appManifestReason, applyMutateAction, buildActionSeedPrompt, buildCollectionActionSeedPrompt, buildWorkspaceOntology, canonicalRoot, collectionChangeKey, collectionChangePayload, collectionWritable, compileCsvQuery, compileJsonlQuery, compileRecordZ, computeCollectionIcon, computeSuccessor, configureCollectionHost, csvRowToItem, daysInMonth, decodeCsvRecordId, dedupeByRecordId, deleteCollection, deleteCollectionRefusalMessage, deleteCustomView, deleteItem, discoverCollections, encodeCsvRecordId, enrichItems, firestoreHandle, firstMutateParamProblem, formatCivil, generateItemId, getWorkspaceRoot, hostSupportsSharedCollections, isBackendUnavailable, isContainedInRoot, isRegularFile, isSafeActionTemplatePath, isSafeCustomViewI18nPath, isSafeCustomViewPath, isSafeTemplatePath, isTriggerDue, isUnderRealRoot, itemFilePath, listItems, loadAppManifest, loadCollection, localCollectionKey, log, makeManageCollectionTool, maybeSpawnSuccessor, normalizeCsvValue, pageFromFullRead, parseAppManifest, parseCivil, peekWorkspaceRoot, projectItemFields, promptPathsFor, publishCollectionChange, readCustomViewHtml, readCustomViewI18n, readItem, readOnlyRefusal, readSkillTemplate, recordFieldProblem, resolveCreateItemId, resolveDataDir, resolveEvery, resolvePrimaryField, resolveTemplatePath, runCollectionQuery, runQueryOverRows, safeRecordId, safeSlugName, schemaRelations, setCollectionChangePublisher, setFirestoreAccessor, setSharedCollectionsSupport, sharedCollectionChangePayload, sharedItemsPath, storeFor, successorId, toDetail, toSummary, validateCollectionRecords, validateRecordObject, writeItem };
|
|
5
|
+
import { A as recordFieldProblem, B as stagedSkillDir, C as applyMutateAction, D as validateCollectionRecords, E as STORE_UNREADABLE, F as buildCollectionActionSeedPrompt, I as promptPathsFor, L as readCustomViewHtml, M as enrichItems, N as runQueryOverRows, O as validateRecordObject, P as buildActionSeedPrompt, R as readCustomViewI18n, S as schemaRelations, T as MAX_RECORD_ISSUES, _ as resolveEvery, a as MAX_UNSELECTIVE_ITEMS, b as computeCollectionIcon, c as deleteCollection, d as computeSuccessor, f as daysInMonth, g as parseCivil, h as maybeSpawnSuccessor, i as MAX_SCHEMA_ISSUES, j as runCollectionQuery, k as compileRecordZ, l as deleteCollectionRefusalMessage, m as isTriggerDue, n as MAX_PUT_ITEMS, o as makeManageCollectionTool, p as formatCivil, r as MAX_PUT_LINT, s as deleteCustomView, t as MAX_ITEMS_FILE_BYTES, u as advanceTriggerDate, v as successorId, w as firstMutateParamProblem, x as buildWorkspaceOntology, z as readSkillTemplate } from "../../server-DyYwfNB6.js";
|
|
6
|
+
export { APP_MANIFEST_FILE, BackendUnavailableError, COLLECTION_ROOT_REQUIRED, COMPUTED_TYPES, CollectionQueryZ, CollectionSchemaZ, DEFAULT_QUERY_ROWS, MAX_CSV_ROWS, MAX_ITEMS_FILE_BYTES, MAX_PUT_ITEMS, MAX_PUT_LINT, MAX_QUERY_ROWS, MAX_RECORD_ISSUES, MAX_SCHEMA_ISSUES, MAX_UNSELECTIVE_ITEMS, SCHEMA_FILE, STORE_UNREADABLE, acceptParsedSchema, advanceTriggerDate, appManifestReason, applyMutateAction, buildActionSeedPrompt, buildCollectionActionSeedPrompt, buildWorkspaceOntology, canonicalRoot, collectionChangeKey, collectionChangePayload, collectionWritable, compileCsvQuery, compileJsonlQuery, compileRecordZ, computeCollectionIcon, computeSuccessor, configureCollectionHost, csvRowToItem, daysInMonth, decodeCsvRecordId, dedupeByRecordId, deleteCollection, deleteCollectionRefusalMessage, deleteCustomView, deleteItem, discoverCollections, encodeCsvRecordId, enrichItems, firestoreHandle, firstMutateParamProblem, formatCivil, generateItemId, getWorkspaceRoot, hostSupportsSharedCollections, isBackendUnavailable, isContainedInRoot, isRegularFile, isSafeActionTemplatePath, isSafeCustomViewI18nPath, isSafeCustomViewPath, isSafeTemplatePath, isTriggerDue, isUnderRealRoot, itemFilePath, listItems, loadAppManifest, loadCollection, localCollectionKey, log, makeManageCollectionTool, maybeSpawnSuccessor, normalizeCsvValue, pageFromFullRead, parseAppManifest, parseCivil, peekWorkspaceRoot, projectItemFields, promptPathsFor, publishCollectionChange, readCustomViewHtml, readCustomViewI18n, readItem, readOnlyRefusal, readSkillTemplate, recordFieldProblem, resolveCreateItemId, resolveDataDir, resolveEvery, resolvePrimaryField, resolveTemplatePath, runCollectionQuery, runQueryOverRows, safeRecordId, safeSlugName, schemaRelations, setCollectionChangePublisher, setFirestoreAccessor, setSharedCollectionsSupport, sharedCollectionChangePayload, sharedItemsPath, stagedSkillDir, storeFor, successorId, toDetail, toSummary, validateCollectionRecords, validateRecordObject, writeItem };
|
|
@@ -25,6 +25,26 @@ type SourceAwareReadTarget = Pick<LoadedCollection, "slug" | "source" | "skillDi
|
|
|
25
25
|
* containment / `..` defense per base, so the fallback never broadens the
|
|
26
26
|
* attack surface. */
|
|
27
27
|
export declare function readCustomViewHtml(collection: SourceAwareReadTarget, viewFile: string, opts?: IoOptions): Promise<string | null>;
|
|
28
|
+
/** `<staging>/<slug>` when THAT slug is actually staged there, else null.
|
|
29
|
+
*
|
|
30
|
+
* `stagingSkillDir` only says whether the ROOT has a staging tree, and then
|
|
31
|
+
* joins the slug — so on its own it claims every collection in a staged
|
|
32
|
+
* workspace is staged. That is wrong for the two layouts that coexist there:
|
|
33
|
+
* a collection IMPORTED via the discover panel, and one committed directly
|
|
34
|
+
* under `.claude/skills/`, neither of which has a staging copy. A stale
|
|
35
|
+
* `data/skills/<slug>/views/x.html` left beside them then SHADOWED the real
|
|
36
|
+
* view on every read (#3031).
|
|
37
|
+
*
|
|
38
|
+
* The evidence is the slug's own `schema.json`, because that is what the
|
|
39
|
+
* authoring layout actually produces — `putSchema` writes it, and the delete
|
|
40
|
+
* path below has always keyed on it. It must be a REGULAR FILE — `lstat`, not
|
|
41
|
+
* `stat` — so a symlink standing in for the schema is not evidence.
|
|
42
|
+
*
|
|
43
|
+
* Exported so the DELETE path uses this exact function rather than a second
|
|
44
|
+
* copy of the expression: "reads and deletes agree" is a claim `views.ts` has
|
|
45
|
+
* made in its comments since #1836, and sharing the predicate is what makes
|
|
46
|
+
* it structurally true instead of a convention two files have to remember. */
|
|
47
|
+
export declare function stagedSkillDir(workspaceRoot: string, safeSlug: string): Promise<string | null>;
|
|
28
48
|
export interface CustomViewI18nResult {
|
|
29
49
|
/** The locale the returned `dict` is keyed to — equals the requested locale
|
|
30
50
|
* when available, else the `"en"` fallback, else `""` when neither block is
|
|
@@ -4,7 +4,7 @@ const require_itemId = require("../itemId-CGT2J7YK.cjs");
|
|
|
4
4
|
const require_promptSafety = require("../promptSafety-Cv-SoTd4.cjs");
|
|
5
5
|
require("../collection/index.cjs");
|
|
6
6
|
const require_discovery = require("../discovery-2TvulIz8.cjs");
|
|
7
|
-
const require_server = require("../server-
|
|
7
|
+
const require_server = require("../server-DXUt34Rt.cjs");
|
|
8
8
|
const require_notifier = require("../notifier-DZJj0sOh.cjs");
|
|
9
9
|
let node_fs_promises = require("node:fs/promises");
|
|
10
10
|
//#region src/collection-watchers/config.ts
|
|
@@ -3,7 +3,7 @@ import { X as fieldText, j as isValidCollectionName } from "../itemId-4P9S_ehz.j
|
|
|
3
3
|
import { E as whenMatches, f as itemIsDone } from "../promptSafety-Bte62OvU.js";
|
|
4
4
|
import "../collection/index.js";
|
|
5
5
|
import { $ as collectionChangePayload, U as itemFilePath, ct as peekWorkspaceRoot, d as storeFor, mt as sharedCollectionChangePayload, n as discoverCollections, nt as firestoreHandle, r as loadCollection, ut as publishCollectionChange } from "../discovery-BY-nMCuh.js";
|
|
6
|
-
import { h as maybeSpawnSuccessor, m as isTriggerDue } from "../server-
|
|
6
|
+
import { h as maybeSpawnSuccessor, m as isTriggerDue } from "../server-DyYwfNB6.js";
|
|
7
7
|
import { d as publish, m as updateForPlugin, n as clear, s as listAll } from "../notifier-DhnwR82U.js";
|
|
8
8
|
import { access } from "node:fs/promises";
|
|
9
9
|
//#region src/collection-watchers/config.ts
|
|
@@ -5,7 +5,7 @@ const require_root = require("../../root-BvwBUcol.cjs");
|
|
|
5
5
|
const require_itemId = require("../../itemId-CGT2J7YK.cjs");
|
|
6
6
|
const require_project = require("../../project-C1ep9pvo.cjs");
|
|
7
7
|
const require_discovery = require("../../discovery-2TvulIz8.cjs");
|
|
8
|
-
const require_server = require("../../server-
|
|
8
|
+
const require_server = require("../../server-DXUt34Rt.cjs");
|
|
9
9
|
const require_feeds_paths = require("../paths.cjs");
|
|
10
10
|
const require_ingestTypes = require("../../ingestTypes-DsVH9BYy.cjs");
|
|
11
11
|
const require_notifier = require("../../notifier-DZJj0sOh.cjs");
|
|
@@ -3,7 +3,7 @@ import { t as canonicalRoot } from "../../root-BcS4-Kge.js";
|
|
|
3
3
|
import { G as INGEST_KINDS, W as FEED_SCHEDULES } from "../../itemId-4P9S_ehz.js";
|
|
4
4
|
import { t as mergeIntoExisting } from "../../project-B0j_Vf_Q.js";
|
|
5
5
|
import { W as resolveDataDir, _t as createForwardingLogger, d as storeFor, k as listItems, n as discoverCollections, q as safeSlugName, vt as createHostSlot } from "../../discovery-BY-nMCuh.js";
|
|
6
|
-
import { F as buildCollectionActionSeedPrompt, I as promptPathsFor, z as readSkillTemplate } from "../../server-
|
|
6
|
+
import { F as buildCollectionActionSeedPrompt, I as promptPathsFor, z as readSkillTemplate } from "../../server-DyYwfNB6.js";
|
|
7
7
|
import { FEEDS_DIR, feedDir, feedStatePath, feedsRoot, ingestStateDir, ingestStatePath } from "../paths.js";
|
|
8
8
|
import { n as DEFAULT_FEED_MAX_ITEMS, r as isFeedSchedule, t as AGENT_INGEST_KIND } from "../../ingestTypes-GkG7bJdB.js";
|
|
9
9
|
import { d as publish, n as clear } from "../../notifier-DhnwR82U.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_paths = require("../paths-
|
|
2
|
+
const require_paths = require("../paths-C8-jxR0s.cjs");
|
|
3
3
|
let node_fs_promises = require("node:fs/promises");
|
|
4
4
|
//#region src/global-config/schema.ts
|
|
5
5
|
/** A user-supplied regular expression source is compiled and then run against
|
package/dist/google/index.cjs
CHANGED
|
@@ -7,7 +7,7 @@ const require_utils_fetch = require("../utils/fetch.cjs");
|
|
|
7
7
|
const require_itemId = require("../itemId-CGT2J7YK.cjs");
|
|
8
8
|
const require_project = require("../project-C1ep9pvo.cjs");
|
|
9
9
|
const require_discovery = require("../discovery-2TvulIz8.cjs");
|
|
10
|
-
const require_paths = require("../paths-
|
|
10
|
+
const require_paths = require("../paths-C8-jxR0s.cjs");
|
|
11
11
|
let node_fs = require("node:fs");
|
|
12
12
|
let node_path = require("node:path");
|
|
13
13
|
node_path = require_rolldown_runtime.__toESM(node_path, 1);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require("./rolldown-runtime-VH7oDXx4.cjs");
|
|
2
1
|
let node_path = require("node:path");
|
|
3
2
|
let node_os = require("node:os");
|
|
4
3
|
//#region src/global-config/paths.ts
|
|
@@ -22,4 +21,4 @@ Object.defineProperty(exports, "mulmoGlobalConfigPath", {
|
|
|
22
21
|
}
|
|
23
22
|
});
|
|
24
23
|
|
|
25
|
-
//# sourceMappingURL=paths-
|
|
24
|
+
//# sourceMappingURL=paths-C8-jxR0s.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths-
|
|
1
|
+
{"version":3,"file":"paths-C8-jxR0s.cjs","names":[],"sources":["../src/global-config/paths.ts"],"sourcesContent":["// The host-NEUTRAL per-user config file shared by MulmoClaude and\n// MulmoTerminal. It lives OUTSIDE any workspace, in the same `~/.config/mulmo`\n// directory the Google grant already uses (`../google/paths.ts`), for the same\n// reason: one machine, one set of cross-app preferences, surviving workspace\n// resets and never synced.\n//\n// Deliberately NOT `~/mulmoclaude/config/settings.json` (that is per-workspace\n// and MulmoClaude-owned) and NOT `~/.mulmoterminal/config.json` (that is the\n// terminal's own file). Neither app owns this one.\n//\n// The `home` parameter exists so tests can thread a fake home.\nimport { homedir } from \"node:os\";\nimport { join } from \"node:path\";\n\nexport function mulmoConfigDir(home?: string): string {\n return join(home ?? homedir(), \".config\", \"mulmo\");\n}\n\nexport function mulmoGlobalConfigPath(home?: string): string {\n return join(mulmoConfigDir(home), \"config.json\");\n}\n"],"mappings":";;;AAcA,SAAgB,eAAe,MAAuB;CACpD,QAAA,GAAO,UAAA,KAAA,CAAK,SAAA,GAAQ,QAAA,QAAA,CAAQ,GAAG,WAAW,OAAO;AACnD;AAEA,SAAgB,sBAAsB,MAAuB;CAC3D,QAAA,GAAO,UAAA,KAAA,CAAK,eAAe,IAAI,GAAG,aAAa;AACjD"}
|