@workflow/builders 4.0.1-beta.5 → 4.0.1-beta.50
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/apply-swc-transform.d.ts +14 -4
- package/dist/apply-swc-transform.d.ts.map +1 -1
- package/dist/apply-swc-transform.js +59 -9
- package/dist/apply-swc-transform.js.map +1 -1
- package/dist/base-builder.d.ts +65 -22
- package/dist/base-builder.d.ts.map +1 -1
- package/dist/base-builder.js +438 -115
- package/dist/base-builder.js.map +1 -1
- package/dist/build-queue.d.ts +18 -0
- package/dist/build-queue.d.ts.map +1 -0
- package/dist/build-queue.js +26 -0
- package/dist/build-queue.js.map +1 -0
- package/dist/config-helpers.d.ts +31 -0
- package/dist/config-helpers.d.ts.map +1 -1
- package/dist/config-helpers.js +60 -0
- package/dist/config-helpers.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/discover-entries-esbuild-plugin.d.ts +2 -3
- package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
- package/dist/discover-entries-esbuild-plugin.js +57 -26
- package/dist/discover-entries-esbuild-plugin.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/module-specifier.d.ts +85 -0
- package/dist/module-specifier.d.ts.map +1 -0
- package/dist/module-specifier.js +437 -0
- package/dist/module-specifier.js.map +1 -0
- package/dist/module-specifier.test.d.ts +2 -0
- package/dist/module-specifier.test.d.ts.map +1 -0
- package/dist/module-specifier.test.js +169 -0
- package/dist/module-specifier.test.js.map +1 -0
- package/dist/node-module-esbuild-plugin.d.ts +37 -0
- package/dist/node-module-esbuild-plugin.d.ts.map +1 -1
- package/dist/node-module-esbuild-plugin.js +289 -9
- package/dist/node-module-esbuild-plugin.js.map +1 -1
- package/dist/node-module-esbuild-plugin.test.js +359 -88
- package/dist/node-module-esbuild-plugin.test.js.map +1 -1
- package/dist/pseudo-package-esbuild-plugin.d.ts +20 -0
- package/dist/pseudo-package-esbuild-plugin.d.ts.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.js +47 -0
- package/dist/pseudo-package-esbuild-plugin.js.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.test.d.ts +2 -0
- package/dist/pseudo-package-esbuild-plugin.test.d.ts.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.test.js +315 -0
- package/dist/pseudo-package-esbuild-plugin.test.js.map +1 -0
- package/dist/request-converter.d.ts +3 -0
- package/dist/request-converter.d.ts.map +1 -0
- package/dist/request-converter.js +14 -0
- package/dist/request-converter.js.map +1 -0
- package/dist/standalone.d.ts +3 -0
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +37 -13
- package/dist/standalone.js.map +1 -1
- package/dist/swc-esbuild-plugin.d.ts +0 -2
- package/dist/swc-esbuild-plugin.d.ts.map +1 -1
- package/dist/swc-esbuild-plugin.js +33 -15
- package/dist/swc-esbuild-plugin.js.map +1 -1
- package/dist/transform-utils.d.ts +68 -0
- package/dist/transform-utils.d.ts.map +1 -0
- package/dist/transform-utils.js +97 -0
- package/dist/transform-utils.js.map +1 -0
- package/dist/transform-utils.test.d.ts +2 -0
- package/dist/transform-utils.test.d.ts.map +1 -0
- package/dist/transform-utils.test.js +266 -0
- package/dist/transform-utils.test.js.map +1 -0
- package/dist/types.d.ts +26 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/dist/vercel-build-output-api.d.ts.map +1 -1
- package/dist/vercel-build-output-api.js +36 -14
- package/dist/vercel-build-output-api.js.map +1 -1
- package/dist/workflow-alias.d.ts +3 -0
- package/dist/workflow-alias.d.ts.map +1 -0
- package/dist/workflow-alias.js +46 -0
- package/dist/workflow-alias.js.map +1 -0
- package/dist/workflow-alias.test.d.ts +2 -0
- package/dist/workflow-alias.test.d.ts.map +1 -0
- package/dist/workflow-alias.test.js +46 -0
- package/dist/workflow-alias.test.js.map +1 -0
- package/dist/workflows-extractor.d.ts +92 -0
- package/dist/workflows-extractor.d.ts.map +1 -0
- package/dist/workflows-extractor.js +1476 -0
- package/dist/workflows-extractor.js.map +1 -0
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-build-output-api.js","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"vercel-build-output-api.js","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-alias.d.ts","sourceRoot":"","sources":["../src/workflow-alias.ts"],"names":[],"mappings":"AAQA,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAED,wBAAsB,gCAAgC,CACpD,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgD7B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { access, realpath } from 'node:fs/promises';
|
|
2
|
+
import { basename, resolve } from 'node:path';
|
|
3
|
+
const workflowAliasResolutionCache = new Map();
|
|
4
|
+
export function clearWorkflowAliasResolutionCache() {
|
|
5
|
+
workflowAliasResolutionCache.clear();
|
|
6
|
+
}
|
|
7
|
+
export async function resolveWorkflowAliasRelativePath(absoluteFilePath, workingDir) {
|
|
8
|
+
const normalizedAbsolutePath = absoluteFilePath.replace(/\\/g, '/');
|
|
9
|
+
// Only workflow source files can map to app-level `workflows/*` aliases.
|
|
10
|
+
if (!normalizedAbsolutePath.includes('/workflows/')) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const cacheKey = `${workingDir}::${normalizedAbsolutePath}`;
|
|
14
|
+
const cached = workflowAliasResolutionCache.get(cacheKey);
|
|
15
|
+
if (cached) {
|
|
16
|
+
return cached;
|
|
17
|
+
}
|
|
18
|
+
const resolutionPromise = (async () => {
|
|
19
|
+
const fileName = basename(absoluteFilePath);
|
|
20
|
+
const aliasDirs = ['workflows', 'src/workflows'];
|
|
21
|
+
const resolvedFilePath = await realpath(absoluteFilePath).catch(() => undefined);
|
|
22
|
+
if (!resolvedFilePath) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const aliases = await Promise.all(aliasDirs.map(async (aliasDir) => {
|
|
26
|
+
const candidatePath = resolve(workingDir, aliasDir, fileName);
|
|
27
|
+
try {
|
|
28
|
+
await access(candidatePath);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const resolvedCandidatePath = await realpath(candidatePath).catch(() => undefined);
|
|
34
|
+
if (!resolvedCandidatePath) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return resolvedCandidatePath === resolvedFilePath
|
|
38
|
+
? `${aliasDir}/${fileName}`
|
|
39
|
+
: undefined;
|
|
40
|
+
}));
|
|
41
|
+
return aliases.find((aliasPath) => Boolean(aliasPath));
|
|
42
|
+
})();
|
|
43
|
+
workflowAliasResolutionCache.set(cacheKey, resolutionPromise);
|
|
44
|
+
return resolutionPromise;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=workflow-alias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-alias.js","sourceRoot":"","sources":["../src/workflow-alias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAGzC,CAAC;AAEJ,MAAM,UAAU,iCAAiC;IAC/C,4BAA4B,CAAC,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,gBAAwB,EACxB,UAAkB;IAElB,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpE,yEAAyE;IACzE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,UAAU,KAAK,sBAAsB,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAC7D,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAC/D,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,qBAAqB,KAAK,gBAAgB;gBAC/C,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE;gBAC3B,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,EAAE,CAAC;IAEL,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-alias.test.d.ts","sourceRoot":"","sources":["../src/workflow-alias.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
5
|
+
import { clearWorkflowAliasResolutionCache, resolveWorkflowAliasRelativePath, } from './workflow-alias.js';
|
|
6
|
+
function writeFile(path) {
|
|
7
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
8
|
+
writeFileSync(path, "'use workflow';\n", 'utf-8');
|
|
9
|
+
}
|
|
10
|
+
describe('resolveWorkflowAliasRelativePath', () => {
|
|
11
|
+
let testRoot;
|
|
12
|
+
let workingDir;
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
clearWorkflowAliasResolutionCache();
|
|
15
|
+
testRoot = mkdtempSync(join(tmpdir(), 'workflow-alias-'));
|
|
16
|
+
workingDir = join(testRoot, 'app');
|
|
17
|
+
mkdirSync(workingDir, { recursive: true });
|
|
18
|
+
});
|
|
19
|
+
afterEach(() => {
|
|
20
|
+
clearWorkflowAliasResolutionCache();
|
|
21
|
+
rmSync(testRoot, { recursive: true, force: true });
|
|
22
|
+
});
|
|
23
|
+
it('maps files in workflows/ to workflows/* aliases', async () => {
|
|
24
|
+
const filePath = join(workingDir, 'workflows', 'foo.ts');
|
|
25
|
+
writeFile(filePath);
|
|
26
|
+
await expect(resolveWorkflowAliasRelativePath(filePath, workingDir)).resolves.toBe('workflows/foo.ts');
|
|
27
|
+
});
|
|
28
|
+
it('maps files in src/workflows/ to src/workflows/* aliases', async () => {
|
|
29
|
+
const filePath = join(workingDir, 'src', 'workflows', 'foo.ts');
|
|
30
|
+
writeFile(filePath);
|
|
31
|
+
await expect(resolveWorkflowAliasRelativePath(filePath, workingDir)).resolves.toBe('src/workflows/foo.ts');
|
|
32
|
+
});
|
|
33
|
+
it('returns undefined for files that are not under workflows paths', async () => {
|
|
34
|
+
const filePath = join(workingDir, 'lib', 'foo.ts');
|
|
35
|
+
writeFile(filePath);
|
|
36
|
+
await expect(resolveWorkflowAliasRelativePath(filePath, workingDir)).resolves.toBeUndefined();
|
|
37
|
+
});
|
|
38
|
+
it('returns undefined when basename matches but realpath differs', async () => {
|
|
39
|
+
const workflowFilePath = join(workingDir, 'workflows', 'foo.ts');
|
|
40
|
+
const externalFilePath = join(testRoot, 'external', 'workflows', 'foo.ts');
|
|
41
|
+
writeFile(workflowFilePath);
|
|
42
|
+
writeFile(externalFilePath);
|
|
43
|
+
await expect(resolveWorkflowAliasRelativePath(externalFilePath, workingDir)).resolves.toBeUndefined();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=workflow-alias.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-alias.test.js","sourceRoot":"","sources":["../src/workflow-alias.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node metadata for control flow semantics
|
|
3
|
+
*/
|
|
4
|
+
export interface NodeMetadata {
|
|
5
|
+
loopId?: string;
|
|
6
|
+
loopIsAwait?: boolean;
|
|
7
|
+
conditionalId?: string;
|
|
8
|
+
conditionalBranch?: 'Then' | 'Else';
|
|
9
|
+
parallelGroupId?: string;
|
|
10
|
+
parallelMethod?: string;
|
|
11
|
+
/** Step is passed as a reference (callback/tool) rather than directly called */
|
|
12
|
+
isStepReference?: boolean;
|
|
13
|
+
/** Context where the step reference was found (e.g., "tools.getWeather.execute") */
|
|
14
|
+
referenceContext?: string;
|
|
15
|
+
/** This node is a tool step connected to a DurableAgent */
|
|
16
|
+
isTool?: boolean;
|
|
17
|
+
/** The name of the tool (key in tools object) */
|
|
18
|
+
toolName?: string;
|
|
19
|
+
/** This node represents a collection of tools (imported variable) */
|
|
20
|
+
isToolsCollection?: boolean;
|
|
21
|
+
/** The variable name of the tools collection */
|
|
22
|
+
toolsVariable?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Graph node for workflow visualization
|
|
26
|
+
*/
|
|
27
|
+
export interface ManifestNode {
|
|
28
|
+
id: string;
|
|
29
|
+
type: string;
|
|
30
|
+
data: {
|
|
31
|
+
label: string;
|
|
32
|
+
nodeKind: string;
|
|
33
|
+
stepId?: string;
|
|
34
|
+
};
|
|
35
|
+
metadata?: NodeMetadata;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Graph edge for workflow control flow
|
|
39
|
+
*/
|
|
40
|
+
export interface ManifestEdge {
|
|
41
|
+
id: string;
|
|
42
|
+
source: string;
|
|
43
|
+
target: string;
|
|
44
|
+
type: 'default' | 'loop' | 'conditional' | 'parallel' | 'tool';
|
|
45
|
+
label?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Graph data for a single workflow
|
|
49
|
+
*/
|
|
50
|
+
export interface WorkflowGraphData {
|
|
51
|
+
nodes: ManifestNode[];
|
|
52
|
+
edges: ManifestEdge[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Step entry in the manifest
|
|
56
|
+
*/
|
|
57
|
+
export interface ManifestStepEntry {
|
|
58
|
+
stepId: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Workflow entry in the manifest (includes graph data)
|
|
62
|
+
*/
|
|
63
|
+
export interface ManifestWorkflowEntry {
|
|
64
|
+
workflowId: string;
|
|
65
|
+
graph: WorkflowGraphData;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Manifest structure - single source of truth for all workflow metadata
|
|
69
|
+
*/
|
|
70
|
+
export interface Manifest {
|
|
71
|
+
version: string;
|
|
72
|
+
steps: {
|
|
73
|
+
[filePath: string]: {
|
|
74
|
+
[stepName: string]: ManifestStepEntry;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
workflows: {
|
|
78
|
+
[filePath: string]: {
|
|
79
|
+
[workflowName: string]: ManifestWorkflowEntry;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Extracts workflow graphs from a bundled workflow file.
|
|
85
|
+
* Returns workflow entries organized by file path, ready for merging into Manifest.
|
|
86
|
+
*/
|
|
87
|
+
export declare function extractWorkflowGraphs(bundlePath: string): Promise<{
|
|
88
|
+
[filePath: string]: {
|
|
89
|
+
[workflowName: string]: ManifestWorkflowEntry;
|
|
90
|
+
};
|
|
91
|
+
}>;
|
|
92
|
+
//# sourceMappingURL=workflows-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows-extractor.d.ts","sourceRoot":"","sources":["../src/workflows-extractor.ts"],"names":[],"mappings":"AAqIA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAC;SACvC,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,CAAC;SAC/C,CAAC;KACH,CAAC;CACH;AAMD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,CAAC;KAC/C,CAAC;CACH,CAAC,CA8BD"}
|