@stackbilt/cli 0.16.0 → 1.0.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/__tests__/adf-init.test.js +31 -0
- package/dist/__tests__/adf-init.test.js.map +1 -1
- package/dist/__tests__/bootstrap.test.js +107 -0
- package/dist/__tests__/bootstrap.test.js.map +1 -1
- package/dist/__tests__/context-refresh-repo-intel.test.d.ts +9 -0
- package/dist/__tests__/context-refresh-repo-intel.test.d.ts.map +1 -0
- package/dist/__tests__/context-refresh-repo-intel.test.js +228 -0
- package/dist/__tests__/context-refresh-repo-intel.test.js.map +1 -0
- package/dist/__tests__/context-refresh.test.d.ts +2 -0
- package/dist/__tests__/context-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/context-refresh.test.js +198 -0
- package/dist/__tests__/context-refresh.test.js.map +1 -0
- package/dist/__tests__/context.test.js +62 -0
- package/dist/__tests__/context.test.js.map +1 -1
- package/dist/__tests__/hook.test.js +25 -0
- package/dist/__tests__/hook.test.js.map +1 -1
- package/dist/__tests__/score.test.js +58 -0
- package/dist/__tests__/score.test.js.map +1 -1
- package/dist/__tests__/serve-context.test.d.ts +2 -0
- package/dist/__tests__/serve-context.test.d.ts.map +1 -0
- package/dist/__tests__/serve-context.test.js +112 -0
- package/dist/__tests__/serve-context.test.js.map +1 -0
- package/dist/__tests__/setup.test.js +48 -0
- package/dist/__tests__/setup.test.js.map +1 -1
- package/dist/__tests__/why.test.d.ts +2 -0
- package/dist/__tests__/why.test.d.ts.map +1 -0
- package/dist/__tests__/why.test.js +145 -0
- package/dist/__tests__/why.test.js.map +1 -0
- package/dist/commands/adf.d.ts +2 -2
- package/dist/commands/adf.d.ts.map +1 -1
- package/dist/commands/adf.js +12 -0
- package/dist/commands/adf.js.map +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +145 -34
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/context-refresh.d.ts +16 -0
- package/dist/commands/context-refresh.d.ts.map +1 -0
- package/dist/commands/context-refresh.js +841 -0
- package/dist/commands/context-refresh.js.map +1 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +104 -7
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/hook.d.ts +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +30 -1
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/score.js +76 -14
- package/dist/commands/score.js.map +1 -1
- package/dist/commands/serve.d.ts +22 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +70 -3
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +47 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +44 -0
- package/dist/commands/why.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -28
- package/dist/index.js.map +1 -1
- package/package.json +27 -15
- package/dist/__tests__/auth-wiring.test.d.ts +0 -2
- package/dist/__tests__/auth-wiring.test.d.ts.map +0 -1
- package/dist/__tests__/auth-wiring.test.js +0 -158
- package/dist/__tests__/auth-wiring.test.js.map +0 -1
- package/dist/__tests__/credentials.test.d.ts +0 -2
- package/dist/__tests__/credentials.test.d.ts.map +0 -1
- package/dist/__tests__/credentials.test.js +0 -145
- package/dist/__tests__/credentials.test.js.map +0 -1
- package/dist/__tests__/deprecated-commands.test.d.ts +0 -2
- package/dist/__tests__/deprecated-commands.test.d.ts.map +0 -1
- package/dist/__tests__/deprecated-commands.test.js +0 -59
- package/dist/__tests__/deprecated-commands.test.js.map +0 -1
- package/dist/__tests__/login.test.d.ts +0 -2
- package/dist/__tests__/login.test.d.ts.map +0 -1
- package/dist/__tests__/login.test.js +0 -66
- package/dist/__tests__/login.test.js.map +0 -1
- package/dist/commands/architect.d.ts +0 -12
- package/dist/commands/architect.d.ts.map +0 -1
- package/dist/commands/architect.js +0 -167
- package/dist/commands/architect.js.map +0 -1
- package/dist/commands/deprecation-warning.d.ts +0 -4
- package/dist/commands/deprecation-warning.d.ts.map +0 -1
- package/dist/commands/deprecation-warning.js +0 -20
- package/dist/commands/deprecation-warning.js.map +0 -1
- package/dist/commands/login.d.ts +0 -13
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -80
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/run.d.ts +0 -18
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -247
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/scaffold.d.ts +0 -11
- package/dist/commands/scaffold.d.ts.map +0 -1
- package/dist/commands/scaffold.js +0 -112
- package/dist/commands/scaffold.js.map +0 -1
- package/dist/credentials.d.ts +0 -34
- package/dist/credentials.d.ts.map +0 -1
- package/dist/credentials.js +0 -108
- package/dist/credentials.js.map +0 -1
- package/dist/http-client.d.ts +0 -114
- package/dist/http-client.d.ts.map +0 -1
- package/dist/http-client.js +0 -69
- package/dist/http-client.js.map +0 -1
- package/dist/types/scaffold-contract-types.d.ts +0 -90
- package/dist/types/scaffold-contract-types.d.ts.map +0 -1
- package/dist/types/scaffold-contract-types.js +0 -22
- package/dist/types/scaffold-contract-types.js.map +0 -1
package/dist/commands/score.js
CHANGED
|
@@ -183,7 +183,7 @@ async function scoreCommand(options, args = []) {
|
|
|
183
183
|
printHelp();
|
|
184
184
|
return index_1.EXIT_CODE.SUCCESS;
|
|
185
185
|
}
|
|
186
|
-
const aiDir =
|
|
186
|
+
const aiDir = normalizeAiDirInput((0, flags_1.getFlag)(args, '--ai-dir') || '.ai');
|
|
187
187
|
const inventory = collectRepoInventory();
|
|
188
188
|
const report = buildScoreReport(inventory, aiDir);
|
|
189
189
|
if (options.format === 'json') {
|
|
@@ -223,7 +223,11 @@ function buildScoreReport(inventory, aiDir) {
|
|
|
223
223
|
}
|
|
224
224
|
};
|
|
225
225
|
const manifestPath = normalizeRelativePath(path.posix.join(aiDir, 'manifest.adf'));
|
|
226
|
-
const
|
|
226
|
+
const manifestPathInInventory = toInventoryPath(manifestPath);
|
|
227
|
+
const aiDirInInventory = toInventoryPath(aiDir);
|
|
228
|
+
const aiFiles = aiDirInInventory
|
|
229
|
+
? inventory.files.filter((file) => file.startsWith(`${aiDirInInventory}/`) && file.endsWith('.adf'))
|
|
230
|
+
: [];
|
|
227
231
|
const alternateAgentFiles = AGENT_FILES.filter((file) => inventory.fileSet.has(file) && file !== 'CLAUDE.md' && !/^agents\.md$/i.test(file));
|
|
228
232
|
const claudeContent = readText('CLAUDE.md');
|
|
229
233
|
const claudeExists = inventory.fileSet.has('CLAUDE.md');
|
|
@@ -242,7 +246,9 @@ function buildScoreReport(inventory, aiDir) {
|
|
|
242
246
|
const agentsContent = agentsFile ? readText(agentsFile) : '';
|
|
243
247
|
const agentsExists = !!agentsFile;
|
|
244
248
|
const agentsSubstantive = agentsExists && isSubstantiveInstruction(agentsContent);
|
|
245
|
-
const manifestExists =
|
|
249
|
+
const manifestExists = manifestPathInInventory
|
|
250
|
+
? inventory.fileSet.has(manifestPathInInventory)
|
|
251
|
+
: fileExists(manifestPath);
|
|
246
252
|
let agentConfigScore = 0;
|
|
247
253
|
if (claudeExists)
|
|
248
254
|
agentConfigScore += 5;
|
|
@@ -257,8 +263,8 @@ function buildScoreReport(inventory, aiDir) {
|
|
|
257
263
|
const groundingFiles = [...new Set(AGENT_FILES.filter((file) => inventory.fileSet.has(file))
|
|
258
264
|
.concat(cursorFiles)
|
|
259
265
|
.concat(ROOT_DOC_FILES.filter((file) => inventory.fileSet.has(file)))
|
|
260
|
-
.concat(manifestExists ? [manifestPath] : [])
|
|
261
|
-
.concat(aiFiles.filter((file) => file !== manifestPath)))];
|
|
266
|
+
.concat(manifestExists ? [manifestPathInInventory ?? manifestPath] : [])
|
|
267
|
+
.concat(aiFiles.filter((file) => file !== (manifestPathInInventory ?? manifestPath))))];
|
|
262
268
|
const pathReferences = new Map();
|
|
263
269
|
const commandSignals = [];
|
|
264
270
|
for (const file of groundingFiles) {
|
|
@@ -310,19 +316,24 @@ function buildScoreReport(inventory, aiDir) {
|
|
|
310
316
|
referencedModules = [...new Set([...manifest.defaultLoad, ...manifest.onDemand.map((mod) => mod.path)])];
|
|
311
317
|
for (const modulePath of referencedModules) {
|
|
312
318
|
const normalizedModule = normalizeRelativePath(path.posix.join(aiDir, modulePath));
|
|
313
|
-
|
|
314
|
-
|
|
319
|
+
const moduleInInventory = toInventoryPath(normalizedModule);
|
|
320
|
+
const moduleExists = moduleInInventory
|
|
321
|
+
? inventory.fileSet.has(moduleInInventory)
|
|
322
|
+
: fileExists(normalizedModule);
|
|
323
|
+
if (!moduleExists) {
|
|
324
|
+
missingModules.push(moduleInInventory ?? normalizedModule);
|
|
315
325
|
continue;
|
|
316
326
|
}
|
|
317
|
-
|
|
327
|
+
const moduleDisplayPath = moduleInInventory ?? normalizedModule;
|
|
328
|
+
existingModules.push(moduleDisplayPath);
|
|
318
329
|
try {
|
|
319
|
-
const moduleDoc = (0, adf_1.parseAdf)(readText(
|
|
330
|
+
const moduleDoc = (0, adf_1.parseAdf)(readText(moduleDisplayPath));
|
|
320
331
|
if (hasConstraints(moduleDoc)) {
|
|
321
|
-
constraintSources.add(
|
|
332
|
+
constraintSources.add(moduleDisplayPath);
|
|
322
333
|
}
|
|
323
334
|
if (!stateDefined && hasAdfState(moduleDoc)) {
|
|
324
335
|
stateDefined = true;
|
|
325
|
-
stateSource =
|
|
336
|
+
stateSource = moduleDisplayPath;
|
|
326
337
|
}
|
|
327
338
|
}
|
|
328
339
|
catch {
|
|
@@ -801,18 +812,29 @@ function isSubstantiveInstruction(content) {
|
|
|
801
812
|
}
|
|
802
813
|
function extractPathCandidates(content) {
|
|
803
814
|
const candidates = new Set();
|
|
815
|
+
// Markdown link targets: [text](path)
|
|
804
816
|
for (const match of content.matchAll(/\[[^\]]+\]\(([^)]+)\)/g)) {
|
|
805
817
|
const target = normalizePathCandidate(match[1]);
|
|
806
818
|
if (looksLikePath(target))
|
|
807
819
|
candidates.add(target);
|
|
808
820
|
}
|
|
821
|
+
// Backtick inline code: `path`
|
|
809
822
|
for (const match of content.matchAll(/`([^`\n]+)`/g)) {
|
|
810
823
|
const candidate = normalizePathCandidate(match[1]);
|
|
811
824
|
if (looksLikePath(candidate))
|
|
812
825
|
candidates.add(candidate);
|
|
813
826
|
}
|
|
827
|
+
// Raw path patterns in prose/tables — require explicit relative prefix (./ ../) or a known
|
|
828
|
+
// file extension. This avoids false positives from Windows path fragments, cross-repo refs,
|
|
829
|
+
// and HTTP route tables captured in freeform text.
|
|
830
|
+
// NOTE: check `raw` (pre-normalization) for the ./ prefix — normalizePathCandidate strips it,
|
|
831
|
+
// so checking the already-normalized candidate would silently drop ./path-without-extension refs.
|
|
814
832
|
for (const match of content.matchAll(/(^|[\s(])((?:\.{1,2}\/)?(?:[A-Za-z0-9._-]+\/)*[A-Za-z0-9._-]+(?:\.[A-Za-z0-9._-]+)?)/gm)) {
|
|
815
|
-
const
|
|
833
|
+
const raw = match[2];
|
|
834
|
+
const candidate = normalizePathCandidate(raw);
|
|
835
|
+
const ext = path.posix.extname(candidate).toLowerCase();
|
|
836
|
+
if (!raw.startsWith('./') && !raw.startsWith('../') && !KNOWN_PATH_EXTENSIONS.has(ext))
|
|
837
|
+
continue;
|
|
816
838
|
if (looksLikePath(candidate))
|
|
817
839
|
candidates.add(candidate);
|
|
818
840
|
}
|
|
@@ -828,7 +850,8 @@ function normalizePathCandidate(raw) {
|
|
|
828
850
|
.replace(/\\/g, '/');
|
|
829
851
|
}
|
|
830
852
|
function resolveReferencedPath(sourceFile, candidate) {
|
|
831
|
-
|
|
853
|
+
// path.isAbsolute handles both Unix (/foo) and Windows (C:\foo, C:/foo) absolute paths.
|
|
854
|
+
if (path.isAbsolute(candidate) || candidate.startsWith('/')) {
|
|
832
855
|
return {
|
|
833
856
|
source: sourceFile,
|
|
834
857
|
candidate,
|
|
@@ -848,14 +871,32 @@ function resolveReferencedPath(sourceFile, candidate) {
|
|
|
848
871
|
function looksLikePath(candidate) {
|
|
849
872
|
if (!candidate)
|
|
850
873
|
return false;
|
|
851
|
-
|
|
874
|
+
// URL schemes
|
|
875
|
+
if (candidate.startsWith('http://') || candidate.startsWith('https://') || candidate.startsWith('mailto:') || candidate.startsWith('ftp://'))
|
|
852
876
|
return false;
|
|
877
|
+
// CLI flags and fragment anchors
|
|
853
878
|
if (candidate.startsWith('#') || candidate.startsWith('--'))
|
|
854
879
|
return false;
|
|
880
|
+
// Template expressions, globs, angle-bracket types
|
|
855
881
|
if (candidate.includes('<') || candidate.includes('>') || candidate.includes('*') || candidate.includes('${'))
|
|
856
882
|
return false;
|
|
883
|
+
// Spaces mean prose, not a path
|
|
857
884
|
if (candidate.includes(' '))
|
|
858
885
|
return false;
|
|
886
|
+
// Env-var assignments pulled from code blocks (DATABASE_URL=postgres://...)
|
|
887
|
+
if (candidate.includes('='))
|
|
888
|
+
return false;
|
|
889
|
+
// Windows drive-letter absolute paths (C:\..., D:/...)
|
|
890
|
+
if (/^[A-Za-z]:[\\/]/.test(candidate))
|
|
891
|
+
return false;
|
|
892
|
+
// hostname:port patterns (localhost:3000, api.example.com:8080)
|
|
893
|
+
if (/^[a-zA-Z0-9][a-zA-Z0-9.-]*:[0-9]+$/.test(candidate))
|
|
894
|
+
return false;
|
|
895
|
+
// HTTP API route paths (/api/v1/users) — starts with slash, multiple path segments, no known extension
|
|
896
|
+
if (candidate.startsWith('/') &&
|
|
897
|
+
!KNOWN_PATH_EXTENSIONS.has(path.posix.extname(candidate).toLowerCase()) &&
|
|
898
|
+
candidate.split('/').filter(Boolean).length > 1)
|
|
899
|
+
return false;
|
|
859
900
|
if (KNOWN_PATH_FILENAMES.has(candidate) || KNOWN_PATH_FILENAMES.has(path.posix.basename(candidate)))
|
|
860
901
|
return true;
|
|
861
902
|
if (candidate.includes('/'))
|
|
@@ -1267,6 +1308,27 @@ function supportsColor() {
|
|
|
1267
1308
|
function normalizeRelativePath(relativePath) {
|
|
1268
1309
|
return relativePath.replace(/\\/g, '/').replace(/^\.\//, '').replace(/\/+/g, '/');
|
|
1269
1310
|
}
|
|
1311
|
+
function normalizeAiDirInput(aiDir) {
|
|
1312
|
+
const normalizedInput = normalizeRelativePath(aiDir);
|
|
1313
|
+
if (!path.isAbsolute(normalizedInput)) {
|
|
1314
|
+
return normalizedInput;
|
|
1315
|
+
}
|
|
1316
|
+
const relative = normalizeRelativePath(path.relative(process.cwd(), normalizedInput));
|
|
1317
|
+
if (relative.length > 0 && !relative.startsWith('..') && !path.isAbsolute(relative)) {
|
|
1318
|
+
return relative;
|
|
1319
|
+
}
|
|
1320
|
+
return normalizedInput;
|
|
1321
|
+
}
|
|
1322
|
+
function toInventoryPath(candidatePath) {
|
|
1323
|
+
if (!path.isAbsolute(candidatePath)) {
|
|
1324
|
+
return normalizeRelativePath(candidatePath);
|
|
1325
|
+
}
|
|
1326
|
+
const relative = normalizeRelativePath(path.relative(process.cwd(), candidatePath));
|
|
1327
|
+
if (relative.length > 0 && !relative.startsWith('..') && !path.isAbsolute(relative)) {
|
|
1328
|
+
return relative;
|
|
1329
|
+
}
|
|
1330
|
+
return null;
|
|
1331
|
+
}
|
|
1270
1332
|
function formatDate(date) {
|
|
1271
1333
|
return date.toISOString().slice(0, 10);
|
|
1272
1334
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/commands/score.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8PH,oCAqBC;AAjRD,4CAA8B;AAC9B,gDAAkC;AAClC,wCAAyD;AAGzD,oCAAqC;AACrC,oCAAmC;AACnC,mCAAsF;AACtF,gDAA+D;AAC/D,+BAAwC;AAgHxC,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;AACpG,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACxD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,KAAK;IACL,OAAO;IACP,IAAI;IACJ,SAAS;IACT,MAAM;IACN,QAAQ;IACR,gBAAgB;IAChB,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,cAAc;IACd,WAAW;IACX,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,UAAU;IACV,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;CAChB,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,KAAK;IACL,UAAU;IACV,IAAI;IACJ,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG;IACf,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;IACf,aAAa;CACd,CAAC;AACF,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AAC3F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO;IACP,cAAc;IACd,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,YAAY,GAAG,EAAE,CAAC;AAEjB,KAAK,UAAU,YAAY,CAAC,OAAmB,EAAE,OAAiB,EAAE;IACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO,iBAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAA,eAAO,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC;QACxD,OAAO,iBAAS,CAAC,gBAAgB,CAAC;IACpC,CAAC;IAED,OAAO,iBAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAwB,EAAE,KAAa;IAC/D,MAAM,QAAQ,GAAG,IAAA,2BAAmB,GAAE,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,MAAM,QAAQ,GAAG,CAAC,YAAoB,EAAU,EAAE;QAChD,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC;gBACtD,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAClC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxG,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7I,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,YAAY,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACvD,CAAC,CAAC,CAAC,cAAc,CAAC;QAClB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,YAAY,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACnD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAClC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC;IAClC,MAAM,iBAAiB,GAAG,YAAY,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE3D,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,YAAY;QAAE,gBAAgB,IAAI,CAAC,CAAC;IACxC,IAAI,iBAAiB;QAAE,gBAAgB,IAAI,CAAC,CAAC;IAC7C,IAAI,YAAY;QAAE,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,YAAY;QAAE,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,cAAc;QAAE,gBAAgB,IAAI,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAChC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACtD,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;aACpE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAC3D,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;IAChE,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzD,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;SAC7C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAC5D,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,CACxC,cAAc;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;aAC7D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACnC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,cAAc;SACnC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;SACpC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,GAAG,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,CAAC;IAEhD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,WAAW,GAAuB,IAAI,CAAC;IAC3C,IAAI,kBAAsC,CAAC;IAC3C,IAAI,mBAAmB,GAAa,EAAE,CAAC;IACvC,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,WAA+B,CAAC;IAEpC,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,WAAW,GAAG,IAAA,cAAQ,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAA,mBAAa,EAAC,WAAW,CAAC,CAAC;YAC5C,cAAc,GAAG,IAAI,CAAC;YACtB,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC3C,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzG,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC7C,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACtC,SAAS;gBACX,CAAC;gBAED,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACvD,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9B,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC5C,YAAY,GAAG,IAAI,CAAC;wBACpB,WAAW,GAAG,gBAAgB,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAkB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,IAAI,iBAAiB,EAAE,CAAC;YACtB,YAAY,GAAG,IAAI,CAAC;YACpB,WAAW,GAAG,iBAAiB,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,UAAU,CAAC;IAEtF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,IAAI,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC;IACV,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,sBAAsB,GAAG,OAAO,CAAC;IAEtD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;IAC9F,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACnD,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAC7B;YACE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5D,GAAG,WAAW;YACd,YAAY;YACZ,GAAG,OAAO;YACV,GAAG,OAAO;YACV,GAAG,UAAU;YACb,GAAG,eAAe;YAClB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxD,sBAAsB;SACvB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAC7C,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAExD,MAAM,UAAU,GAAoB;QAClC,cAAc,CACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,EAAE,EACF,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,CAAC,CACjJ;QACD,cAAc,CACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,EAAE,EACF,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACnH;QACD,cAAc,CACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,EAAE,EACF,mBAAmB,CAAC,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,YAAY,CAAC,CAC7I;QACD,cAAc,CACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,EAAE,EACF,cAAc,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,CACrE;QACD,cAAc,CACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,EAAE,EACF,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAC1D;QACD,cAAc,CACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,EAAE,EACF,gBAAgB,CAAC,gBAAgB,CAAC,CACnC;KACF,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAgB;QAC1B,IAAI;QACJ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,KAAK,EAAE;YACL,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;SACtB;QACD,UAAU;QACV,eAAe,EAAE,oBAAoB,CAAC;YACpC,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,iBAAiB;YACjB,WAAW;YACX,UAAU;YACV,cAAc;YACd,WAAW;YACX,cAAc;YACd,sBAAsB;YACtB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,kBAAkB,EAAE,iBAAiB,CAAC,IAAI,GAAG,CAAC;YAC9C,YAAY;YACZ,OAAO;YACP,UAAU;YACV,eAAe;YACf,SAAS;YACT,gBAAgB;SACjB,CAAC;QACF,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAChE,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE;gBACzF,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE;gBAClF,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;gBACxD,mBAAmB;aACpB;YACD,SAAS,EAAE;gBACT,YAAY,EAAE,cAAc;gBAC5B,cAAc,EAAE;oBACd,KAAK,EAAE,cAAc,CAAC,IAAI;oBAC1B,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,WAAW;iBACpB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,cAAc,CAAC,MAAM;oBAC5B,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,eAAe;oBACxB,sBAAsB;iBACvB;aACF;YACD,YAAY,EAAE;gBACZ,QAAQ,EAAE;oBACR,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,cAAc;oBACtB,WAAW,EAAE,mBAAmB;oBAChC,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,kBAAkB;iBAC/B;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,iBAAiB,CAAC,MAAM;oBAC/B,QAAQ,EAAE,eAAe;oBACzB,OAAO,EAAE,cAAc;iBACxB;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,iBAAiB,CAAC,IAAI,GAAG,CAAC;oBACnC,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;iBAChC;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,WAAW;iBACpB;aACF;YACD,OAAO,EAAE;gBACP,cAAc;gBACd,kBAAkB,EAAE,sBAAsB;gBAC1C,eAAe,EAAE,mBAAmB;gBACpC,OAAO;aACR;YACD,UAAU,EAAE;gBACV,UAAU;gBACV,eAAe;gBACf,SAAS;aACV;YACD,SAAS,EAAE,gBAAgB;SAC5B;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CACrB,EAAuB,EACvB,KAAa,EACb,KAAa,EACb,GAAW,EACX,OAAe;IAEf,OAAO;QACL,EAAE;QACF,KAAK;QACL,KAAK;QACL,GAAG;QACH,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC;QACpC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,OAAO;QACL,KAAK;QACL,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,oBAAM,EAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAClF,MAAM,KAAK,GAAG,MAAM;iBACjB,KAAK,CAAC,OAAO,CAAC;iBACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;iBAC1C,MAAM,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,WAAmB,EAAE,WAAmB,EAAE,KAAe;IACzE,IAAI,OAAO,GAAgB,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QACxD,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC/C,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAwB,EAAE,cAA8B;IAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,eAAe,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,EAAE,CAAC;QAC7G,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyC,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvH,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACjG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,kBAAkB,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAwB,EAAE,QAA0C;IACjG,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClD,IAAI,KAAK,WAAW;WACjB,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,WAAW;WACpB,IAAI,KAAK,cAAc;WACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;WAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;WAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,yDAAyD,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,SAAwB;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC9G,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACtE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAA,oBAAM,EAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBACvG,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAC1C,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,SAAwB,EAAE,WAAqB;IACtE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAqB,EAAE,SAAmB;IACnE,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;YAC1E,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACxG,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;QAClC,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC;QACxC,kBAAkB,EAAE,UAAU,CAAC,YAAY,CAAC;QAC5C,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,SAAoC;IAC1D,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACjE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC;IAC3C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,SAAS,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,SAAS,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAqB,EAAE,SAAmB;IACxE,OAAO,IAAA,uBAAS,GAAE,IAAI,IAAA,wBAAU,GAAE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC;AAC9J,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,MAAe;IAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;gBAC1B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAe;IAC5C,IAAI,CAAC,IAAA,uBAAS,GAAE,IAAI,CAAC,IAAA,wBAAU,GAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,oBAAM,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;gBACxD,aAAa,GAAG,OAAO,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED,OAAO,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB;IACtC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACpC,OAAO,CAAC,GAAG,KAAK,aAAa;WAC1B,OAAO,CAAC,MAAM,KAAK,cAAc,CACrC,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,GAAgB;IACnC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAmD;IAC5E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,8DAA8D,CAAC,IAAI,CAAC,OAAO,CAAC;WAC9E,wDAAwD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,UAAU,GAAG,OAAO,CAAC;IACzB,KAAK,MAAM,MAAM,IAAI,qBAAe,EAAE,CAAC;QACrC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,UAAU,GAAG,UAAU;SACpB,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC;SACnD,IAAI,EAAE,CAAC;IAEV,MAAM,aAAa,GAAG,UAAU;SAC7B,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,aAAa,CAAC,SAAS,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,wFAAwF,CAAC,EAAE,CAAC;QAC/H,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,aAAa,CAAC,SAAS,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,OAAO,GAAG;SACP,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,SAAiB;IAClE,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,QAAQ,EAAE,qBAAqB,CAAC,SAAS,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG;QAChC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAClC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACzH,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5H,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjH,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,UAAU,CAAC,YAAoB;IACtC,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,YAAoB;IACtC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAe,EACf,OAAoB,EACpB,cAA8B;IAE9B,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,SAAS;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;gBAC7D,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC,CAAC;YACH,IAAI,QAAQ,IAAI,CAAC;gBAAE,MAAM;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAiD,EAAE,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,QAAQ,KAAK,EAAE;WACjB,QAAQ,KAAK,MAAM;WACnB,QAAQ,KAAK,SAAS;WACtB,QAAQ,KAAK,OAAO;WACpB,QAAQ,KAAK,IAAI;WACjB,QAAQ,KAAK,KAAK,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7C,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7G,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,OAAoB,EAAE,cAA8B;IAC9F,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvF,IAAI,WAAW,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7F,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,IAAI,KAAK,cAAc,IAAI,OAAO,KAAK,GAAG,cAAc,OAAO;QAAE,OAAO,IAAI,CAAC;IAEjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,kCAAkC,GAAG,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;CACN,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,KAAK,MAAM,eAAe,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,SAAS;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAyC,CAAC;YAC3H,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;IAC1C,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IAClC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,YAAqB,EACrB,iBAA0B,EAC1B,WAAqB,EACrB,iBAA0B,EAC1B,UAA8B,EAC9B,iBAA0B,EAC1B,cAAuB,EACvB,YAAoB;IAEpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,YAAY;QACrB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,8BAA8B;QACjF,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB;QAC1F,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,UAAU;QACnB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,qBAAqB;QAClF,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,UAAkB,EAAE,WAAmB,EAAE,YAAoB,EAAE,gBAAwB;IAClI,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC;QAC5B,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,2BAA2B;QACvD,CAAC,CAAC,8BAA8B,CAAC;IACnC,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC;QAClC,CAAC,CAAC,GAAG,gBAAgB,IAAI,YAAY,oCAAoC;QACzE,CAAC,CAAC,kCAAkC,CAAC;IACvC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,QAAQ,KAAK,WAAW,KAAK,WAAW,sBAAsB,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,QAAQ,KAAK,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAC1B,cAAuB,EACvB,cAAuB,EACvB,eAAuB,EACvB,cAAsB,EACtB,kBAA2B,EAC3B,YAAqB;IAErB,MAAM,YAAY,GAAG,cAAc;QACjC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,oCAAoC;QACnF,CAAC,CAAC,iBAAiB,CAAC;IACtB,MAAM,UAAU,GAAG,eAAe,GAAG,CAAC;QACpC,CAAC,CAAC,GAAG,eAAe,mBAAmB,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QAChG,CAAC,CAAC,yBAAyB,CAAC;IAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC3F,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACrF,OAAO,GAAG,YAAY,KAAK,UAAU,KAAK,eAAe,KAAK,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,UAAoB,EAAE,OAAiB,EAAE,OAAiB;IAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACpC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,6BAA6B;QACnD,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,mDAAmD;YACtE,CAAC,CAAC,uBAAuB,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,CAAC,CAAC,mBAAmB,CAAC;IACxB,OAAO,GAAG,QAAQ,KAAK,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAoB,EAAE,eAAyB,EAAE,SAAmB;IAC7F,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnG,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACvI,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAChG,OAAO,GAAG,SAAS,KAAK,cAAc,KAAK,QAAQ,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoC;IAC5D,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACjE,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,gCAAgC,SAAS,CAAC,kBAAkB,OAAO,SAAS,CAAC,gBAAgB,GAAG,CAAC;IAC1G,CAAC;IACD,OAAO,yBAAyB,SAAS,CAAC,SAAS,YAAY,SAAS,CAAC,kBAAkB,OAAO,SAAS,CAAC,gBAAgB,GAAG,CAAC;AAClI,CAAC;AAED,SAAS,oBAAoB,CAAC,KAqB7B;IACC,MAAM,eAAe,GAA8B,EAAE,CAAC;IAEtD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1B,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY,+FAA+F;SAC/H,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY,+EAA+E;SAC/G,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,wFAAwF;SAC/F,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,iIAAiI;SACxI,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,6FAA6F;SACpG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,oGAAoG;SAC3G,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,iBAAiB,KAAK,CAAC,WAAW,CAAC,MAAM,8BAA8B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG;SACvK,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,mGAAmG;SAC1G,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,yGAAyG;SAChH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,8CAA8C,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG;SACpJ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,0CAA0C,KAAK,CAAC,KAAK,0EAA0E;SACtI,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,2CAA2C,KAAK,CAAC,KAAK,yCAAyC;SACtG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtF,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,wEAAwE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK;SAChH,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,4FAA4F;SACnG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,gHAAgH;SACvH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,kHAAkH;SACzH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,kGAAkG;SACzG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACzI,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,6EAA6E,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,0BAA0B,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,GAAG;SACjM,CAAC,CAAC;IACL,CAAC;IAED,OAAO,eAAe;SACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG;QACzE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG;YACxD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACxG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACxG,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9K,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,GAAG,MAAmE;IACjG,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAA2B;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,YAAY;QACjB,MAAM,EAAE,YAAY;KACrB,CAAC;IACF,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC;AAC3E,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/D,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB;IACjD,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/commands/score.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/serve.d.ts
CHANGED
|
@@ -5,10 +5,31 @@
|
|
|
5
5
|
* Supports stdio (default) and SSE transports.
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
|
-
* charter serve # stdio, for Claude Code
|
|
8
|
+
* charter serve # stdio, for Claude Code/Codex/Cursor
|
|
9
9
|
* charter serve --transport sse --port 3847 # SSE, for network access
|
|
10
10
|
* charter serve --name "my-project" # custom server name
|
|
11
11
|
*/
|
|
12
|
+
import { z } from 'zod';
|
|
12
13
|
import type { CLIOptions } from '../index';
|
|
14
|
+
declare const CharterContextInputSchema: z.ZodObject<{
|
|
15
|
+
refresh: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
sources: z.ZodOptional<z.ZodArray<z.ZodEnum<["git", "github"]>, "many">>;
|
|
17
|
+
ttlMinutes: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, "strip", z.ZodTypeAny, {
|
|
19
|
+
sources?: ("git" | "github")[] | undefined;
|
|
20
|
+
ttlMinutes?: number | undefined;
|
|
21
|
+
refresh?: boolean | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
sources?: ("git" | "github")[] | undefined;
|
|
24
|
+
ttlMinutes?: number | undefined;
|
|
25
|
+
refresh?: boolean | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
type CharterContextInput = z.infer<typeof CharterContextInputSchema>;
|
|
13
28
|
export declare function serveCommand(options: CLIOptions, args: string[]): Promise<number>;
|
|
29
|
+
export declare function loadCharterContextSnapshot(options: CLIOptions, aiDir: string, input?: CharterContextInput): Promise<{
|
|
30
|
+
refreshed: boolean;
|
|
31
|
+
snapshotPath: string;
|
|
32
|
+
snapshot: unknown;
|
|
33
|
+
}>;
|
|
34
|
+
export {};
|
|
14
35
|
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAc3C,QAAA,MAAM,yBAAyB;;;;;;;;;;;;EAU7B,CAAC;AAEH,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAMrE,wBAAsB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDvF;AA0gBD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAoD1E"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Supports stdio (default) and SSE transports.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* charter serve # stdio, for Claude Code
|
|
9
|
+
* charter serve # stdio, for Claude Code/Codex/Cursor
|
|
10
10
|
* charter serve --transport sse --port 3847 # SSE, for network access
|
|
11
11
|
* charter serve --name "my-project" # custom server name
|
|
12
12
|
*/
|
|
@@ -45,6 +45,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
45
45
|
})();
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
47
|
exports.serveCommand = serveCommand;
|
|
48
|
+
exports.loadCharterContextSnapshot = loadCharterContextSnapshot;
|
|
48
49
|
const fs = __importStar(require("node:fs"));
|
|
49
50
|
const path = __importStar(require("node:path"));
|
|
50
51
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -52,6 +53,7 @@ const zod_1 = require("zod");
|
|
|
52
53
|
const adf_1 = require("@stackbilt/adf");
|
|
53
54
|
const blast_1 = require("@stackbilt/blast");
|
|
54
55
|
const context_1 = require("./context");
|
|
56
|
+
const context_refresh_1 = require("./context-refresh");
|
|
55
57
|
const surface_1 = require("@stackbilt/surface");
|
|
56
58
|
const index_1 = require("../index");
|
|
57
59
|
const flags_1 = require("../flags");
|
|
@@ -60,6 +62,12 @@ const blast_2 = require("./blast");
|
|
|
60
62
|
// Constants
|
|
61
63
|
// ============================================================================
|
|
62
64
|
const DEFAULT_PORT = 3847;
|
|
65
|
+
const CONTEXT_SOURCE_SET = new Set(['git', 'github']);
|
|
66
|
+
const CharterContextInputSchema = zod_1.z.object({
|
|
67
|
+
refresh: zod_1.z.boolean().optional().describe('If true, refresh context before reading by running context-refresh.'),
|
|
68
|
+
sources: zod_1.z.array(zod_1.z.enum(['git', 'github'])).optional().describe('Optional source override used only when refresh=true (for example ["git","github"]).'),
|
|
69
|
+
ttlMinutes: zod_1.z.number().optional().describe('Optional TTL override used only when refresh=true.'),
|
|
70
|
+
});
|
|
63
71
|
// ============================================================================
|
|
64
72
|
// Command Entry
|
|
65
73
|
// ============================================================================
|
|
@@ -96,7 +104,7 @@ async function serveCommand(options, args) {
|
|
|
96
104
|
name: projectName,
|
|
97
105
|
version: '1.0.0',
|
|
98
106
|
});
|
|
99
|
-
registerTools(server, aiDir);
|
|
107
|
+
registerTools(server, aiDir, options);
|
|
100
108
|
registerResources(server, aiDir);
|
|
101
109
|
if (options.format !== 'json') {
|
|
102
110
|
process.stderr.write(`charter serve: ${projectName} — stdio transport ready\n`);
|
|
@@ -109,7 +117,25 @@ async function serveCommand(options, args) {
|
|
|
109
117
|
// ============================================================================
|
|
110
118
|
// Tool Registration
|
|
111
119
|
// ============================================================================
|
|
112
|
-
function registerTools(server, aiDir) {
|
|
120
|
+
function registerTools(server, aiDir, options) {
|
|
121
|
+
server.registerTool('charter_context', {
|
|
122
|
+
description: 'Returns the current `.ai/context.snapshot.json` payload as structured JSON. Set refresh=true to run `charter context-refresh` first, then return the refreshed snapshot.',
|
|
123
|
+
inputSchema: CharterContextInputSchema.shape,
|
|
124
|
+
}, async (rawInput) => {
|
|
125
|
+
try {
|
|
126
|
+
const input = CharterContextInputSchema.parse(rawInput ?? {});
|
|
127
|
+
const result = await loadCharterContextSnapshot(options, aiDir, input);
|
|
128
|
+
return {
|
|
129
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
return {
|
|
134
|
+
content: [{ type: 'text', text: `Error: ${err instanceof Error ? err.message : String(err)}` }],
|
|
135
|
+
isError: true,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
});
|
|
113
139
|
server.registerTool('getProjectContext', {
|
|
114
140
|
description: 'Returns the ADF bundle for this project — constraints, context, and advisory rules loaded for the given task or trigger keywords.',
|
|
115
141
|
inputSchema: { task: zod_1.z.string().optional().describe('Task description or trigger keywords to load on-demand modules') },
|
|
@@ -499,4 +525,45 @@ function inferProjectName(aiDir) {
|
|
|
499
525
|
// Fall back to directory name
|
|
500
526
|
return path.basename(process.cwd());
|
|
501
527
|
}
|
|
528
|
+
async function loadCharterContextSnapshot(options, aiDir, input) {
|
|
529
|
+
const refresh = input?.refresh ?? false;
|
|
530
|
+
const snapshotPathAbs = path.join(aiDir, 'context.snapshot.json');
|
|
531
|
+
const snapshotPathRel = path.relative(process.cwd(), snapshotPathAbs);
|
|
532
|
+
if (refresh) {
|
|
533
|
+
const args = ['--ai-dir', aiDir];
|
|
534
|
+
if (input?.sources && input.sources.length > 0) {
|
|
535
|
+
// Defensive guard: this helper is exported and may be called from plain JS.
|
|
536
|
+
const invalid = input.sources.filter((entry) => !CONTEXT_SOURCE_SET.has(entry));
|
|
537
|
+
if (invalid.length > 0) {
|
|
538
|
+
throw new index_1.CLIError(`Invalid sources: ${invalid.join(', ')}. Supported: git, github.`);
|
|
539
|
+
}
|
|
540
|
+
args.push('--sources', input.sources.join(','));
|
|
541
|
+
}
|
|
542
|
+
if (input?.ttlMinutes !== undefined) {
|
|
543
|
+
if (!Number.isFinite(input.ttlMinutes) || input.ttlMinutes <= 0) {
|
|
544
|
+
throw new index_1.CLIError(`Invalid ttlMinutes: ${input.ttlMinutes}. Must be a positive number.`);
|
|
545
|
+
}
|
|
546
|
+
args.push('--ttl-minutes', String(Math.floor(input.ttlMinutes)));
|
|
547
|
+
}
|
|
548
|
+
const exitCode = await (0, context_refresh_1.contextRefreshCommand)({ ...options, format: 'json' }, args, { log: () => { } });
|
|
549
|
+
if (exitCode !== index_1.EXIT_CODE.SUCCESS) {
|
|
550
|
+
throw new index_1.CLIError(`context-refresh exited with code ${exitCode}`);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
if (!fs.existsSync(snapshotPathAbs)) {
|
|
554
|
+
throw new index_1.CLIError(`Context snapshot not found at ${snapshotPathRel}. Run \`charter context-refresh\` or call charter_context with refresh=true.`);
|
|
555
|
+
}
|
|
556
|
+
let snapshot;
|
|
557
|
+
try {
|
|
558
|
+
snapshot = JSON.parse(fs.readFileSync(snapshotPathAbs, 'utf-8'));
|
|
559
|
+
}
|
|
560
|
+
catch (err) {
|
|
561
|
+
throw new index_1.CLIError(`Failed to parse context snapshot at ${snapshotPathRel}: ${err instanceof Error ? err.message : String(err)}`);
|
|
562
|
+
}
|
|
563
|
+
return {
|
|
564
|
+
refreshed: refresh,
|
|
565
|
+
snapshotPath: snapshotPathRel,
|
|
566
|
+
snapshot,
|
|
567
|
+
};
|
|
568
|
+
}
|
|
502
569
|
//# sourceMappingURL=serve.js.map
|