@vibes.diy/vibe-srv-sandbox 14.3.36 → 14.3.38

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/vibe-srv-sandbox",
3
- "version": "14.3.36",
3
+ "version": "14.3.38",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -15,15 +15,15 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@adviser/cement": "~0.5.34",
18
- "@vibes.diy/api-types": "14.3.36",
19
- "@vibes.diy/call-ai-v2": "14.3.36",
20
- "@vibes.diy/prompts": "14.3.36",
21
- "@vibes.diy/vibe-host-replica": "14.3.36",
22
- "@vibes.diy/vibe-types": "14.3.36",
18
+ "@vibes.diy/api-types": "14.3.38",
19
+ "@vibes.diy/call-ai-v2": "14.3.38",
20
+ "@vibes.diy/prompts": "14.3.38",
21
+ "@vibes.diy/vibe-host-replica": "14.3.38",
22
+ "@vibes.diy/vibe-types": "14.3.38",
23
23
  "ajv": "~8.20.0",
24
24
  "ajv-formats": "~3.0.1",
25
25
  "arktype": "~2.2.3",
26
- "call-ai": "14.3.36",
26
+ "call-ai": "14.3.38",
27
27
  "react": "~19.2.8"
28
28
  },
29
29
  "repository": {
@@ -1,6 +1,6 @@
1
- import { EventoHandler } from "@adviser/cement";
1
+ import { EventoHandler, Result } from "@adviser/cement";
2
2
  import { type ImgGenFile, type NativeEngine, type NativeInference, type NativeInferenceAvailability, type CallAIPrompt } from "@vibes.diy/vibe-types";
3
- import { type PromptReq, type SectionEvent } from "@vibes.diy/api-types";
3
+ import { type PromptReq, type SectionEvent, type VibesDiyApiIface, type VibesDiyError } from "@vibes.diy/api-types";
4
4
  import { type CodeEndMsg } from "@vibes.diy/call-ai-v2";
5
5
  import type { VibeApiCapableSandbox } from "./srv-sandbox-types.js";
6
6
  type SchemaPromptModule = Pick<typeof import("@vibes.diy/prompts/build-schema-prompt.js"), "schemaSystemMessageText">;
@@ -33,5 +33,10 @@ export declare function getImageFiles(stream: ReadableStream<unknown>, promptIdP
33
33
  files: ImgGenFile[];
34
34
  docWritten: boolean;
35
35
  }>;
36
+ export declare function viewerCanWriteVibeAssets(args: {
37
+ readonly api: Pick<VibesDiyApiIface, "requestAssetUploadGrant">;
38
+ readonly ownerHandle: string;
39
+ readonly appSlug: string;
40
+ }): Promise<Result<void, VibesDiyError>>;
36
41
  export declare function vibeImgGen(sandbox: VibeApiCapableSandbox): EventoHandler;
37
42
  export {};
@@ -1,9 +1,10 @@
1
1
  import { Result, Option, EventoResult, processStream, exception2Result, Future, } from "@adviser/cement";
2
- import { reqCallAIProblems, callAIOversizeImageChars, callAIImageTooLargeMessage, isReqImgGen, NativeInferenceError, isNativeInferenceError, nativeErrorFromEvent, callAIRefusalMessage, } from "@vibes.diy/vibe-types";
2
+ import { reqCallAIProblems, callAIOversizeImageChars, callAIImageTooLargeMessage, isReqImgGen, NativeInferenceError, isNativeInferenceError, nativeErrorFromEvent, callAIRefusalMessage, IMG_GEN_UNREACHABLE_MESSAGE, } from "@vibes.diy/vibe-types";
3
3
  import { isPromptBlockEnd, isPromptError, isPromptReq, isSectionEvent, } from "@vibes.diy/api-types";
4
4
  import { isBlockImage, isCodeBegin, isCodeEnd, isCodeLine, isToplevelLine, } from "@vibes.diy/call-ai-v2";
5
5
  import { chooseSchemaStrategy, enforcedSchemaFields } from "call-ai";
6
6
  import { requireVibeApi } from "./srv-sandbox-firefly-doc-handlers.js";
7
+ import { uploadAssetBlob } from "./upload-asset-blob.js";
7
8
  function emitOutcome(sandbox, outcome) {
8
9
  const rEmit = exception2Result(() => sandbox.args.onCallAIOutcome?.(outcome));
9
10
  if (rEmit.isErr()) {
@@ -523,7 +524,179 @@ export function getImageFiles(stream, promptIdP) {
523
524
  .catch((e) => done.reject(e instanceof Error ? e : new Error(String(e))));
524
525
  return done.asPromise();
525
526
  }
527
+ const PLAYGROUND_UNAVAILABLE_MESSAGE = "Image Playground isn't available on this device right now.";
528
+ const PLAYGROUND_ALREADY_OPEN_MESSAGE = "Image Playground is already open.";
529
+ const PLAYGROUND_CANCELLED_MESSAGE = "Image Playground closed without a new image.";
530
+ const PLAYGROUND_WRONG_APP_MESSAGE = "Image Playground saves images to the app it was opened from.";
531
+ const PLAYGROUND_NEEDS_TAP_MESSAGE = "Image Playground opens with a tap.";
532
+ const ANSWERED_WRITE_REFUSALS = new Set(["access-denied", "authentication_required"]);
533
+ export async function viewerCanWriteVibeAssets(args) {
534
+ const rGrant = await args.api.requestAssetUploadGrant({
535
+ ownerHandle: args.ownerHandle,
536
+ appSlug: args.appSlug,
537
+ mimeType: "image/png",
538
+ });
539
+ if (rGrant.isErr())
540
+ return Result.Err(rGrant.Err());
541
+ return Result.Ok(undefined);
542
+ }
543
+ function playgroundLogOf(sandbox) {
544
+ return sandbox.args.playgroundLog ?? console;
545
+ }
546
+ async function playgroundGate(args) {
547
+ const { tid } = args;
548
+ const rAvail = await exception2Result(() => args.source.availability());
549
+ if (rAvail.isErr()) {
550
+ args.log.warn("[vibe.imgGen] playground availability check threw:", { tid, message: rAvail.Err().message });
551
+ return { kind: "fault", message: PLAYGROUND_UNAVAILABLE_MESSAGE };
552
+ }
553
+ const avail = rAvail.Ok();
554
+ if (avail.status === "unreachable") {
555
+ args.log.warn("[vibe.imgGen] playground availability check failed:", { tid, message: avail.message });
556
+ return { kind: "fault", message: PLAYGROUND_UNAVAILABLE_MESSAGE };
557
+ }
558
+ if (avail.status !== "available")
559
+ return { kind: "no", message: PLAYGROUND_UNAVAILABLE_MESSAGE };
560
+ return viewerCanWriteVibeAssets({ api: args.api, ownerHandle: args.ownerHandle, appSlug: args.appSlug }).then((rWrite) => {
561
+ if (rWrite.isOk())
562
+ return { kind: "pass" };
563
+ const err = rWrite.Err();
564
+ const code = err.error?.code;
565
+ if (code !== undefined && ANSWERED_WRITE_REFUSALS.has(code))
566
+ return { kind: "no", message: err.message };
567
+ args.log.warn("[vibe.imgGen] playground write check failed:", { tid, code, message: err.message });
568
+ return { kind: "fault", message: err.message };
569
+ }, (e) => {
570
+ const message = e instanceof Error ? e.message : String(e);
571
+ args.log.warn("[vibe.imgGen] playground write check threw:", { tid, message });
572
+ return { kind: "fault", message };
573
+ });
574
+ }
575
+ function routedPlaygroundTarget(sandbox, claimed) {
576
+ const routed = sandbox.appIdentity;
577
+ if (routed === undefined)
578
+ return Result.Err(new Error(PLAYGROUND_UNAVAILABLE_MESSAGE));
579
+ if (claimed.ownerHandle !== routed.ownerHandle || claimed.appSlug !== routed.appSlug) {
580
+ playgroundLogOf(sandbox).warn("[vibe.imgGen] playground identity mismatch:", {
581
+ tid: claimed.tid,
582
+ routed: { ownerHandle: routed.ownerHandle, appSlug: routed.appSlug },
583
+ claimed: { ownerHandle: claimed.ownerHandle, appSlug: claimed.appSlug },
584
+ });
585
+ return Result.Err(new Error(PLAYGROUND_WRONG_APP_MESSAGE));
586
+ }
587
+ return Result.Ok({ ownerHandle: routed.ownerHandle, appSlug: routed.appSlug });
588
+ }
589
+ async function routeImgGen(args) {
590
+ const { sandbox, api, req } = args;
591
+ const cloud = { kind: "cloud" };
592
+ if (req.userActivation === undefined)
593
+ return cloud;
594
+ if (req.source === "cloud")
595
+ return cloud;
596
+ if (req.model !== undefined)
597
+ return cloud;
598
+ const source = sandbox.args.nativeImageSource;
599
+ if (source === undefined)
600
+ return cloud;
601
+ const rTarget = routedPlaygroundTarget(sandbox, req);
602
+ if (rTarget.isErr())
603
+ return cloud;
604
+ const target = rTarget.Ok();
605
+ const gate = await playgroundGate({ source, log: playgroundLogOf(sandbox), api, ...target, tid: req.tid });
606
+ if (gate.kind === "no")
607
+ return cloud;
608
+ if (gate.kind === "fault")
609
+ return { kind: "unreachable" };
610
+ return req.userActivation === true ? { kind: "sheet", source, target } : { kind: "needs-tap" };
611
+ }
612
+ async function runPlayground(args) {
613
+ const { source, log, api, req, target } = args;
614
+ if (args.gate === "ask") {
615
+ const gate = await playgroundGate({
616
+ source,
617
+ log,
618
+ api,
619
+ ownerHandle: target.ownerHandle,
620
+ appSlug: target.appSlug,
621
+ tid: req.tid,
622
+ });
623
+ if (gate.kind !== "pass")
624
+ return Result.Err(new Error(gate.message));
625
+ }
626
+ const created = await source.create({
627
+ prompt: req.prompt,
628
+ ...(req.inputImageBase64 !== undefined ? { sourceImageBase64: req.inputImageBase64 } : {}),
629
+ });
630
+ switch (created.status) {
631
+ case "cancelled":
632
+ return Result.Ok({ kind: "cancelled" });
633
+ case "failed":
634
+ return Result.Err(new Error(`Image Playground couldn't finish: ${created.message}`));
635
+ case "created": {
636
+ const rUploaded = await uploadAssetBlob({
637
+ api,
638
+ fetch: args.fetch,
639
+ ownerHandle: target.ownerHandle,
640
+ appSlug: target.appSlug,
641
+ blob: created.blob,
642
+ grantMimeType: created.blob.type,
643
+ });
644
+ if (rUploaded.isErr())
645
+ return Result.Err(rUploaded.Err());
646
+ const up = rUploaded.Ok();
647
+ return Result.Ok({
648
+ kind: "served",
649
+ file: { uploadId: up.uploadId, cid: up.cid, mimeType: created.blob.type, size: up.size },
650
+ });
651
+ }
652
+ }
653
+ }
654
+ async function serveSheet(args) {
655
+ const { sandbox, api, req, flight, send, source, target, gate } = args;
656
+ const tid = req.tid;
657
+ const sendErr = (message) => send({ tid, type: "vibe.res.imgGen", status: "error", message });
658
+ const sendCancelled = (message) => send({ tid, type: "vibe.res.imgGen", status: "error", message, reason: "cancelled" });
659
+ const log = playgroundLogOf(sandbox);
660
+ if (flight.open === true) {
661
+ log.info("[vibe.imgGen] playground already open", { tid });
662
+ await sendCancelled(PLAYGROUND_ALREADY_OPEN_MESSAGE);
663
+ return;
664
+ }
665
+ flight.open = true;
666
+ const doFetch = sandbox.args.fetch ?? ((...a) => fetch(...a));
667
+ const rRun = await exception2Result(() => runPlayground({ source, log, api, req, target, fetch: doFetch, gate }));
668
+ flight.open = false;
669
+ if (rRun.isErr()) {
670
+ log.warn("[vibe.imgGen] playground failed:", rRun.Err().message);
671
+ await sendErr(rRun.Err().message);
672
+ return;
673
+ }
674
+ const outcome = rRun.Ok();
675
+ if (outcome.kind === "cancelled") {
676
+ log.info("[vibe.imgGen] playground cancelled", { tid });
677
+ await sendCancelled(PLAYGROUND_CANCELLED_MESSAGE);
678
+ return;
679
+ }
680
+ log.info("[vibe.imgGen] served playground", { tid, bytes: outcome.file.size });
681
+ await send({ tid, type: "vibe.res.imgGen", status: "ok", files: [outcome.file] });
682
+ }
683
+ async function servePlayground(args) {
684
+ const { sandbox, req, send } = args;
685
+ const sendErr = (message) => send({ tid: req.tid, type: "vibe.res.imgGen", status: "error", message });
686
+ const source = sandbox.args.nativeImageSource;
687
+ if (source === undefined) {
688
+ await sendErr(PLAYGROUND_UNAVAILABLE_MESSAGE);
689
+ return;
690
+ }
691
+ const rTarget = routedPlaygroundTarget(sandbox, req);
692
+ if (rTarget.isErr()) {
693
+ await sendErr(rTarget.Err().message);
694
+ return;
695
+ }
696
+ await serveSheet({ ...args, source, target: rTarget.Ok(), gate: "ask" });
697
+ }
526
698
  export function vibeImgGen(sandbox) {
699
+ const flight = { open: false };
527
700
  return {
528
701
  hash: "vibe.imgGen",
529
702
  validate: (ctx) => {
@@ -551,6 +724,45 @@ export function vibeImgGen(sandbox) {
551
724
  const api = await requireVibeApi(sandbox, ctx, "vibe.res.imgGen");
552
725
  if (api === undefined)
553
726
  return Result.Ok(EventoResult.Stop);
727
+ if (ctx.validated.source === "playground") {
728
+ await servePlayground({ sandbox, api, req: ctx.validated, flight, send: (res) => ctx.send.send(ctx, res) });
729
+ return Result.Ok(EventoResult.Stop);
730
+ }
731
+ const route = await routeImgGen({ sandbox, api, req: ctx.validated });
732
+ if (route.kind === "needs-tap") {
733
+ playgroundLogOf(sandbox).info("[vibe.imgGen] playground needs a tap", { tid });
734
+ await ctx.send.send(ctx, {
735
+ tid,
736
+ type: "vibe.res.imgGen",
737
+ status: "error",
738
+ message: PLAYGROUND_NEEDS_TAP_MESSAGE,
739
+ reason: "needs-tap",
740
+ });
741
+ return Result.Ok(EventoResult.Stop);
742
+ }
743
+ if (route.kind === "unreachable") {
744
+ await ctx.send.send(ctx, {
745
+ tid,
746
+ type: "vibe.res.imgGen",
747
+ status: "error",
748
+ message: IMG_GEN_UNREACHABLE_MESSAGE,
749
+ reason: "unreachable",
750
+ });
751
+ return Result.Ok(EventoResult.Stop);
752
+ }
753
+ if (route.kind === "sheet") {
754
+ await serveSheet({
755
+ sandbox,
756
+ api,
757
+ req: ctx.validated,
758
+ flight,
759
+ send: (res) => ctx.send.send(ctx, res),
760
+ source: route.source,
761
+ target: route.target,
762
+ gate: "passed",
763
+ });
764
+ return Result.Ok(EventoResult.Stop);
765
+ }
554
766
  await api
555
767
  .openChat({ ownerHandle: ctx.validated.ownerHandle, appSlug: ctx.validated.appSlug, mode: "img" })
556
768
  .then(async (rChat) => {
@@ -1 +1 @@
1
- {"version":3,"file":"srv-sandbox-ai-image-handlers.js","sourceRoot":"","sources":["../jsr/srv-sandbox-ai-image-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAEN,MAAM,EAEN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,MAAM,GACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAI1B,WAAW,EAUX,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAA0C,MAAM,SAAS,CAAC;AAE7G,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAMvE,SAAS,WAAW,CAAC,OAA8B,EAAE,OAAsB;IACzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAGlB,OAAO,CAAC,IAAI,CAAC,+DAA+D,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAMD,SAAS,aAAa,CAAC,MAAoB;IACzC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AACrF,CAAC;AAID,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzD,CAAC;AASD,IAAI,gBAAgB,GAAsC,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;AACpH,MAAM,UAAU,+BAA+B,CAAC,EAAmD;IACjG,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA+B;IAM1D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,SAAqB,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAI,MAAM,EAAyF,CAAC;IAC3H,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;gBACD,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;oBACpE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAKD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;SACC,IAAI,CAAC,GAAG,EAAE;QAOT,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;AACpC,CAAC;AAwBD,MAAM,CAAC,MAAM,wBAAwB,GAAG,mCAAmC,CAAC;AAE5E,MAAM,UAAU,iBAAiB,CAC/B,MAA+B,EAC/B,SAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,MAAM,EAAsC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,MAAM,SAAS,GAA8F,EAAE,CAAC;IAChH,IAAI,QAA4B,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAW,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC;IAGhG,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO;QAGjD,MAAM,GAAG,GAAG,QAAQ,IAAI,GAAG,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,SAAS;SACN,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,QAAQ,GAAG,GAAG,CAAC;QACf,aAAa,GAAG,IAAI,CAAC;QACrB,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,aAAa,GAAG,IAAI,CAAC;QACrB,SAAS,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAI,KAA+B,CAAC,QAAQ,CAAC;gBAC3D,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;4BACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;SACC,IAAI,CAAC,GAAG,EAAE;QAIT,KAAK,GAAG,IAAI,CAAC;QACb,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1B,CAAC;AAOD,MAAM,CAAC,MAAM,oBAAoB,GAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AASlF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAMvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAiC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAE7G,MAAM,UAAU,gBAAgB,CAC9B,GAA+D,EAC/D,YAAyC,EACzC,MAAM,GAAiB,WAAW;IAElC,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAItD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAIjD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAI1C,IAAI,MAAM,KAAK,KAAK,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,YAAY,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,IAAI,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC,CAAC;IACnE,OAAO,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,6BAA6B,CAAC,CAAC;AAClF,CAAC;AAWD,MAAM,iCAAiC,GAAG,KAAK,CAAC;AA6BhD,SAAS,IAAI,CAAC,CAAU;IACtB,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACnF,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACnG,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;QAE1C,OAAO,GAAsB,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,GAAmC,CAAC;IACnD,OAAO;QACL,YAAY,EAAE,CAAC,IAAsC,EAAwC,EAAE,CAC7F,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAgC,CAAC;QAEzG,QAAQ,EAAE,CAAC,IAAiC,EAAmB,EAAE;YAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,iCAAiC,CAAC;YACtE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,IAAI,MAA8C,CAAC;gBACnD,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,cAAc,GAAG,GAAG,EAAE;oBAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;wBACtB,OAAO,GAAG,IAAI,CAAC;wBACf,cAAc,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,oBAAoB,CAAC,WAAW,EAAE,oCAAoC,SAAS,IAAI,CAAC,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEd,OAAO,CAAC,OAAO,CACb,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC7C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;wBAAE,OAAO;oBACzC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;wBAAE,OAAO;oBAC/B,IAAI,OAAO,KAAK,IAAI;wBAAE,OAAO;oBAC7B,OAAO,GAAG,IAAI,CAAC;oBACf,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,cAAc,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAI7B,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC,CAAC,CACH;qBACE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACV,MAAM,GAAG,CAAC,CAAC;oBACX,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;wBACtB,OAAO,GAAG,IAAI,CAAC;wBACf,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,cAAc,EAAE,CAAC;wBACjB,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAsBD,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAiD,CAAC;AAEvF,KAAK,UAAU,qBAAqB,CAAC,OAAyB;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,UAAU,GAAI,OAAqC,CAAC,UAAU,CAAC;QACrE,IAAI,OAAO,UAAU,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QAGvD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAIpB,OAAO,CAAC,IAAI,CAAC,sEAAsE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5G,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC;IACL,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAgBD,KAAK,UAAU,sBAAsB,CACnC,OAAyB,EACzB,GAAkD,EAClD,QAA8B,EAC9B,gBAAyC;IAEzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QACnC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW;QACtC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO;QAC9B,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IACxB,IAAI,CAAC;QAGH,MAAM,cAAc,GAAG,IAAI,MAAM,EAAsB,CAAC;QACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAKhF,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAIlC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC,MAAM,CAAC;YACV,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,GAAG,QAAQ;SACZ,CAAC,CACH,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3D,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAI9C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,KAAK,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;YAAS,CAAC;QAIT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAUD,KAAK,UAAU,mBAAmB,CAChC,OAAyB,EACzB,GAAkD,EAClD,gBAAyC,EACzC,UAAmC;IAEnC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACjB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;QACtB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,OAAO;QACf,OAAO;KACiB,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QACnC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW;QACtC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO;QAC9B,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IACxB,IAAI,CAAC;QAMH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAElC,MAAM,cAAc,GAAkB,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAezB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvE,IAAI,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,8BAA8B,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBAGhG,OAAO,CAAC,IAAI,CAAC,6EAA6E,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3G,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;QAID,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC,MAAM,CAAC;YACV,QAAQ,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;SAC9F,CAAC,CACH,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAIpB,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;YACtB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,IAAI;SACS,CAAC,CAAC;QACzB,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;YAAS,CAAC;QAIT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAE9B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA8B;IACvD,OAAO;QACL,IAAI,EAAE,aAAa;QAOnB,QAAQ,EAAE,CAAC,GAAuD,EAAE,EAAE;YACpE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAA+C,CAAC;YAC1E,IAAI,IAAI,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAiB,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAkD,EAAqC,EAAE;YACtG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAK3B,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,GAAG;oBACH,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,2BAA2B,QAAQ,EAAE;iBACtB,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAOD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;oBACtB,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC;oBAC7C,MAAM,EAAE,iBAAiB;iBACD,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAaD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACzE,OAAO,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;oBACtB,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,sCAAsC;iBACvB,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;gBACvF,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC;YAEzC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAKtE,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;gBAC3D,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;oBAI1C,MAAM,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChD,IAAI,WAAW,GAAG,kBAAkB;wBAAE,MAAM;oBAC5C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC3D,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,KAAK;wBAAE,SAAS;oBAC9E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CACxG,CAAC;oBACF,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;wBAI5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;4BAGvF,OAAO,CAAC,IAAI,CAAC,wBAAwB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;4BACvG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gCACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;gCACtB,IAAI,EAAE,iBAAiB;gCACvB,MAAM,EAAE,IAAI;gCACZ,QAAQ,EAAE,UAAU,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gCACvC,MAAM;6BACe,CAAC,CAAC;4BACzB,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC1F,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACtC,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,iBAAiB,MAAM,4CAA4C,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC9G,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBAC1B,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC1D,OAAO,CAAC,IAAI,CAAC,4BAA4B,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC/E,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;4BACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;4BACtB,IAAI,EAAE,iBAAiB;4BACvB,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC;4BAC9C,MAAM,EAAE,SAAS;4BACjB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAClD,CAAC,CAAC;wBAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,iBAAiB,MAAM,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAKD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAOjC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAYnD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,MAA4B,CAAC;YAC1D,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/G,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAIrH,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACvF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1B,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;wBACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;wBACtB,IAAI,EAAE,iBAAiB;wBACvB,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,MAAM,EAAE,OAAO,CAAC,IAAI;qBACC,CAAC,CAAC;oBAGzB,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvF,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;wBACvB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG;wBACtB,IAAI,EAAE,iBAAiB;wBACvB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,OAAO,CAAC,OAAO;qBACA,CAAC,CAAC;oBAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;gBAGD,OAAO,CAAC,IAAI,CAAC,0BAA0B,QAAQ,EAAE,QAAQ,8BAA8B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5G,CAAC;YAQD,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjE,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CACnH,CAAC;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,aAAa,CAC3B,MAA+B,EAC/B,SAAuC;IAEvC,MAAM,IAAI,GAAG,IAAI,MAAM,EAAgD,CAAC;IAWxE,MAAM,SAAS,GAA+F,EAAE,CAAC;IACjH,MAAM,SAAS,GAA8F,EAAE,CAAC;IAChH,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,QAA4B,CAAC;IACjC,IAAI,aAAa,GAAG,SAAS,KAAK,SAAS,CAAC;IAE5C,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAW,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,CAAC;IAGhG,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,aAAa,KAAK,KAAK;YAAE,OAAO;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAI1D,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS;aACN,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,QAAQ,GAAG,GAAG,CAAC;YACf,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAI,KAA+B,CAAC,QAAQ,CAAC;gBAC3D,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3G,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;wBAC9F,QAAQ;wBACR,UAAU,EAAG,KAAkC,CAAC,UAAU,KAAK,IAAI;qBACpE,CAAC,CAAC;gBACL,CAAC;gBAID,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;SACC,IAAI,CAAC,GAAG,EAAE;QAKT,KAAK,GAAG,IAAI,CAAC;QACb,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA8B;IACvD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC,GAAuD,EAAE,EAAE;YACpE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;YAC7B,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAkD,EAAqC,EAAE;YAQtG,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjB,GAAG;gBACH,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO;gBACf,OAAO;aACiB,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,KAAmB,EAAE,UAAmB,EAAE,EAAE,CAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjB,GAAG;gBACH,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,IAAI;gBACZ,KAAK;gBAGL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtB,CAAC,CAAC;YAE3B,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAClE,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,GAAG;iBACN,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACjG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpB,IAAI,KAAK,CAAC,KAAK,EAAE;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC;oBAMH,MAAM,cAAc,GAAG,IAAI,MAAM,EAAsB,CAAC;oBACxD,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;oBAInF,MAAM,UAAU,GAGZ,EAAE,CAAC;oBACP,IAAI,GAAG,CAAC,SAAS,CAAC,gBAAgB;wBAAE,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;oBACjG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM;wBAAE,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;oBACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAC/B;wBACE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9D,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;qBACtF,EACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;oBACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;wBACpB,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAClC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;oBACD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAG9C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,KAAK,CAAC,KAAK,EAAE;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,OAAO,OAAO,CAAC,qDAAqD,CAAC,CAAC;oBACxE,CAAC;oBACD,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACnC,CAAC;wBAAS,CAAC;oBAET,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAE9B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"srv-sandbox-ai-image-handlers.js","sourceRoot":"","sources":["../jsr/srv-sandbox-ai-image-handlers.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { Result, Option, EventoResult, } from "@adviser/cement";
2
2
  import { isReqVibePutAsset, isReqVibeWhoAmI, isReqVibeUpdateAvatarCid, isReqVibeLogin, isReqVibeAccessFnSource, isReqVibeLookupHandles, isReqVibeProfileInfo, } from "@vibes.diy/vibe-types";
3
3
  import { isAuthIndeterminateError } from "@vibes.diy/api-types";
4
4
  import { requireVibeApi } from "./srv-sandbox-firefly-doc-handlers.js";
5
+ import { uploadAssetBlob } from "./upload-asset-blob.js";
5
6
  import { isHostSignedOutMarked } from "./host-signed-out-marker.js";
6
- const PROGRESS_INTERVAL_MS = 3000;
7
7
  export function vibePutAsset(sandbox) {
8
8
  const doFetch = sandbox.args.fetch ?? ((...a) => fetch(...a));
9
9
  return {
@@ -20,64 +20,42 @@ export function vibePutAsset(sandbox) {
20
20
  if (api === undefined)
21
21
  return Result.Ok(EventoResult.Stop);
22
22
  const { tid, blob, ownerHandle, appSlug, mimeType } = ctx.validated;
23
- const sendErr = async (message) => {
24
- await ctx.send.send(ctx, {
25
- tid,
26
- type: "vibe.res.putAsset",
27
- status: "error",
28
- message,
29
- });
30
- };
31
- const rGrant = await api.requestAssetUploadGrant({
23
+ const grantMimeType = mimeType ? mimeType : mimeType === undefined && blob.type ? blob.type : undefined;
24
+ const rUploaded = await uploadAssetBlob({
25
+ api,
26
+ fetch: doFetch,
32
27
  ownerHandle,
33
28
  appSlug,
34
- ...(mimeType ? { mimeType } : mimeType === undefined && blob.type ? { mimeType: blob.type } : {}),
29
+ blob,
30
+ ...(grantMimeType !== undefined ? { grantMimeType } : {}),
31
+ onProgress: () => {
32
+ void ctx.send.send(ctx, {
33
+ tid,
34
+ type: "vibe.evt.putAsset.progress",
35
+ bytes: blob.size,
36
+ });
37
+ },
35
38
  });
36
- if (rGrant.isErr()) {
37
- await sendErr(`grant minting failed: ${rGrant.Err().message}`);
38
- return Result.Ok(EventoResult.Stop);
39
- }
40
- const grant = rGrant.Ok();
41
- const progressTimer = setInterval(() => {
42
- ctx.send.send(ctx, {
43
- tid,
44
- type: "vibe.evt.putAsset.progress",
45
- bytes: blob.size,
46
- });
47
- }, PROGRESS_INTERVAL_MS);
48
- try {
49
- const res = await doFetch(grant.uploadUrl, {
50
- method: "POST",
51
- headers: {
52
- "X-Asset-Grant": grant.grant,
53
- "Content-Type": blob.type || "application/octet-stream",
54
- },
55
- body: blob,
56
- });
57
- if (!res.ok) {
58
- const text = await res.text().catch(() => "");
59
- await sendErr(`POST ${grant.uploadUrl} returned ${res.status}: ${text}`);
60
- return Result.Ok(EventoResult.Stop);
61
- }
62
- const body = (await res.json());
63
- sandbox.recordAssetGetURL(body.cid, body.getURL);
39
+ if (rUploaded.isErr()) {
64
40
  await ctx.send.send(ctx, {
65
41
  tid,
66
42
  type: "vibe.res.putAsset",
67
- status: "ok",
68
- cid: body.cid,
69
- getURL: body.getURL,
70
- size: body.size,
71
- uploadId: body.uploadId,
43
+ status: "error",
44
+ message: rUploaded.Err().message,
72
45
  });
46
+ return Result.Ok(EventoResult.Stop);
73
47
  }
74
- catch (e) {
75
- const msg = e instanceof Error ? e.message : String(e);
76
- await sendErr(`upload failed: ${msg}`);
77
- }
78
- finally {
79
- clearInterval(progressTimer);
80
- }
48
+ const body = rUploaded.Ok();
49
+ sandbox.recordAssetGetURL(body.cid, body.getURL);
50
+ await ctx.send.send(ctx, {
51
+ tid,
52
+ type: "vibe.res.putAsset",
53
+ status: "ok",
54
+ cid: body.cid,
55
+ getURL: body.getURL,
56
+ size: body.size,
57
+ uploadId: body.uploadId,
58
+ });
81
59
  return Result.Ok(EventoResult.Stop);
82
60
  },
83
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"srv-sandbox-asset-identity-auth-handlers.js","sourceRoot":"","sources":["../jsr/srv-sandbox-asset-identity-auth-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"srv-sandbox-asset-identity-auth-handlers.js","sourceRoot":"","sources":["../jsr/srv-sandbox-asset-identity-auth-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  import { Result } from "@adviser/cement";
2
2
  import type { VibesDiyApiIface } from "@vibes.diy/api-types";
3
- import type { NativeInference, EvtMirrorDelta, EvtMirrorReset, EvtMirrorSettled, EvtMirrorRefused } from "@vibes.diy/vibe-types";
3
+ import type { NativeImageSource, NativeInference, EvtMirrorDelta, EvtMirrorReset, EvtMirrorSettled, EvtMirrorRefused } from "@vibes.diy/vibe-types";
4
4
  import type { EphemeralOpts, MirrorHub } from "@vibes.diy/vibe-host-replica";
5
5
  export interface CallAIOutcome {
6
6
  readonly lane: "native" | "enforced" | "fence";
7
7
  readonly strategy: string;
8
8
  readonly parseOk: boolean;
9
9
  }
10
+ export interface PlaygroundLog {
11
+ info(msg: string, meta?: unknown): void;
12
+ warn(msg: string, meta?: unknown): void;
13
+ }
10
14
  export interface VibesDiySrvSandboxArgs {
11
15
  chatApi: VibesDiyApiIface;
12
16
  vibeApi?: VibesDiyApiIface;
@@ -52,6 +56,8 @@ export interface VibesDiySrvSandboxArgs {
52
56
  openConnectWindow?: (url: string) => void;
53
57
  ensureAssetSession?: () => Promise<void>;
54
58
  nativeInference?: NativeInference;
59
+ nativeImageSource?: NativeImageSource;
60
+ playgroundLog?: PlaygroundLog;
55
61
  onCallAIOutcome?: (outcome: CallAIOutcome) => void;
56
62
  hostReplicaHub?: () => Promise<MirrorHub>;
57
63
  }
package/srv-sandbox.d.ts CHANGED
@@ -4,7 +4,7 @@ import type { VibesDiyApiIface } from "@vibes.diy/api-types";
4
4
  import type { EphemeralOpts } from "@vibes.diy/vibe-host-replica";
5
5
  import { createDraftRuntimeBridge } from "./draft-runtime-bridge.js";
6
6
  import type { EphemeralSeedsByDb, VibesDiySrvSandboxArgs } from "./srv-sandbox-types.js";
7
- export type { CallAIOutcome } from "./srv-sandbox-types.js";
7
+ export type { CallAIOutcome, PlaygroundLog } from "./srv-sandbox-types.js";
8
8
  export { getCodeBlock, getCompletionText, EMPTY_COMPLETION_MESSAGE, getImageFiles, vibeCallAI, isNativeEligible, NATIVE_ENGINE_LADDER, NATIVE_TOTAL_BUDGET_MS, NATIVE_MIN_RUNG_MS, NATIVE_CHARS_PER_TOKEN, NATIVE_INPUT_CONTEXT_FRACTION, NATIVE_DEFAULT_CONTEXT_TOKENS, __setSchemaPromptLoaderForTests, } from "./srv-sandbox-ai-image-handlers.js";
9
9
  export { vibeSocial, vibeRequestFollowersAccess, vibeSetVisibility, vibeSocialInvite, vibeSetAccountPrivacy, socialChangedFromList, type SocialPushCapableSandbox, } from "./srv-sandbox-social-handler.js";
10
10
  export declare class MessageEventEventoEnDecoder implements EventoEnDecoder<MessageEvent, unknown> {
@@ -0,0 +1,21 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { VibesDiyApiIface } from "@vibes.diy/api-types";
3
+ declare const UploadedAssetShape: import("arktype/internal/variants/object.ts").ObjectType<{
4
+ cid: string;
5
+ getURL: string;
6
+ size: number;
7
+ uploadId: string;
8
+ }, {}>;
9
+ export type UploadedAsset = typeof UploadedAssetShape.infer;
10
+ export declare const UPLOAD_PROGRESS_INTERVAL_MS = 3000;
11
+ export interface UploadAssetBlobArgs {
12
+ readonly api: Pick<VibesDiyApiIface, "requestAssetUploadGrant">;
13
+ readonly fetch: typeof fetch;
14
+ readonly ownerHandle: string;
15
+ readonly appSlug: string;
16
+ readonly blob: Blob;
17
+ readonly grantMimeType?: string;
18
+ readonly onProgress?: () => void;
19
+ }
20
+ export declare function uploadAssetBlob(args: UploadAssetBlobArgs): Promise<Result<UploadedAsset>>;
21
+ export {};
@@ -0,0 +1,50 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ const UploadedAssetShape = type({
4
+ cid: "string",
5
+ getURL: "string",
6
+ size: "number",
7
+ uploadId: "string",
8
+ });
9
+ export const UPLOAD_PROGRESS_INTERVAL_MS = 3000;
10
+ export async function uploadAssetBlob(args) {
11
+ const rGrant = await args.api.requestAssetUploadGrant({
12
+ ownerHandle: args.ownerHandle,
13
+ appSlug: args.appSlug,
14
+ ...(args.grantMimeType !== undefined ? { mimeType: args.grantMimeType } : {}),
15
+ });
16
+ if (rGrant.isErr())
17
+ return Result.Err(new Error(`grant minting failed: ${rGrant.Err().message}`));
18
+ const grant = rGrant.Ok();
19
+ const onProgress = args.onProgress;
20
+ const progressTimer = onProgress === undefined ? undefined : setInterval(onProgress, UPLOAD_PROGRESS_INTERVAL_MS);
21
+ const rPosted = await postToGrant({ fetch: args.fetch, uploadUrl: grant.uploadUrl, grant: grant.grant, blob: args.blob });
22
+ if (progressTimer !== undefined)
23
+ clearInterval(progressTimer);
24
+ return rPosted;
25
+ }
26
+ async function postToGrant(args) {
27
+ const rRes = await exception2Result(() => args.fetch(args.uploadUrl, {
28
+ method: "POST",
29
+ headers: {
30
+ "X-Asset-Grant": args.grant,
31
+ "Content-Type": args.blob.type === "" ? "application/octet-stream" : args.blob.type,
32
+ },
33
+ body: args.blob,
34
+ }));
35
+ if (rRes.isErr())
36
+ return Result.Err(new Error(`upload failed: ${rRes.Err().message}`));
37
+ const res = rRes.Ok();
38
+ if (res.ok === false) {
39
+ const text = await res.text().catch(() => "");
40
+ return Result.Err(new Error(`POST ${args.uploadUrl} returned ${res.status}: ${text}`));
41
+ }
42
+ const rJson = await exception2Result(() => res.json());
43
+ if (rJson.isErr())
44
+ return Result.Err(new Error(`upload failed: ${rJson.Err().message}`));
45
+ const body = UploadedAssetShape(rJson.Ok());
46
+ if (body instanceof type.errors)
47
+ return Result.Err(new Error(`upload failed: unexpected response (${body.summary})`));
48
+ return Result.Ok({ cid: body.cid, getURL: body.getURL, size: body.size, uploadId: body.uploadId });
49
+ }
50
+ //# sourceMappingURL=upload-asset-blob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-asset-blob.js","sourceRoot":"","sources":["../jsr/upload-asset-blob.ts"],"names":[],"mappings":"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"}