@anionex/dsh-vision-toolkit 0.1.37 → 0.1.39
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/README.i18n.yaml +2 -2
- package/README.md +13 -42
- package/README.zh.md +12 -41
- package/lib/evidence-cache.js +350 -0
- package/lib/evidence-cache.js.map +1 -0
- package/lib/image-input-variants.js +49 -81
- package/lib/image-input-variants.js.map +1 -1
- package/lib/runtime-install.js +57 -15
- package/lib/runtime-install.js.map +1 -1
- package/lib/runtime.js +18 -1
- package/lib/runtime.js.map +1 -1
- package/lib/types/evidence-cache.d.ts +91 -0
- package/lib/types/evidence-cache.d.ts.map +1 -0
- package/lib/types/image-input-variants.d.ts +8 -26
- package/lib/types/image-input-variants.d.ts.map +1 -1
- package/lib/types/runtime-install.d.ts +13 -0
- package/lib/types/runtime-install.d.ts.map +1 -1
- package/lib/types/runtime.d.ts +10 -0
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/upstream.d.ts.map +1 -1
- package/lib/upstream.js +10 -0
- package/lib/upstream.js.map +1 -1
- package/package.json +4 -2
- package/src/evidence-cache.ts +418 -0
- package/src/image-input-variants.ts +58 -89
- package/src/runtime-install.ts +63 -15
- package/src/runtime.ts +35 -1
- package/src/upstream.ts +10 -0
|
@@ -13,7 +13,9 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
|
13
13
|
import { tmpdir } from 'node:os';
|
|
14
14
|
import { isAbsolute, join, resolve } from 'node:path';
|
|
15
15
|
import { LlmAdapter, contentHasImage } from '@deepseek-ai/dsh-llm';
|
|
16
|
+
import { createEvidenceCacheKey, EvidenceCache, SessionEvidenceStore, } from "./evidence-cache.js";
|
|
16
17
|
import { sessionPasteRoot } from "./paste-images.js";
|
|
18
|
+
export { EvidenceCache } from "./evidence-cache.js";
|
|
17
19
|
/** Provider-id prefix for the variant routes this plugin registers. */
|
|
18
20
|
export const VARIANT_PROVIDER_PREFIX = 'vision-toolkit-';
|
|
19
21
|
/** Display suffix shared by variant provider names and variant model names. */
|
|
@@ -138,63 +140,10 @@ function assistantMessageText(message) {
|
|
|
138
140
|
.filter(text => text.trim().length > 0)
|
|
139
141
|
.join('\n\n');
|
|
140
142
|
}
|
|
141
|
-
function cacheKey(attachmentId, prompt, sessionId) {
|
|
142
|
-
return `${sessionId ?? ''}\u0000${attachmentId}\u0000${prompt}`;
|
|
143
|
-
}
|
|
144
143
|
function contentHasText(blocks, text) {
|
|
145
144
|
return blocks.some(block => (block.type === 'text' && block.text === text)
|
|
146
145
|
|| (block.type === 'tool-result' && contentHasText(block.content, text)));
|
|
147
146
|
}
|
|
148
|
-
/** Bounded promise cache for one attachment's description; failed reads are not retained. */
|
|
149
|
-
export class EvidenceCache {
|
|
150
|
-
limit;
|
|
151
|
-
entries = new Map();
|
|
152
|
-
constructor(limit) {
|
|
153
|
-
this.limit = limit;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Read one attachment-and-prompt key's entry or compute it. Concurrent readers join the in-flight
|
|
157
|
-
* computation; a settled failure is evicted so a fixed configuration gets a
|
|
158
|
-
* fresh chance.
|
|
159
|
-
* @param key - the attachment identity plus the exact focus prompt.
|
|
160
|
-
* @param load - computes the description; must resolve `{ ok, block }` and never reject.
|
|
161
|
-
* @returns the cached or computed block.
|
|
162
|
-
*/
|
|
163
|
-
read(key, load) {
|
|
164
|
-
const existing = this.entries.get(key);
|
|
165
|
-
if (existing !== undefined) {
|
|
166
|
-
// Refresh recency: Map iteration order is insertion order.
|
|
167
|
-
this.entries.delete(key);
|
|
168
|
-
this.entries.set(key, existing);
|
|
169
|
-
return existing;
|
|
170
|
-
}
|
|
171
|
-
const pending = load().then((result) => {
|
|
172
|
-
// Only evict our own entry: this promise may have been LRU-evicted and
|
|
173
|
-
// the key re-populated by a newer read meanwhile.
|
|
174
|
-
if (!result.ok && this.entries.get(key) === pending) {
|
|
175
|
-
this.entries.delete(key);
|
|
176
|
-
}
|
|
177
|
-
return result.block;
|
|
178
|
-
}, (error) => {
|
|
179
|
-
if (this.entries.get(key) === pending) {
|
|
180
|
-
this.entries.delete(key);
|
|
181
|
-
}
|
|
182
|
-
throw error;
|
|
183
|
-
});
|
|
184
|
-
this.entries.set(key, pending);
|
|
185
|
-
while (this.entries.size > this.limit) {
|
|
186
|
-
const oldest = this.entries.keys().next().value;
|
|
187
|
-
if (oldest === undefined)
|
|
188
|
-
break;
|
|
189
|
-
this.entries.delete(oldest);
|
|
190
|
-
}
|
|
191
|
-
return pending;
|
|
192
|
-
}
|
|
193
|
-
/** Drop every cached description (runtime reconfiguration invalidates provider-specific reads). */
|
|
194
|
-
clear() {
|
|
195
|
-
this.entries.clear();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
147
|
/**
|
|
199
148
|
* Wait on a shared promise without inheriting its lifetime: the caller's
|
|
200
149
|
* abort rejects this wait immediately, while the underlying read keeps
|
|
@@ -309,24 +258,24 @@ function createLimiter(limit) {
|
|
|
309
258
|
}
|
|
310
259
|
/**
|
|
311
260
|
* Read one image block into a Vision Toolkit description text block. Never
|
|
312
|
-
* throws: failures
|
|
313
|
-
*
|
|
261
|
+
* throws: failures become model-visible explanatory blocks and are cached like
|
|
262
|
+
* successful descriptions so replayed history stays byte-identical.
|
|
314
263
|
* @param ctx - plugin context; reads the optional `attachments` service.
|
|
315
|
-
* @param runtime - the
|
|
264
|
+
* @param runtime - the immutable runtime snapshot captured for this conversion.
|
|
316
265
|
* @param block - the image block to describe.
|
|
317
266
|
* @param query - the exact focus-hinted prompt sent to the vision model.
|
|
318
267
|
* @param sessionId - the live Session identity, used to keep a model-visible copy.
|
|
319
|
-
* @returns the
|
|
268
|
+
* @returns the model-facing replacement block.
|
|
320
269
|
*/
|
|
321
270
|
async function readImageBlock(ctx, runtime, block, query, sessionId) {
|
|
322
271
|
const attachments = ctx.get('attachments');
|
|
323
272
|
const current = runtime();
|
|
324
273
|
if (attachments === undefined) {
|
|
325
|
-
return {
|
|
274
|
+
return { type: 'text', text: `${UNAVAILABLE_PREFIX}the DSH attachment service is not ready] The vision tool is temporarily unavailable; let the user know.` };
|
|
326
275
|
}
|
|
327
276
|
const extension = MEDIA_EXTENSIONS[block.attachment.mediaType];
|
|
328
277
|
if (extension === undefined) {
|
|
329
|
-
return {
|
|
278
|
+
return { type: 'text', text: `${UNAVAILABLE_PREFIX}unsupported image media type ${block.attachment.mediaType}] The vision tool is temporarily unavailable; let the user know.` };
|
|
330
279
|
}
|
|
331
280
|
let temporaryDirectory;
|
|
332
281
|
let pathEvidence = '';
|
|
@@ -340,10 +289,7 @@ async function readImageBlock(ctx, runtime, block, query, sessionId) {
|
|
|
340
289
|
// can still use the path with a later visual-tool call if the bridge is
|
|
341
290
|
// temporarily unavailable on this turn.
|
|
342
291
|
if (current === undefined) {
|
|
343
|
-
return {
|
|
344
|
-
ok: false,
|
|
345
|
-
block: { type: 'text', text: `${pathEvidence}${pathEvidence === '' ? '' : '\n'}${UNAVAILABLE_PREFIX}the Vision Toolkit runtime is not ready] The vision tool is temporarily unavailable; let the user know.` },
|
|
346
|
-
};
|
|
292
|
+
return { type: 'text', text: `${pathEvidence}${pathEvidence === '' ? '' : '\n'}${UNAVAILABLE_PREFIX}the Vision Toolkit runtime is not ready] The vision tool is temporarily unavailable; let the user know.` };
|
|
347
293
|
}
|
|
348
294
|
// A fresh signal on purpose: the cached run must not die with its first
|
|
349
295
|
// caller (their abort used to cancel every concurrent joiner); the runtime
|
|
@@ -352,15 +298,12 @@ async function readImageBlock(ctx, runtime, block, query, sessionId) {
|
|
|
352
298
|
const answer = result.answer.trim();
|
|
353
299
|
if (answer.length === 0)
|
|
354
300
|
throw new Error('the Vision Toolkit returned an empty description');
|
|
355
|
-
return {
|
|
301
|
+
return { type: 'text', text: `${pathEvidence}${pathEvidence === '' ? '' : '\n'}${DESCRIPTION_PREFIX}${answer}` };
|
|
356
302
|
}
|
|
357
303
|
catch (error) {
|
|
358
304
|
return {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
type: 'text',
|
|
362
|
-
text: `${pathEvidence}${pathEvidence === '' ? '' : '\n'}${UNAVAILABLE_PREFIX}${messageOf(error).slice(0, 300)}] The vision tool is temporarily unavailable; let the user know.`,
|
|
363
|
-
},
|
|
305
|
+
type: 'text',
|
|
306
|
+
text: `${pathEvidence}${pathEvidence === '' ? '' : '\n'}${UNAVAILABLE_PREFIX}${messageOf(error).slice(0, 300)}] The vision tool is temporarily unavailable; let the user know.`,
|
|
364
307
|
};
|
|
365
308
|
}
|
|
366
309
|
finally {
|
|
@@ -374,14 +317,22 @@ async function readImageBlock(ctx, runtime, block, query, sessionId) {
|
|
|
374
317
|
* The original messages are returned untouched when nothing carries an image;
|
|
375
318
|
* converted messages are new objects, so the durable request stays immutable.
|
|
376
319
|
* @param ctx - plugin context for the attachments service.
|
|
377
|
-
* @param runtime - the
|
|
378
|
-
* @param cache - shared
|
|
320
|
+
* @param runtime - the immutable runtime snapshot captured for this conversion.
|
|
321
|
+
* @param cache - shared process/durable description cache.
|
|
379
322
|
* @param messages - the assembled request messages.
|
|
380
323
|
* @param signal - the caller's cancellation for this conversion pass.
|
|
381
324
|
* @param sessionId - the live Session identity, when available.
|
|
325
|
+
* @param runtimeHash - stable fingerprint of the vision provider and evidence runtime.
|
|
382
326
|
* @returns the rewritten message list.
|
|
383
327
|
*/
|
|
384
|
-
export async function convertImagesToEvidence(ctx, runtime, cache, messages, signal, sessionId) {
|
|
328
|
+
export async function convertImagesToEvidence(ctx, runtime, cache, messages, signal, sessionId, runtimeHash = 'process-only-runtime') {
|
|
329
|
+
const session = sessionId === undefined ? undefined : ctx.sessions.get(sessionId);
|
|
330
|
+
const sessionIdentity = session === undefined
|
|
331
|
+
? undefined
|
|
332
|
+
: {
|
|
333
|
+
createdAt: session.header.createdAt,
|
|
334
|
+
...(session.header.cwd === undefined ? {} : { cwd: session.header.cwd }),
|
|
335
|
+
};
|
|
385
336
|
const plans = [];
|
|
386
337
|
let lastUserText = '';
|
|
387
338
|
let lastAssistantText = '';
|
|
@@ -426,7 +377,13 @@ export async function convertImagesToEvidence(ctx, runtime, cache, messages, sig
|
|
|
426
377
|
const converted = await Promise.all(plans.map(async ({ message, query }) => {
|
|
427
378
|
if (query === undefined)
|
|
428
379
|
return message;
|
|
429
|
-
const content = await convertBlocks(message.content, (block) => abortableWait(limit(() => cache.read(
|
|
380
|
+
const content = await convertBlocks(message.content, (block) => abortableWait(limit(() => cache.read(createEvidenceCacheKey({
|
|
381
|
+
...(sessionId === undefined ? {} : { sessionId }),
|
|
382
|
+
...(sessionIdentity === undefined ? {} : { sessionIdentity }),
|
|
383
|
+
attachmentId: String(block.attachment.attachmentId),
|
|
384
|
+
prompt: query,
|
|
385
|
+
runtimeHash,
|
|
386
|
+
}), () => readImageBlock(ctx, runtime, block, query, sessionId)), signal), signal));
|
|
430
387
|
return { ...message, content };
|
|
431
388
|
}));
|
|
432
389
|
if (!messages.some(message => contentHasText(message.content, CHANNEL_NOTE))) {
|
|
@@ -456,7 +413,6 @@ export class ImageInputVariantAdapter extends LlmAdapter {
|
|
|
456
413
|
runtime;
|
|
457
414
|
cache;
|
|
458
415
|
hidden;
|
|
459
|
-
lastRuntime;
|
|
460
416
|
constructor(ctx, llm, upstream, upstreamName, runtime, cache, hidden = () => false) {
|
|
461
417
|
super();
|
|
462
418
|
this.ctx = ctx;
|
|
@@ -503,14 +459,23 @@ export class ImageInputVariantAdapter extends LlmAdapter {
|
|
|
503
459
|
};
|
|
504
460
|
}
|
|
505
461
|
async *stream(options) {
|
|
506
|
-
// A reconfigured runtime is a NEW instance; descriptions read through the
|
|
507
|
-
// previous provider must not be replayed for the new one.
|
|
508
462
|
const current = this.runtime();
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
463
|
+
let captured;
|
|
464
|
+
if (current !== undefined && options.messages.some(message => contentHasImage(message.content))) {
|
|
465
|
+
try {
|
|
466
|
+
captured = await current.captureEvidenceRuntime();
|
|
467
|
+
}
|
|
468
|
+
catch (error) {
|
|
469
|
+
// Keep the established graceful-degradation path. The unavailable block
|
|
470
|
+
// is cached under this fallback fingerprint so historical replay stays
|
|
471
|
+
// stable; a later successful credential capture produces a different key.
|
|
472
|
+
captured = Object.freeze({
|
|
473
|
+
evidenceFingerprint: current.evidenceFingerprint,
|
|
474
|
+
glance: async () => { throw error; },
|
|
475
|
+
});
|
|
476
|
+
}
|
|
512
477
|
}
|
|
513
|
-
const messages = await convertImagesToEvidence(this.ctx,
|
|
478
|
+
const messages = await convertImagesToEvidence(this.ctx, () => captured, this.cache, options.messages, options.signal, options.sessionId === undefined ? undefined : String(options.sessionId), captured?.evidenceFingerprint ?? 'process-only-runtime');
|
|
514
479
|
// Delegate through the host service under the upstream route: the variant
|
|
515
480
|
// is a wire-only facade, and the upstream route owns retry and replay.
|
|
516
481
|
yield* this.llm.stream({ ...options, provider: this.upstream, messages });
|
|
@@ -739,6 +704,8 @@ export function createPasteTakeoverResolver(ctx, getConfig) {
|
|
|
739
704
|
* @returns the disposer and a manual re-sweep trigger (settings changes).
|
|
740
705
|
*/
|
|
741
706
|
export function installImageInputVariants(ctx, getConfig, getRuntime) {
|
|
707
|
+
const evidenceStore = new SessionEvidenceStore(ctx);
|
|
708
|
+
const evidenceCache = new EvidenceCache(EVIDENCE_CACHE_LIMIT, evidenceStore);
|
|
742
709
|
const registrations = new Map();
|
|
743
710
|
// The host snapshots adapter provider metadata (including the group display
|
|
744
711
|
// name) at registration time, so a transparent-routing toggle must rebuild
|
|
@@ -868,7 +835,7 @@ export function installImageInputVariants(ctx, getConfig, getRuntime) {
|
|
|
868
835
|
if (disposed)
|
|
869
836
|
return;
|
|
870
837
|
try {
|
|
871
|
-
const dispose = llm.registerAdapter([variantId], new ImageInputVariantAdapter(ctx, llm, upstream, provider.name, getRuntime,
|
|
838
|
+
const dispose = llm.registerAdapter([variantId], new ImageInputVariantAdapter(ctx, llm, upstream, provider.name, getRuntime, evidenceCache, () => getConfig().imageInputVariants.hidden));
|
|
872
839
|
registrations.set(upstream, dispose);
|
|
873
840
|
stale.delete(upstream);
|
|
874
841
|
}
|
|
@@ -894,6 +861,7 @@ export function installImageInputVariants(ctx, getConfig, getRuntime) {
|
|
|
894
861
|
disposed = true;
|
|
895
862
|
clearInterval(timer);
|
|
896
863
|
releaseAll();
|
|
864
|
+
evidenceStore.dispose();
|
|
897
865
|
},
|
|
898
866
|
reconcile: () => { sweep(); },
|
|
899
867
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-input-variants.js","sourceRoot":"","sources":["../src/image-input-variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAErD,OAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAe9E,OAAO,EAAE,gBAAgB,EAA+C,MAAM,mBAAmB,CAAA;AAGjG,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAA;AAEjD,0GAA0G;AAC1G,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAE/B,+DAA+D;AAC/D,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAExC,4EAA4E;AAC5E,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,gBAAgB,GAAqC;IACzD,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,MAAM;CACpB,CAAA;AAED,+EAA+E;AAC/E,MAAM,WAAW,GAAG,0DAA0D,CAAA;AAC9E,MAAM,eAAe,GAAG,mGAAmG,CAAA;AAC3H,MAAM,iBAAiB,GAAG,mFAAmF,CAAA;AAC7G,MAAM,oBAAoB,GAAG,0EAA0E,CAAA;AACvG,MAAM,iBAAiB,GAAG,mCAAmC,CAAA;AAC7D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,6MAA6M;IACnN,SAAS,EAAE,6MAA6M;CAChN,CAAA;AACV,MAAM,YAAY,GAAG,4eAA4e,CAAA;AACjgB,MAAM,kBAAkB,GAAG,6BAA6B,CAAA;AACxD,MAAM,iBAAiB,GAAG,4CAA4C,CAAA;AACtE,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,MAAM,iBAAiB,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,0BAA0B,CAAU,CAAA;AAE/G,8FAA8F;AAC9F,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AAIlD,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,GAAG,uBAAuB,GAAG,QAAQ,EAAE,CAAA;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2C;IACzE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACvF,CAAC;AAED,iGAAiG;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAA;AACvD,CAAC;AASD,KAAK,UAAU,gBAAgB,CAC7B,GAAY,EACZ,KAAiB,EACjB,IAAgB,EAChB,SAAiB,EACjB,SAA6B;IAE7B,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAkB,CAAC,CAAA;IAC1F,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG,CAAA;IAC/B,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;aAClC,MAAM,CAAC,GAAG,SAAS,SAAS,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;aACpE,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAA;QAC1F,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IAC5D,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,SAAS,EAAE,CAAC,CAAA;IAC1D,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AACvF,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClF,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAwB;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAA;IACxD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5B,OAAO,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,KAAK,UAAU,CAAA;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO;SAC1B,MAAM,CAAC,CAAC,KAAK,EAAoD,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;SAC1F,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,CAAA;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,OAAO,OAAO,CAAC,OAAO;SACnB,MAAM,CAAC,CAAC,KAAK,EAAkE,EAAE,CAChF,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;SACrD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACtC,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,YAAoB,EAAE,MAAc,EAAE,SAAkB;IACxE,OAAO,GAAG,SAAS,IAAI,EAAE,SAAS,YAAY,SAAS,MAAM,EAAE,CAAA;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,IAAY;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACzB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;WAC3C,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,6FAA6F;AAC7F,MAAM,OAAO,aAAa;IAGK;IAFZ,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAA;IAEnE,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C;;;;;;;OAOG;IACH,IAAI,CAAC,GAAW,EAAE,IAAyD;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,2DAA2D;YAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC/B,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,IAAI,CACzB,CAAC,MAAM,EAAE,EAAE;YACT,uEAAuE;YACvE,kDAAkD;YAClD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAA;QACrB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC,CACF,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAK;YAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mGAAmG;IACnG,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAI,OAAmB,EAAE,MAA+B;IACnF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;QAC7E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,MAAM,CAAC,KAAK,CAAC,CAAA;QACf,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAA+B,EAC/B,OAAqD;IAErD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAyB,EAAE;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAA;QAC3E,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAiC,EACjC,SAAkC,EAClC,KAA4B;IAE5B,MAAM,GAAG,GAAmB,EAAE,CAAA;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACzD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;YAC9C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACvB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;eAC5B,KAAK,CAAC,IAAI,KAAK,aAAa;eAC5B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAC1F,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,MAAM,GAAG,CAAC,CAAA;IAOd,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAiB,EAAE;QACtD,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QACjF,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,CAAA;YACX,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;YACtE,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,KAAK,IAAI,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACxC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;YAChD,CAAC,CAAA;YACD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;YACxB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAK;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;gBACvD,SAAQ;YACV,CAAC;YACD,oEAAoE;YACpE,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,CAAA;IACb,CAAC,CAAA;IACD,OAAO,KAAK,EAAK,IAAsB,EAAE,MAAoB,EAAc,EAAE;QAC3E,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAA;QACrB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAY,EACZ,OAA+C,EAC/C,KAAiB,EACjB,KAAa,EACb,SAAkB;IAElB,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;IACzB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,yGAAyG,EAAE,EAAE,CAAA;IACrL,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,gCAAgC,KAAK,CAAC,UAAU,CAAC,SAAS,kEAAkE,EAAE,EAAE,CAAA;IACxM,CAAC;IACD,IAAI,kBAAsC,CAAA;IAC1C,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC1F,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAA;QACpD,IAAI,YAAY,CAAC,UAAU;YAAE,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhF,wEAAwE;QACxE,wEAAwE;QACxE,wCAAwC;QACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAkB,yGAAyG,EAAE;aAC/M,CAAA;QACH,CAAC;QACD,wEAAwE;QACxE,2EAA2E;QAC3E,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CACjC,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EACtC,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAC5E,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAC5F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAkB,GAAG,MAAM,EAAE,EAAE,EAAE,CAAA;IACvI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG,YAAY,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kEAAkE;aAChL;SACF,CAAA;IACH,CAAC;YAAS,CAAC;QACT,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,EAAE,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAY,EACZ,OAA+C,EAC/C,KAAoB,EACpB,QAA4B,EAC5B,MAAoB,EACpB,SAAkB;IAElB,MAAM,KAAK,GAAgD,EAAE,CAAA;IAC7D,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,UAAU,GAAqB,MAAM,CAAA;QACzC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;YAC7C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,YAAY,GAAG,YAAY,CAAA;gBAC3B,wDAAwD;gBACxD,iBAAiB,GAAG,EAAE,CAAA;YACxB,CAAC;YACD,IAAI,GAAG,YAAY,CAAA;QACrB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;YACvD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAAE,iBAAiB,GAAG,iBAAiB,CAAA;YACvE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACvC,UAAU,GAAG,WAAW,CAAA;YAC1B,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,YAAY,CAAA;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAA;YACvC,UAAU,GAAG,WAAW,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,YAAY,CAAA;QACrB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACzE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;QACvC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAC3E,KAAK,CACH,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,CACvF,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EACxD,MAAM,CACP,EACD,MAAM,CACP,CAAC,CAAA;QACF,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAA;IAChC,CAAC,CAAC,CAAC,CAAA;IAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAClF,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;QAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACpE,SAAS,CAAC,UAAU,CAAC,GAAG;gBACtB,GAAG,gBAAgB;gBACnB,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;aACnG,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IAInC;IACA;IACA;IACA;IACA;IACA;IACA;IATX,WAAW,CAAkC;IAErD,YACmB,GAAY,EACZ,GAAe,EACf,QAAgB,EAChB,YAAoB,EACpB,OAA+C,EAC/C,KAAoB,EACpB,SAAwB,GAAG,EAAE,CAAC,KAAK;QAEpD,KAAK,EAAE,CAAA;QARU,QAAG,GAAH,GAAG,CAAS;QACZ,QAAG,GAAH,GAAG,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAwC;QAC/C,UAAK,GAAL,KAAK,CAAe;QACpB,WAAM,GAAN,MAAM,CAA6B;IAGtD,CAAC;IAEQ,YAAY,CAAC,QAAgB;QACpC,OAAO;YACL,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,cAAc,EAAE;SAClF,CAAA;IACH,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,QAAgB;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,QAAQ;YACR,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,cAAc,EAAE;YACnE,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAClC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;SAC/E,CAAC,CAAC,CAAA;IACL,CAAC;IAEQ,KAAK,CAAC,YAAY,CACzB,QAAgB,EAChB,KAAa,EACb,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,6DAA6D,CAAC,CAAA;QAC/F,CAAC;QACD,OAAO;YACL,QAAQ;YACR,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,cAAc,EAAE;YACjE,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,oEAAoE;YACpE,uEAAuE;YACvE,iEAAiE;YACjE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3F,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SACvE,CAAA;IACH,CAAC;IAEQ,KAAK,CAAC,CAAC,MAAM,CAAC,OAAwB;QAC7C,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC9B,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAClB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CACxE,CAAA;QACD,0EAA0E;QAC1E,uEAAuE;QACvE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3E,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAY,EACZ,SAAiB,EACjB,UAAmB;IAEnB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAC3D,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;IAC3C,CAAC;IACD,OAAO,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY,EAAE,SAAiB;IACzE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAkB,CAAC,CAAA;IACpD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,CAAA;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACnC,IAAI,IAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAY,EAAE,KAAa;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IACnC,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3C,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,mGAAmG,EACnG,QAAQ,CAAC,EAAE,EACX,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/B,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAAE,SAAQ;gBACxD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,+DAA+D;oBAC/D,+DAA+D;oBAC/D,wBAAwB;oBACxB,OAAO,KAAK,CAAA;gBACd,CAAC;gBACD,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;oBAAE,eAAe,GAAG,IAAI,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3C,CAAC;AAED,yFAAyF;AACzF,MAAM,oBAAoB,GAAG,MAAM,CAAA;AACnC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B;;;;;;;;;GASG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAY,EACZ,SAA4C,EAC5C,SAA8B;IAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IACjD,IAAI,IAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,kEAAkE;QAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAC5B,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IACtD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,kBAAkB,CAAA;IAC/C,qEAAqE;IACrE,oDAAoD;IACpD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACxE,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC7D,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,eAAe,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACrG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/D,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACjD,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE;gBACV,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,GAAG,CAAC,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;aACnG;SACF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAY,EACZ,SAA4C;IAE5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiD,CAAA;IACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyD,CAAA;IAC/E,MAAM,IAAI,GAAG,CAAC,GAAyB,EAAQ,EAAE;QAC/C,OAAO,GAAG,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACtC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAK;YAC/B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;IACH,CAAC,CAAA;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACjC,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAClC,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;QAChD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjG,MAAM,GAAG,GAAG,SAAS,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAA;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,oBAAoB;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAA;YACjG,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAClE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,CAAC,CAAA;YACZ,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,SAAS,UAAU,EAAE,CAAA;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,oBAAoB,EAAE,CAAC;gBAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAA;YACvF,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YAC3D,qEAAqE;YACrE,kEAAkE;YAClE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACtD,IAAI,CAAC,MAAM,CAAC,CAAA;YACZ,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAA;QAC/E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAA;IAClE,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,GAAY,EACZ,SAA4C,EAC5C,UAAkD;IAElD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAA;IACnD,4EAA4E;IAC5E,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,uEAAuE;IACvE,0EAA0E;IAC1E,kEAAkE;IAClE,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC/C,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAQ,EAAE;QACzC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QACjC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACtB,IAAI,CAAC;YACH,OAAO,EAAE,CAAA;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,qEAAqE,EACrE,QAAQ,EACR,SAAS,CAAC,KAAK,CAAC,CACjB,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,QAAQ,IAAI,WAAW;YAAE,OAAM;QACnC,WAAW,GAAG,IAAI,CAAA;QAClB,cAAc,CAAC,GAAG,EAAE;YAClB,WAAW,GAAG,KAAK,CAAA;YACnB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAM;QACpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,kBAAkB,CAAA;YAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAA;gBAC5B,UAAU,EAAE,CAAA;YACd,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,UAAU,EAAE,CAAA;gBACZ,OAAM;YACR,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAM;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC5C,IAAI,SAA4B,CAAA;YAChC,IAAI,CAAC;gBACH,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5D,0EAA0E;YAC1E,yEAAyE;YACzE,2DAA2D;YAC3D,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACjB,SAAQ;gBACV,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACtB,SAAQ;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACpC,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,wBAAwB,EAAE,CAAC;oBAChF,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACnB,CAAC;qBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAClC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAA;gBAC5B,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAQ;gBAC1D,oEAAoE;gBACpE,yDAAyD;gBACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;oBAAE,SAAQ;gBAC1D,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAC7C,IAAI,MAA+B,CAAA;gBACnC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAQ;gBACV,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC9C,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,kEAAkE;oBAClE,8DAA8D;oBAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;oBACzE,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3B,uEAAuE;wBACvE,IAAI,CAAC,QAAQ;4BAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;wBAChC,SAAQ;oBACV,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,oEAAoE;oBACpE,uBAAuB;oBACvB,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACnB,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBACvB,IAAI,QAAQ;oBAAE,OAAM;gBACpB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CACjC,CAAC,SAAS,CAAC,EACX,IAAI,wBAAwB,CAC1B,GAAG,EACH,GAAG,EACH,QAAQ,EACR,QAAQ,CAAC,IAAI,EACb,UAAU,EACV,IAAI,aAAa,CAAC,oBAAoB,CAAC,EACvC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAC5C,CACF,CAAA;oBACD,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;oBACpC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,2EAA2E,EAC3E,QAAQ,EACR,SAAS,CAAC,KAAK,CAAC,CACjB,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/F,CAAC;IACH,CAAC,CAAA;IAED,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACjC,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,EAAE,CAAA;IACP,0EAA0E;IAC1E,8EAA8E;IAC9E,uBAAuB;IACvB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;IACvE,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,GAAG,IAAI,CAAA;YACf,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,UAAU,EAAE,CAAA;QACd,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA,CAAC,CAAC;KAC7B,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"image-input-variants.js","sourceRoot":"","sources":["../src/image-input-variants.ts"],"names":[],"mappings":"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"}
|
package/lib/runtime-install.js
CHANGED
|
@@ -27,6 +27,8 @@ const PYPI_MIRROR_BASE_URL = 'https://mirrors.cloud.tencent.com/pypi/simple';
|
|
|
27
27
|
const PROBE_TIMEOUT_MS = 30_000;
|
|
28
28
|
const LOCK_STALE_MS = 15 * 60 * 1000;
|
|
29
29
|
const LOCK_HEARTBEAT_MS = 5_000;
|
|
30
|
+
const WINDOWS_FILE_RETRY_ATTEMPTS = 5;
|
|
31
|
+
const WINDOWS_FILE_RETRY_DELAY_MS = 250;
|
|
30
32
|
/** Absolute root of the packaged upstream snapshot. */
|
|
31
33
|
export function bundledUpstreamRoot() {
|
|
32
34
|
return BUNDLED_ROOT;
|
|
@@ -38,6 +40,44 @@ export function displayCommand(command) {
|
|
|
38
40
|
function sha256(bytes) {
|
|
39
41
|
return createHash('sha256').update(bytes).digest('hex');
|
|
40
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Windows Defender/antivirus real-time scanning briefly locks freshly written
|
|
45
|
+
* Python DLLs, so recursive removal and directory replacement can fail with
|
|
46
|
+
* EBUSY/EPERM immediately after installation. Retry those transient Windows
|
|
47
|
+
* errors before surfacing them; non-Windows platforms pass through unchanged.
|
|
48
|
+
*/
|
|
49
|
+
export async function withWindowsTransientRetry(operation) {
|
|
50
|
+
let lastError;
|
|
51
|
+
for (let attempt = 1; attempt <= WINDOWS_FILE_RETRY_ATTEMPTS; attempt += 1) {
|
|
52
|
+
try {
|
|
53
|
+
return await operation();
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
lastError = error;
|
|
57
|
+
const code = error instanceof Error ? error.code : undefined;
|
|
58
|
+
const transient = process.platform === 'win32' && (code === 'EBUSY' || code === 'EPERM' || code === 'EACCES');
|
|
59
|
+
if (!transient)
|
|
60
|
+
break;
|
|
61
|
+
if (attempt < WINDOWS_FILE_RETRY_ATTEMPTS) {
|
|
62
|
+
await new Promise(resolveWait => setTimeout(resolveWait, WINDOWS_FILE_RETRY_DELAY_MS * attempt));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw lastError;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Best-effort removal used after the primary runtime path has already
|
|
70
|
+
* succeeded or failed. Transient Windows locks must not turn a usable runtime
|
|
71
|
+
* into an error, but leaving the directory behind should still be audible.
|
|
72
|
+
*/
|
|
73
|
+
export async function ignoreCleanupFailure(ctx, label, path) {
|
|
74
|
+
try {
|
|
75
|
+
await withWindowsTransientRetry(() => rm(path, { recursive: true, force: true }));
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
ctx.logger.warn('dsh-vision-toolkit: %s cleanup failed: %s', label, error instanceof Error ? error.message : String(error));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
41
81
|
export function isolatedPythonEnvironment(home) {
|
|
42
82
|
return {
|
|
43
83
|
HOME: home,
|
|
@@ -372,7 +412,7 @@ async function withDirectoryLock(lockPath, fn) {
|
|
|
372
412
|
}
|
|
373
413
|
catch (error) {
|
|
374
414
|
if (acquired) {
|
|
375
|
-
await rm(lockPath, { recursive: true, force: true }).catch(() => { });
|
|
415
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true })).catch(() => { });
|
|
376
416
|
throw error;
|
|
377
417
|
}
|
|
378
418
|
if (error.code !== 'EEXIST')
|
|
@@ -382,7 +422,7 @@ async function withDirectoryLock(lockPath, fn) {
|
|
|
382
422
|
try {
|
|
383
423
|
const info = await stat(lockPath);
|
|
384
424
|
if (Date.now() - info.mtimeMs > LOCK_STALE_MS) {
|
|
385
|
-
await rm(lockPath, { recursive: true, force: true });
|
|
425
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true }));
|
|
386
426
|
return withDirectoryLock(lockPath, fn);
|
|
387
427
|
}
|
|
388
428
|
}
|
|
@@ -405,7 +445,7 @@ async function withDirectoryLock(lockPath, fn) {
|
|
|
405
445
|
clearInterval(heartbeat);
|
|
406
446
|
try {
|
|
407
447
|
if ((await readFile(join(lockPath, 'owner'), 'utf8')).trim() === owner) {
|
|
408
|
-
await rm(lockPath, { recursive: true, force: true });
|
|
448
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true }));
|
|
409
449
|
}
|
|
410
450
|
}
|
|
411
451
|
catch {
|
|
@@ -432,7 +472,7 @@ export async function acquireBundledPython(ctx, stateRoot, cwd, manifestOverride
|
|
|
432
472
|
return;
|
|
433
473
|
const parent = dirname(root);
|
|
434
474
|
await mkdir(parent, { recursive: true });
|
|
435
|
-
await rm(root, { recursive: true, force: true });
|
|
475
|
+
await withWindowsTransientRetry(() => rm(root, { recursive: true, force: true }));
|
|
436
476
|
const work = await mkdtemp(join(parent, '.python-bootstrap-'));
|
|
437
477
|
try {
|
|
438
478
|
const archive = join(work, 'python.tar.gz');
|
|
@@ -461,10 +501,10 @@ export async function acquireBundledPython(ctx, stateRoot, cwd, manifestOverride
|
|
|
461
501
|
}
|
|
462
502
|
if (process.platform !== 'win32')
|
|
463
503
|
await chmod(extractedInterpreter, 0o755);
|
|
464
|
-
await rename(extractDir, root);
|
|
504
|
+
await withWindowsTransientRetry(() => rename(extractDir, root));
|
|
465
505
|
}
|
|
466
506
|
finally {
|
|
467
|
-
await
|
|
507
|
+
await ignoreCleanupFailure(ctx, 'bundled Python staging', work);
|
|
468
508
|
}
|
|
469
509
|
});
|
|
470
510
|
const metadata = await pythonMetadata(ctx, command, cwd);
|
|
@@ -663,7 +703,7 @@ async function waitForManagedRuntime(markerPath, lockPath, expected) {
|
|
|
663
703
|
try {
|
|
664
704
|
const info = await stat(lockPath);
|
|
665
705
|
if (Date.now() - info.mtimeMs > LOCK_STALE_MS) {
|
|
666
|
-
await rm(lockPath, { recursive: true, force: true });
|
|
706
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true }));
|
|
667
707
|
return undefined;
|
|
668
708
|
}
|
|
669
709
|
}
|
|
@@ -682,7 +722,7 @@ async function releaseManagedLock(lockPath, owner) {
|
|
|
682
722
|
catch {
|
|
683
723
|
return;
|
|
684
724
|
}
|
|
685
|
-
await rm(lockPath, { recursive: true, force: true });
|
|
725
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true }));
|
|
686
726
|
}
|
|
687
727
|
async function prepareManaged(ctx, config, manifest) {
|
|
688
728
|
const stateRoot = visionToolkitStateRoot();
|
|
@@ -731,7 +771,7 @@ async function prepareManaged(ctx, config, manifest) {
|
|
|
731
771
|
}
|
|
732
772
|
catch (error) {
|
|
733
773
|
if (lockAcquired) {
|
|
734
|
-
await rm(lockPath, { recursive: true, force: true });
|
|
774
|
+
await withWindowsTransientRetry(() => rm(lockPath, { recursive: true, force: true })).catch(() => { });
|
|
735
775
|
throw error;
|
|
736
776
|
}
|
|
737
777
|
if (error.code !== 'EEXIST')
|
|
@@ -823,7 +863,7 @@ async function prepareManaged(ctx, config, manifest) {
|
|
|
823
863
|
const quarantine = `${finalRoot}.replaced-${randomUUID()}`;
|
|
824
864
|
let quarantined = false;
|
|
825
865
|
try {
|
|
826
|
-
await rename(finalRoot, quarantine);
|
|
866
|
+
await withWindowsTransientRetry(() => rename(finalRoot, quarantine));
|
|
827
867
|
quarantined = true;
|
|
828
868
|
}
|
|
829
869
|
catch (error) {
|
|
@@ -831,12 +871,12 @@ async function prepareManaged(ctx, config, manifest) {
|
|
|
831
871
|
throw error;
|
|
832
872
|
}
|
|
833
873
|
try {
|
|
834
|
-
await rename(staging, finalRoot);
|
|
874
|
+
await withWindowsTransientRetry(() => rename(staging, finalRoot));
|
|
835
875
|
}
|
|
836
876
|
catch (error) {
|
|
837
877
|
if (quarantined) {
|
|
838
878
|
try {
|
|
839
|
-
await rename(quarantine, finalRoot);
|
|
879
|
+
await withWindowsTransientRetry(() => rename(quarantine, finalRoot));
|
|
840
880
|
}
|
|
841
881
|
catch (restoreError) {
|
|
842
882
|
throw new VisionToolkitError('runtime', `managed runtime replacement failed and the prior runtime could not be restored; recovery copy: ${quarantine}`, { cause: new AggregateError([error, restoreError]) });
|
|
@@ -844,14 +884,16 @@ async function prepareManaged(ctx, config, manifest) {
|
|
|
844
884
|
}
|
|
845
885
|
throw error;
|
|
846
886
|
}
|
|
847
|
-
await
|
|
887
|
+
await ignoreCleanupFailure(ctx, 'managed runtime quarantine', quarantine);
|
|
848
888
|
const python = { program: interpreter, prefix: [], display: interpreter };
|
|
849
889
|
return { source: 'managed', root: BUNDLED_ROOT, python, cleanHome, pythonVersion: metadata.version, dependencies };
|
|
850
890
|
}
|
|
851
891
|
finally {
|
|
852
892
|
clearInterval(heartbeat);
|
|
853
|
-
await
|
|
854
|
-
await releaseManagedLock(lockPath, lockOwner)
|
|
893
|
+
await ignoreCleanupFailure(ctx, 'managed runtime staging', staging);
|
|
894
|
+
await releaseManagedLock(lockPath, lockOwner).catch(error => {
|
|
895
|
+
ctx.logger.warn('dsh-vision-toolkit: managed runtime lock cleanup failed: %s', error instanceof Error ? error.message : String(error));
|
|
896
|
+
});
|
|
855
897
|
}
|
|
856
898
|
}
|
|
857
899
|
async function snapshotFiles(root) {
|