digital-tasks 2.0.1
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/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +10 -0
- package/dist/function-task.d.ts +319 -0
- package/dist/function-task.d.ts.map +1 -0
- package/dist/function-task.js +286 -0
- package/dist/function-task.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +112 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +510 -0
- package/dist/markdown.js.map +1 -0
- package/dist/project.d.ts +259 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +397 -0
- package/dist/project.js.map +1 -0
- package/dist/queue.d.ts +17 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +347 -0
- package/dist/queue.js.map +1 -0
- package/dist/task.d.ts +69 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +321 -0
- package/dist/task.js.map +1 -0
- package/dist/types.d.ts +292 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -0
- package/src/index.ts +161 -0
- package/src/markdown.ts +622 -0
- package/src/project.ts +571 -0
- package/src/queue.ts +424 -0
- package/src/task.ts +389 -0
- package/src/types.ts +403 -0
- package/test/markdown.test.ts +550 -0
- package/test/project.test.ts +562 -0
- package/test/queue.test.ts +482 -0
- package/test/task.test.ts +464 -0
- package/tsconfig.json +20 -0
package/dist/queue.js
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Queue - In-memory task queue implementation
|
|
3
|
+
*
|
|
4
|
+
* Provides task queuing, assignment, and execution management.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Priority values for sorting
|
|
10
|
+
*/
|
|
11
|
+
const priorityOrder = {
|
|
12
|
+
critical: 5,
|
|
13
|
+
urgent: 4,
|
|
14
|
+
high: 3,
|
|
15
|
+
normal: 2,
|
|
16
|
+
low: 1,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* In-memory task queue implementation
|
|
20
|
+
*/
|
|
21
|
+
class InMemoryTaskQueue {
|
|
22
|
+
tasks = new Map();
|
|
23
|
+
options;
|
|
24
|
+
constructor(options = {}) {
|
|
25
|
+
this.options = {
|
|
26
|
+
name: 'default',
|
|
27
|
+
concurrency: 10,
|
|
28
|
+
defaultTimeout: 5 * 60 * 1000, // 5 minutes
|
|
29
|
+
persistent: false,
|
|
30
|
+
...options,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async add(task) {
|
|
34
|
+
// Add created event
|
|
35
|
+
const event = {
|
|
36
|
+
id: `evt_${Date.now()}`,
|
|
37
|
+
type: 'created',
|
|
38
|
+
timestamp: new Date(),
|
|
39
|
+
message: `Task created: ${task.function.name}`,
|
|
40
|
+
};
|
|
41
|
+
const taskWithEvent = {
|
|
42
|
+
...task,
|
|
43
|
+
events: [...(task.events || []), event],
|
|
44
|
+
};
|
|
45
|
+
this.tasks.set(task.id, taskWithEvent);
|
|
46
|
+
}
|
|
47
|
+
async get(id) {
|
|
48
|
+
return this.tasks.get(id);
|
|
49
|
+
}
|
|
50
|
+
async update(id, options) {
|
|
51
|
+
const task = this.tasks.get(id);
|
|
52
|
+
if (!task)
|
|
53
|
+
return undefined;
|
|
54
|
+
const events = [...(task.events || [])];
|
|
55
|
+
// Add event if provided
|
|
56
|
+
if (options.event) {
|
|
57
|
+
events.push({
|
|
58
|
+
...options.event,
|
|
59
|
+
id: `evt_${Date.now()}`,
|
|
60
|
+
timestamp: new Date(),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
// Add status change event
|
|
64
|
+
if (options.status && options.status !== task.status) {
|
|
65
|
+
events.push({
|
|
66
|
+
id: `evt_${Date.now()}_status`,
|
|
67
|
+
type: options.status === 'completed' ? 'completed' :
|
|
68
|
+
options.status === 'failed' ? 'failed' :
|
|
69
|
+
options.status === 'in_progress' ? 'started' :
|
|
70
|
+
options.status === 'blocked' ? 'blocked' : 'progress',
|
|
71
|
+
timestamp: new Date(),
|
|
72
|
+
message: `Status changed from ${task.status} to ${options.status}`,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Build progress update if provided
|
|
76
|
+
let progressUpdate = task.progress;
|
|
77
|
+
if (options.progress) {
|
|
78
|
+
progressUpdate = {
|
|
79
|
+
percent: options.progress.percent ?? task.progress?.percent ?? 0,
|
|
80
|
+
step: options.progress.step ?? task.progress?.step,
|
|
81
|
+
totalSteps: options.progress.totalSteps ?? task.progress?.totalSteps,
|
|
82
|
+
currentStep: options.progress.currentStep ?? task.progress?.currentStep,
|
|
83
|
+
estimatedTimeRemaining: options.progress.estimatedTimeRemaining ?? task.progress?.estimatedTimeRemaining,
|
|
84
|
+
updatedAt: new Date(),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const updated = {
|
|
88
|
+
...task,
|
|
89
|
+
...(options.status && { status: options.status }),
|
|
90
|
+
...(options.priority && { priority: options.priority }),
|
|
91
|
+
...(options.assignment && { assignment: options.assignment }),
|
|
92
|
+
...(progressUpdate && { progress: progressUpdate }),
|
|
93
|
+
...(options.metadata && {
|
|
94
|
+
metadata: { ...task.metadata, ...options.metadata },
|
|
95
|
+
}),
|
|
96
|
+
events,
|
|
97
|
+
};
|
|
98
|
+
this.tasks.set(id, updated);
|
|
99
|
+
return updated;
|
|
100
|
+
}
|
|
101
|
+
async remove(id) {
|
|
102
|
+
return this.tasks.delete(id);
|
|
103
|
+
}
|
|
104
|
+
async query(options) {
|
|
105
|
+
let results = Array.from(this.tasks.values());
|
|
106
|
+
// Filter by status
|
|
107
|
+
if (options.status) {
|
|
108
|
+
const statuses = Array.isArray(options.status) ? options.status : [options.status];
|
|
109
|
+
results = results.filter((t) => statuses.includes(t.status));
|
|
110
|
+
}
|
|
111
|
+
// Filter by priority
|
|
112
|
+
if (options.priority) {
|
|
113
|
+
const priorities = Array.isArray(options.priority) ? options.priority : [options.priority];
|
|
114
|
+
results = results.filter((t) => priorities.includes(t.priority));
|
|
115
|
+
}
|
|
116
|
+
// Filter by function type
|
|
117
|
+
if (options.functionType) {
|
|
118
|
+
results = results.filter((t) => t.function.type === options.functionType);
|
|
119
|
+
}
|
|
120
|
+
// Filter by assigned worker
|
|
121
|
+
if (options.assignedTo) {
|
|
122
|
+
results = results.filter((t) => t.assignment?.worker.id === options.assignedTo);
|
|
123
|
+
}
|
|
124
|
+
// Filter by tags
|
|
125
|
+
if (options.tags && options.tags.length > 0) {
|
|
126
|
+
results = results.filter((t) => t.tags && options.tags.some((tag) => t.tags.includes(tag)));
|
|
127
|
+
}
|
|
128
|
+
// Filter by project
|
|
129
|
+
if (options.projectId) {
|
|
130
|
+
results = results.filter((t) => t.projectId === options.projectId);
|
|
131
|
+
}
|
|
132
|
+
// Filter by parent
|
|
133
|
+
if (options.parentId) {
|
|
134
|
+
results = results.filter((t) => t.parentId === options.parentId);
|
|
135
|
+
}
|
|
136
|
+
// Text search
|
|
137
|
+
if (options.search) {
|
|
138
|
+
const search = options.search.toLowerCase();
|
|
139
|
+
results = results.filter((t) => t.function.name.toLowerCase().includes(search) ||
|
|
140
|
+
t.function.description?.toLowerCase().includes(search));
|
|
141
|
+
}
|
|
142
|
+
// Sort
|
|
143
|
+
if (options.sortBy) {
|
|
144
|
+
results.sort((a, b) => {
|
|
145
|
+
let aVal;
|
|
146
|
+
let bVal;
|
|
147
|
+
switch (options.sortBy) {
|
|
148
|
+
case 'createdAt':
|
|
149
|
+
aVal = a.createdAt.getTime();
|
|
150
|
+
bVal = b.createdAt.getTime();
|
|
151
|
+
break;
|
|
152
|
+
case 'priority':
|
|
153
|
+
aVal = priorityOrder[a.priority];
|
|
154
|
+
bVal = priorityOrder[b.priority];
|
|
155
|
+
break;
|
|
156
|
+
case 'deadline':
|
|
157
|
+
aVal = a.deadline?.getTime() || Infinity;
|
|
158
|
+
bVal = b.deadline?.getTime() || Infinity;
|
|
159
|
+
break;
|
|
160
|
+
case 'status':
|
|
161
|
+
aVal = a.status.charCodeAt(0);
|
|
162
|
+
bVal = b.status.charCodeAt(0);
|
|
163
|
+
break;
|
|
164
|
+
default:
|
|
165
|
+
return 0;
|
|
166
|
+
}
|
|
167
|
+
return options.sortOrder === 'desc' ? bVal - aVal : aVal - bVal;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
// Pagination
|
|
171
|
+
const offset = options.offset ?? 0;
|
|
172
|
+
const limit = options.limit ?? results.length;
|
|
173
|
+
results = results.slice(offset, offset + limit);
|
|
174
|
+
return results;
|
|
175
|
+
}
|
|
176
|
+
async getNextForWorker(worker) {
|
|
177
|
+
// Get queued tasks sorted by priority, then by deadline
|
|
178
|
+
const queuedTasks = await this.query({
|
|
179
|
+
status: ['pending', 'queued'],
|
|
180
|
+
sortBy: 'priority',
|
|
181
|
+
sortOrder: 'desc',
|
|
182
|
+
});
|
|
183
|
+
// Find first task the worker can handle
|
|
184
|
+
for (const task of queuedTasks) {
|
|
185
|
+
// Check if worker type is allowed
|
|
186
|
+
if (task.allowedWorkers && !task.allowedWorkers.includes(worker.type) && !task.allowedWorkers.includes('any')) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
// Note: Could check worker skills against task requirements in the future
|
|
190
|
+
// Check if task is scheduled for later
|
|
191
|
+
if (task.scheduledFor && task.scheduledFor > new Date()) {
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
// Check dependencies
|
|
195
|
+
if (task.dependencies && task.dependencies.length > 0) {
|
|
196
|
+
const unblockedDeps = task.dependencies.filter((d) => d.type === 'blocked_by' && !d.satisfied);
|
|
197
|
+
if (unblockedDeps.length > 0) {
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return task;
|
|
202
|
+
}
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
async claim(taskId, worker) {
|
|
206
|
+
const task = await this.get(taskId);
|
|
207
|
+
if (!task)
|
|
208
|
+
return false;
|
|
209
|
+
// Check if already assigned
|
|
210
|
+
if (task.assignment) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
// Update task with assignment
|
|
214
|
+
await this.update(taskId, {
|
|
215
|
+
status: 'assigned',
|
|
216
|
+
assignment: {
|
|
217
|
+
worker,
|
|
218
|
+
assignedAt: new Date(),
|
|
219
|
+
},
|
|
220
|
+
event: {
|
|
221
|
+
type: 'assigned',
|
|
222
|
+
actor: worker,
|
|
223
|
+
message: `Assigned to ${worker.name || worker.id}`,
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
async complete(taskId, output) {
|
|
229
|
+
const task = await this.get(taskId);
|
|
230
|
+
if (!task)
|
|
231
|
+
return;
|
|
232
|
+
await this.update(taskId, {
|
|
233
|
+
status: 'completed',
|
|
234
|
+
event: {
|
|
235
|
+
type: 'completed',
|
|
236
|
+
actor: task.assignment?.worker,
|
|
237
|
+
message: 'Task completed successfully',
|
|
238
|
+
data: { output },
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
// Update task output separately since it's not in UpdateTaskOptions
|
|
242
|
+
const updated = await this.get(taskId);
|
|
243
|
+
if (updated) {
|
|
244
|
+
this.tasks.set(taskId, {
|
|
245
|
+
...updated,
|
|
246
|
+
output: {
|
|
247
|
+
value: output,
|
|
248
|
+
producedAt: new Date(),
|
|
249
|
+
},
|
|
250
|
+
completedAt: new Date(),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
// Satisfy dependencies in other tasks
|
|
254
|
+
for (const [, otherTask] of this.tasks) {
|
|
255
|
+
if (otherTask.dependencies) {
|
|
256
|
+
const hasDep = otherTask.dependencies.find((d) => d.taskId === taskId && d.type === 'blocked_by');
|
|
257
|
+
if (hasDep) {
|
|
258
|
+
const updatedDeps = otherTask.dependencies.map((d) => d.taskId === taskId ? { ...d, satisfied: true } : d);
|
|
259
|
+
this.tasks.set(otherTask.id, {
|
|
260
|
+
...otherTask,
|
|
261
|
+
dependencies: updatedDeps,
|
|
262
|
+
});
|
|
263
|
+
// Unblock if all dependencies satisfied
|
|
264
|
+
const allSatisfied = updatedDeps.filter((d) => d.type === 'blocked_by').every((d) => d.satisfied);
|
|
265
|
+
if (allSatisfied && otherTask.status === 'blocked') {
|
|
266
|
+
await this.update(otherTask.id, {
|
|
267
|
+
status: 'queued',
|
|
268
|
+
event: {
|
|
269
|
+
type: 'unblocked',
|
|
270
|
+
message: 'All dependencies satisfied',
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
async fail(taskId, error) {
|
|
279
|
+
const task = await this.get(taskId);
|
|
280
|
+
if (!task)
|
|
281
|
+
return;
|
|
282
|
+
await this.update(taskId, {
|
|
283
|
+
status: 'failed',
|
|
284
|
+
event: {
|
|
285
|
+
type: 'failed',
|
|
286
|
+
actor: task.assignment?.worker,
|
|
287
|
+
message: `Task failed: ${error}`,
|
|
288
|
+
data: { error },
|
|
289
|
+
},
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
async stats() {
|
|
293
|
+
const tasks = Array.from(this.tasks.values());
|
|
294
|
+
const byStatus = {
|
|
295
|
+
pending: 0,
|
|
296
|
+
queued: 0,
|
|
297
|
+
assigned: 0,
|
|
298
|
+
in_progress: 0,
|
|
299
|
+
blocked: 0,
|
|
300
|
+
review: 0,
|
|
301
|
+
completed: 0,
|
|
302
|
+
failed: 0,
|
|
303
|
+
cancelled: 0,
|
|
304
|
+
};
|
|
305
|
+
const byPriority = {
|
|
306
|
+
low: 0,
|
|
307
|
+
normal: 0,
|
|
308
|
+
high: 0,
|
|
309
|
+
urgent: 0,
|
|
310
|
+
critical: 0,
|
|
311
|
+
};
|
|
312
|
+
let totalWaitTime = 0;
|
|
313
|
+
let waitTimeCount = 0;
|
|
314
|
+
let totalCompletionTime = 0;
|
|
315
|
+
let completionTimeCount = 0;
|
|
316
|
+
for (const task of tasks) {
|
|
317
|
+
byStatus[task.status]++;
|
|
318
|
+
byPriority[task.priority]++;
|
|
319
|
+
if (task.startedAt && task.createdAt) {
|
|
320
|
+
totalWaitTime += task.startedAt.getTime() - task.createdAt.getTime();
|
|
321
|
+
waitTimeCount++;
|
|
322
|
+
}
|
|
323
|
+
if (task.completedAt && task.startedAt) {
|
|
324
|
+
totalCompletionTime += task.completedAt.getTime() - task.startedAt.getTime();
|
|
325
|
+
completionTimeCount++;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return {
|
|
329
|
+
total: tasks.length,
|
|
330
|
+
byStatus,
|
|
331
|
+
byPriority,
|
|
332
|
+
avgWaitTime: waitTimeCount > 0 ? totalWaitTime / waitTimeCount : undefined,
|
|
333
|
+
avgCompletionTime: completionTimeCount > 0 ? totalCompletionTime / completionTimeCount : undefined,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Global task queue instance
|
|
339
|
+
*/
|
|
340
|
+
export const taskQueue = new InMemoryTaskQueue();
|
|
341
|
+
/**
|
|
342
|
+
* Create a new task queue instance
|
|
343
|
+
*/
|
|
344
|
+
export function createTaskQueue(options) {
|
|
345
|
+
return new InMemoryTaskQueue(options);
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/task.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task - Core task creation and management functions
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import type { Task, AnyTask, CreateTaskOptions, WorkerRef, TaskResult } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Create a new task from a function definition
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const task = await createTask({
|
|
13
|
+
* function: {
|
|
14
|
+
* type: 'generative',
|
|
15
|
+
* name: 'summarize',
|
|
16
|
+
* args: { text: 'The text to summarize' },
|
|
17
|
+
* output: 'string',
|
|
18
|
+
* promptTemplate: 'Summarize: {{text}}',
|
|
19
|
+
* },
|
|
20
|
+
* input: { text: 'Long article content...' },
|
|
21
|
+
* priority: 'high',
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function createTask<TInput = unknown, TOutput = unknown>(options: CreateTaskOptions<TInput, TOutput>): Promise<Task<TInput, TOutput>>;
|
|
26
|
+
/**
|
|
27
|
+
* Get a task by ID
|
|
28
|
+
*/
|
|
29
|
+
export declare function getTask(id: string): Promise<AnyTask | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* Start working on a task
|
|
32
|
+
*/
|
|
33
|
+
export declare function startTask(taskId: string, worker: WorkerRef): Promise<AnyTask | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Update task progress
|
|
36
|
+
*/
|
|
37
|
+
export declare function updateProgress(taskId: string, percent: number, step?: string): Promise<AnyTask | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Complete a task with output
|
|
40
|
+
*/
|
|
41
|
+
export declare function completeTask<TOutput>(taskId: string, output: TOutput): Promise<TaskResult<TOutput>>;
|
|
42
|
+
/**
|
|
43
|
+
* Fail a task with error
|
|
44
|
+
*/
|
|
45
|
+
export declare function failTask(taskId: string, error: string | Error): Promise<TaskResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Cancel a task
|
|
48
|
+
*/
|
|
49
|
+
export declare function cancelTask(taskId: string, reason?: string): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Add a comment to a task
|
|
52
|
+
*/
|
|
53
|
+
export declare function addComment(taskId: string, comment: string, author?: WorkerRef): Promise<AnyTask | undefined>;
|
|
54
|
+
/**
|
|
55
|
+
* Create a subtask
|
|
56
|
+
*/
|
|
57
|
+
export declare function createSubtask<TInput = unknown, TOutput = unknown>(parentTaskId: string, options: Omit<CreateTaskOptions<TInput, TOutput>, 'parentId'>): Promise<Task<TInput, TOutput>>;
|
|
58
|
+
/**
|
|
59
|
+
* Get subtasks of a task
|
|
60
|
+
*/
|
|
61
|
+
export declare function getSubtasks(parentTaskId: string): Promise<AnyTask[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Wait for a task to complete
|
|
64
|
+
*/
|
|
65
|
+
export declare function waitForTask(taskId: string, options?: {
|
|
66
|
+
timeout?: number;
|
|
67
|
+
pollInterval?: number;
|
|
68
|
+
}): Promise<TaskResult>;
|
|
69
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,IAAI,EACJ,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,UAAU,EAEX,MAAM,YAAY,CAAA;AAUnB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoEhC;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAEtE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAmB9B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAa9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CA4B9B;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,KAAK,GACpB,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAQ9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EACrE,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKhC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,UAAU,CAAC,CA6ErB"}
|