@skyphusion-labs/vivijure-core 1.22.5 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/assemble-admission.d.ts +163 -0
  2. package/dist/assemble-admission.d.ts.map +1 -0
  3. package/dist/assemble-admission.js +189 -0
  4. package/dist/assemble-admission.js.map +1 -0
  5. package/dist/bundle-assembler.js +2 -2
  6. package/dist/bundle-assembler.js.map +1 -1
  7. package/dist/film-model.d.ts +35 -9
  8. package/dist/film-model.d.ts.map +1 -1
  9. package/dist/film-model.js +36 -9
  10. package/dist/film-model.js.map +1 -1
  11. package/dist/film-orchestrator.d.ts +21 -3
  12. package/dist/film-orchestrator.d.ts.map +1 -1
  13. package/dist/film-orchestrator.js +153 -28
  14. package/dist/film-orchestrator.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/media-finish-auth.d.ts +25 -1
  20. package/dist/media-finish-auth.d.ts.map +1 -1
  21. package/dist/media-finish-auth.js +44 -3
  22. package/dist/media-finish-auth.js.map +1 -1
  23. package/dist/modules/conformance.d.ts +16 -1
  24. package/dist/modules/conformance.d.ts.map +1 -1
  25. package/dist/modules/conformance.js +31 -5
  26. package/dist/modules/conformance.js.map +1 -1
  27. package/dist/modules/types.d.ts +137 -2
  28. package/dist/modules/types.d.ts.map +1 -1
  29. package/dist/modules/types.js +53 -4
  30. package/dist/modules/types.js.map +1 -1
  31. package/dist/platform/orchestrator-context.d.ts +8 -0
  32. package/dist/platform/orchestrator-context.d.ts.map +1 -1
  33. package/dist/platform/orchestrator-context.js.map +1 -1
  34. package/dist/render-orchestrator.d.ts +21 -0
  35. package/dist/render-orchestrator.d.ts.map +1 -1
  36. package/dist/render-orchestrator.js +32 -3
  37. package/dist/render-orchestrator.js.map +1 -1
  38. package/dist/runpod-job-log.js +6 -6
  39. package/dist/runpod-job-log.js.map +1 -1
  40. package/dist/scatter-orchestrator.d.ts.map +1 -1
  41. package/dist/scatter-orchestrator.js +14 -10
  42. package/dist/scatter-orchestrator.js.map +1 -1
  43. package/dist/video-finish-assemble.d.ts +72 -0
  44. package/dist/video-finish-assemble.d.ts.map +1 -1
  45. package/dist/video-finish-assemble.js +163 -2
  46. package/dist/video-finish-assemble.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Pre-flight input-bytes admission check for a chunked assemble (cf#815).
3
+ *
4
+ * WHAT THIS BOUNDS, AND WHY IT IS NOT AN OUTPUT CAP. The container writes the assembled film to
5
+ * local disk before streaming it to R2, and nothing bounds that write. Chunked assemble (cf#784)
6
+ * flattened peak disk for the BATCH stage -- each batch dir is removed on flush and every partial
7
+ * goes straight to R2 -- but it left the FINALIZE stage untouched:
8
+ *
9
+ * containers/video-finish/app.py:315 `_silent.mp4` <- the joined film
10
+ * containers/video-finish/app.py:786 `final.mp4` <- _mux_bed_onto, written FROM _silent.mp4
11
+ *
12
+ * `_silent.mp4` is never removed (the only `os.remove` calls in the chunked path are the two that
13
+ * reap batch partials, app.py:266 and :270), and the no-bed branch still writes `final.mp4` with
14
+ * `-c copy` rather than renaming. So finalize holds TWO full-length copies of the film at once.
15
+ * That is the term this check bounds. NOTE: the container's own comment at app.py:57-59 says
16
+ * "peak disk at that stage is one film"; the code above says two, and this file follows the code.
17
+ *
18
+ * WHY THE THRESHOLD IS NOT `MAX_CLIPS x MAX_CLIP_BYTES`. cf#813 measures that product (80 x 256 MB
19
+ * = 20.0 GB) as 23x to 120x above what a real film weighs, because `MAX_CLIP_BYTES` is the size at
20
+ * which a DOWNLOAD is refused, not a payload. A gate written against it could never fire, which is
21
+ * worse than no gate because it reads as protection. It is also the wrong QUANTITY: cf#813 measures
22
+ * the normalized-to-source byte ratio at 0.98x to 5.09x, so source bytes do not predict the film.
23
+ *
24
+ * WHAT IT IS WRITTEN AGAINST INSTEAD: bitrate x duration, from cf#813's measured encodes through
25
+ * this container's exact normalize command. See NORMALIZED_BITS_PER_PIXEL_FRAME.
26
+ *
27
+ * WHERE IT RUNS. On the Worker, before the first presign is minted. The Worker has the clip list
28
+ * and the per-clip measured durations for free; the container learns a clip's length only by
29
+ * downloading it. Refusing here costs nothing, refusing there costs the whole download.
30
+ */
31
+ /**
32
+ * Normalized video bits per pixel per frame at the container's encode settings
33
+ * (`libx264 -crf 18 -preset medium`, containers/video-finish/app.py:612).
34
+ *
35
+ * DERIVED FROM cf#813's MEASUREMENT, not picked. Its 1080p24 band tops out at 11.16 Mbps:
36
+ *
37
+ * 11.16e6 bits/s / (1920 x 1080 x 24 px/s) = 0.2243 bits/px/frame
38
+ *
39
+ * Rounded UP to 0.225. Cross-checked against the same measurement's 720p24 ceiling, which is an
40
+ * independent row: 0.225 x 1280 x 720 x 24 = 4.98 Mbps against a measured 4.82 Mbps, i.e. 3.3%
41
+ * conservative. Bits-per-pixel being near-constant across the two resolutions is what lets one
42
+ * number serve any delivery target instead of a per-resolution table that would rot.
43
+ *
44
+ * THE CEILING OF THE BAND, DELIBERATELY, and the direction of error is the point. This predicts
45
+ * the LARGEST film a given input can normalize to, so the refusal comes early rather than after
46
+ * the disk is already full. cf#813 also warns that its pan-based proxies UNDERESTIMATE real
47
+ * generated video (no subject deformation, no per-frame diffusion shimmer), which argues for the
48
+ * ceiling rather than the middle of the band as well.
49
+ *
50
+ * A film's predicted bytes are therefore an upper bound on its size and a lower bound on nothing:
51
+ * a legitimate film lands well under, which is what keeps the CONTROL case admitted.
52
+ */
53
+ export declare const NORMALIZED_BITS_PER_PIXEL_FRAME = 0.225;
54
+ /**
55
+ * Ephemeral disk of the container instance the finish tier runs on.
56
+ *
57
+ * `instance_type = "standard-4"` (vivijure-cf wrangler.toml.example:238), documented there at
58
+ * :201 as "the LARGEST Cloudflare offers (4 vCPU / 12 GiB / 20 GB disk)". Read as DECIMAL GB, the
59
+ * smaller of the two readings, because guessing GiB here would silently widen the budget by 7%.
60
+ */
61
+ export declare const CONTAINER_DISK_BYTES = 20000000000;
62
+ /**
63
+ * Full-length copies of the film resident on disk at once during finalize.
64
+ *
65
+ * TWO, not one: `_silent.mp4` then `final.mp4`, with no remove between them. See the file header
66
+ * for the exact lines. This is the multiplier the whole check turns on, so it is a named constant
67
+ * with its evidence rather than a `* 2` inline.
68
+ */
69
+ export declare const FINALIZE_FILM_COPIES = 2;
70
+ /**
71
+ * Peak disk the BATCH stage may occupy, mirroring the container's own budget at
72
+ * containers/video-finish/app.py:49-50: `3 x (MAX_BATCH_BYTES + MAX_CLIP_BYTES)` -- a batch's
73
+ * sources, their normalized copies, and the batch partial.
74
+ *
75
+ * Reserved even though the batch dirs are removed before the final join, so the two stages do not
76
+ * in fact coexist. cf#815 asks for headroom for "the assembled film plus one batch working set",
77
+ * and a reserve that survives a future reordering of those stages is worth 4 GB of a 20 GB disk.
78
+ *
79
+ * cf#813 argues this multiplier should be ~5x rather than 3x against SOURCE bytes, because the
80
+ * normalized copy is roughly 2x its source while the fixed 1920x1080 target is still upscaling.
81
+ * Correcting the container's constant is cf#813's acceptance item, not this one's; this reserve
82
+ * deliberately quotes the container's CURRENT number so the two cannot silently disagree about
83
+ * what is reserved today.
84
+ */
85
+ export declare const CONTAINER_BATCH_PEAK_BYTES: number;
86
+ /** `MAX_AUDIO_BYTES`, containers/video-finish/app.py:41. The bed lands on disk beside the film. */
87
+ export declare const CONTAINER_AUDIO_BED_BYTES: number;
88
+ /**
89
+ * Disk the image, the OS and ffmpeg's own scratch occupy, which the film must not be allowed to
90
+ * claim. A RESERVE, stated as one: it is not a measurement of the image, and it is deliberately
91
+ * generous, because the cost of over-reserving is a lower film ceiling and the cost of
92
+ * under-reserving is the ENOSPC this check exists to prevent.
93
+ */
94
+ export declare const CONTAINER_IMAGE_RESERVE_BYTES = 2000000000;
95
+ /**
96
+ * Frames per second the container normalizes to when the payload omits `fps`.
97
+ *
98
+ * `int(body.get("fps", 24))`, containers/video-finish/app.py:391 (and :205, :1107).
99
+ *
100
+ * THREE NUMBERS HAVE TO AGREE HERE and a comment cannot make them: the container's fallback, core's
101
+ * `DEFAULT_DELIVERY_FPS` (film-model.ts:1458), and this prediction. `assemble-admission.test.ts`
102
+ * asserts this constant equals `DEFAULT_DELIVERY_FPS`, so a future edit to either one fails a test
103
+ * rather than silently mispredicting every film by the ratio between them.
104
+ */
105
+ export declare const CONTAINER_DEFAULT_FPS = 24;
106
+ /** The largest predicted film the container can finalize on its ephemeral disk. */
107
+ export declare function assembleFilmByteCeiling(): number;
108
+ /** Predicted normalized bytes for `seconds` of video at a delivery target. */
109
+ export declare function predictNormalizedBytes(width: number, height: number, fps: number, seconds: number): number;
110
+ /** Seconds of film this assemble will produce, and how much of that is EVIDENCE. */
111
+ export interface AssembleSecondsBasis {
112
+ /** Summed seconds of every clip whose length is known. */
113
+ seconds: number;
114
+ /** Clips whose length came from the container's own probe (delivered_frames / delivered_fps). */
115
+ measured: number;
116
+ /** Clips whose length came from the plan (bundle target_seconds, else the authored scene). */
117
+ planned: number;
118
+ /** Clips with neither. They contribute ZERO seconds, so `seconds` is a LOWER bound. */
119
+ unknown: number;
120
+ }
121
+ /**
122
+ * Resolve the film's length from what the Worker already holds.
123
+ *
124
+ * MEASURED WINS, PLAN FILLS, ABSENCE IS NAMED. This mirrors the #697 duration gate's discipline
125
+ * (`findClipDurationShortfalls`): the check fires on EVIDENCE and never on absence, so a clip with
126
+ * no known length cannot by itself refuse a film. It contributes zero seconds and is COUNTED, so
127
+ * the caller can say the prediction is a lower bound instead of implying it is complete.
128
+ *
129
+ * A lower bound is still enough to refuse on: if the clips we CAN size already exceed the disk,
130
+ * the ones we cannot size do not make the film smaller.
131
+ */
132
+ export declare function resolveAssembleSeconds(finalClips: {
133
+ shot_id: string;
134
+ }[], measuredSeconds: Map<string, number> | ReadonlyMap<string, number>, plannedSeconds: Record<string, number>): AssembleSecondsBasis;
135
+ export interface AssembleAdmissionInput {
136
+ clipCount: number;
137
+ width: number;
138
+ height: number;
139
+ fps?: number;
140
+ basis: AssembleSecondsBasis;
141
+ }
142
+ export interface AssembleAdmission {
143
+ admitted: boolean;
144
+ predictedBytes: number;
145
+ ceilingBytes: number;
146
+ /** Seconds of film the ceiling allows at this delivery target. The actionable number. */
147
+ allowedSeconds: number;
148
+ basis: AssembleSecondsBasis;
149
+ /** Loud, arithmetic-bearing refusal. Set only when `admitted` is false. */
150
+ reason?: string;
151
+ }
152
+ /**
153
+ * Admit or refuse an assemble before a single byte is fetched.
154
+ *
155
+ * PURE. Every number it uses is either passed in or a constant above with its provenance, so the
156
+ * arithmetic in the refusal is reproducible from the message alone.
157
+ *
158
+ * REFUSAL IS LOUD AND TERMINAL, never a degrade (cf#815, the #249/#77 discipline). A film that
159
+ * cannot fit is not silently truncated to one that does: the caller is told what was asked, what
160
+ * fits, by how much it is over, and what length would be accepted.
161
+ */
162
+ export declare function admitAssemble(input: AssembleAdmissionInput): AssembleAdmission;
163
+ //# sourceMappingURL=assemble-admission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-admission.d.ts","sourceRoot":"","sources":["../src/assemble-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,cAAiB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,QAA+C,CAAC;AAEvF,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,aAAgB,CAAC;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,mFAAmF;AACnF,wBAAgB,uBAAuB,IAAI,MAAM,CAIhD;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACjC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,oBAAoB,CAsBtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAwB9E"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Pre-flight input-bytes admission check for a chunked assemble (cf#815).
3
+ *
4
+ * WHAT THIS BOUNDS, AND WHY IT IS NOT AN OUTPUT CAP. The container writes the assembled film to
5
+ * local disk before streaming it to R2, and nothing bounds that write. Chunked assemble (cf#784)
6
+ * flattened peak disk for the BATCH stage -- each batch dir is removed on flush and every partial
7
+ * goes straight to R2 -- but it left the FINALIZE stage untouched:
8
+ *
9
+ * containers/video-finish/app.py:315 `_silent.mp4` <- the joined film
10
+ * containers/video-finish/app.py:786 `final.mp4` <- _mux_bed_onto, written FROM _silent.mp4
11
+ *
12
+ * `_silent.mp4` is never removed (the only `os.remove` calls in the chunked path are the two that
13
+ * reap batch partials, app.py:266 and :270), and the no-bed branch still writes `final.mp4` with
14
+ * `-c copy` rather than renaming. So finalize holds TWO full-length copies of the film at once.
15
+ * That is the term this check bounds. NOTE: the container's own comment at app.py:57-59 says
16
+ * "peak disk at that stage is one film"; the code above says two, and this file follows the code.
17
+ *
18
+ * WHY THE THRESHOLD IS NOT `MAX_CLIPS x MAX_CLIP_BYTES`. cf#813 measures that product (80 x 256 MB
19
+ * = 20.0 GB) as 23x to 120x above what a real film weighs, because `MAX_CLIP_BYTES` is the size at
20
+ * which a DOWNLOAD is refused, not a payload. A gate written against it could never fire, which is
21
+ * worse than no gate because it reads as protection. It is also the wrong QUANTITY: cf#813 measures
22
+ * the normalized-to-source byte ratio at 0.98x to 5.09x, so source bytes do not predict the film.
23
+ *
24
+ * WHAT IT IS WRITTEN AGAINST INSTEAD: bitrate x duration, from cf#813's measured encodes through
25
+ * this container's exact normalize command. See NORMALIZED_BITS_PER_PIXEL_FRAME.
26
+ *
27
+ * WHERE IT RUNS. On the Worker, before the first presign is minted. The Worker has the clip list
28
+ * and the per-clip measured durations for free; the container learns a clip's length only by
29
+ * downloading it. Refusing here costs nothing, refusing there costs the whole download.
30
+ */
31
+ /**
32
+ * Normalized video bits per pixel per frame at the container's encode settings
33
+ * (`libx264 -crf 18 -preset medium`, containers/video-finish/app.py:612).
34
+ *
35
+ * DERIVED FROM cf#813's MEASUREMENT, not picked. Its 1080p24 band tops out at 11.16 Mbps:
36
+ *
37
+ * 11.16e6 bits/s / (1920 x 1080 x 24 px/s) = 0.2243 bits/px/frame
38
+ *
39
+ * Rounded UP to 0.225. Cross-checked against the same measurement's 720p24 ceiling, which is an
40
+ * independent row: 0.225 x 1280 x 720 x 24 = 4.98 Mbps against a measured 4.82 Mbps, i.e. 3.3%
41
+ * conservative. Bits-per-pixel being near-constant across the two resolutions is what lets one
42
+ * number serve any delivery target instead of a per-resolution table that would rot.
43
+ *
44
+ * THE CEILING OF THE BAND, DELIBERATELY, and the direction of error is the point. This predicts
45
+ * the LARGEST film a given input can normalize to, so the refusal comes early rather than after
46
+ * the disk is already full. cf#813 also warns that its pan-based proxies UNDERESTIMATE real
47
+ * generated video (no subject deformation, no per-frame diffusion shimmer), which argues for the
48
+ * ceiling rather than the middle of the band as well.
49
+ *
50
+ * A film's predicted bytes are therefore an upper bound on its size and a lower bound on nothing:
51
+ * a legitimate film lands well under, which is what keeps the CONTROL case admitted.
52
+ */
53
+ export const NORMALIZED_BITS_PER_PIXEL_FRAME = 0.225;
54
+ /**
55
+ * Ephemeral disk of the container instance the finish tier runs on.
56
+ *
57
+ * `instance_type = "standard-4"` (vivijure-cf wrangler.toml.example:238), documented there at
58
+ * :201 as "the LARGEST Cloudflare offers (4 vCPU / 12 GiB / 20 GB disk)". Read as DECIMAL GB, the
59
+ * smaller of the two readings, because guessing GiB here would silently widen the budget by 7%.
60
+ */
61
+ export const CONTAINER_DISK_BYTES = 20_000_000_000;
62
+ /**
63
+ * Full-length copies of the film resident on disk at once during finalize.
64
+ *
65
+ * TWO, not one: `_silent.mp4` then `final.mp4`, with no remove between them. See the file header
66
+ * for the exact lines. This is the multiplier the whole check turns on, so it is a named constant
67
+ * with its evidence rather than a `* 2` inline.
68
+ */
69
+ export const FINALIZE_FILM_COPIES = 2;
70
+ /**
71
+ * Peak disk the BATCH stage may occupy, mirroring the container's own budget at
72
+ * containers/video-finish/app.py:49-50: `3 x (MAX_BATCH_BYTES + MAX_CLIP_BYTES)` -- a batch's
73
+ * sources, their normalized copies, and the batch partial.
74
+ *
75
+ * Reserved even though the batch dirs are removed before the final join, so the two stages do not
76
+ * in fact coexist. cf#815 asks for headroom for "the assembled film plus one batch working set",
77
+ * and a reserve that survives a future reordering of those stages is worth 4 GB of a 20 GB disk.
78
+ *
79
+ * cf#813 argues this multiplier should be ~5x rather than 3x against SOURCE bytes, because the
80
+ * normalized copy is roughly 2x its source while the fixed 1920x1080 target is still upscaling.
81
+ * Correcting the container's constant is cf#813's acceptance item, not this one's; this reserve
82
+ * deliberately quotes the container's CURRENT number so the two cannot silently disagree about
83
+ * what is reserved today.
84
+ */
85
+ export const CONTAINER_BATCH_PEAK_BYTES = 3 * (1024 * 1024 * 1024 + 256 * 1024 * 1024);
86
+ /** `MAX_AUDIO_BYTES`, containers/video-finish/app.py:41. The bed lands on disk beside the film. */
87
+ export const CONTAINER_AUDIO_BED_BYTES = 256 * 1024 * 1024;
88
+ /**
89
+ * Disk the image, the OS and ffmpeg's own scratch occupy, which the film must not be allowed to
90
+ * claim. A RESERVE, stated as one: it is not a measurement of the image, and it is deliberately
91
+ * generous, because the cost of over-reserving is a lower film ceiling and the cost of
92
+ * under-reserving is the ENOSPC this check exists to prevent.
93
+ */
94
+ export const CONTAINER_IMAGE_RESERVE_BYTES = 2_000_000_000;
95
+ /**
96
+ * Frames per second the container normalizes to when the payload omits `fps`.
97
+ *
98
+ * `int(body.get("fps", 24))`, containers/video-finish/app.py:391 (and :205, :1107).
99
+ *
100
+ * THREE NUMBERS HAVE TO AGREE HERE and a comment cannot make them: the container's fallback, core's
101
+ * `DEFAULT_DELIVERY_FPS` (film-model.ts:1458), and this prediction. `assemble-admission.test.ts`
102
+ * asserts this constant equals `DEFAULT_DELIVERY_FPS`, so a future edit to either one fails a test
103
+ * rather than silently mispredicting every film by the ratio between them.
104
+ */
105
+ export const CONTAINER_DEFAULT_FPS = 24;
106
+ /** The largest predicted film the container can finalize on its ephemeral disk. */
107
+ export function assembleFilmByteCeiling() {
108
+ const reserved = CONTAINER_BATCH_PEAK_BYTES + CONTAINER_AUDIO_BED_BYTES + CONTAINER_IMAGE_RESERVE_BYTES;
109
+ return Math.max(0, Math.floor((CONTAINER_DISK_BYTES - reserved) / FINALIZE_FILM_COPIES));
110
+ }
111
+ /** Predicted normalized bytes for `seconds` of video at a delivery target. */
112
+ export function predictNormalizedBytes(width, height, fps, seconds) {
113
+ if (!(width > 0) || !(height > 0) || !(fps > 0) || !(seconds > 0))
114
+ return 0;
115
+ return Math.ceil((NORMALIZED_BITS_PER_PIXEL_FRAME * width * height * fps * seconds) / 8);
116
+ }
117
+ /**
118
+ * Resolve the film's length from what the Worker already holds.
119
+ *
120
+ * MEASURED WINS, PLAN FILLS, ABSENCE IS NAMED. This mirrors the #697 duration gate's discipline
121
+ * (`findClipDurationShortfalls`): the check fires on EVIDENCE and never on absence, so a clip with
122
+ * no known length cannot by itself refuse a film. It contributes zero seconds and is COUNTED, so
123
+ * the caller can say the prediction is a lower bound instead of implying it is complete.
124
+ *
125
+ * A lower bound is still enough to refuse on: if the clips we CAN size already exceed the disk,
126
+ * the ones we cannot size do not make the film smaller.
127
+ */
128
+ export function resolveAssembleSeconds(finalClips, measuredSeconds, plannedSeconds) {
129
+ let seconds = 0;
130
+ let measured = 0;
131
+ let planned = 0;
132
+ let unknown = 0;
133
+ for (const c of finalClips ?? []) {
134
+ if (!c || typeof c.shot_id !== "string")
135
+ continue;
136
+ const m = measuredSeconds?.get(c.shot_id);
137
+ if (typeof m === "number" && Number.isFinite(m) && m > 0) {
138
+ seconds += m;
139
+ measured += 1;
140
+ continue;
141
+ }
142
+ const p = plannedSeconds?.[c.shot_id];
143
+ if (typeof p === "number" && Number.isFinite(p) && p > 0) {
144
+ seconds += p;
145
+ planned += 1;
146
+ continue;
147
+ }
148
+ unknown += 1;
149
+ }
150
+ return { seconds, measured, planned, unknown };
151
+ }
152
+ function gb(bytes) {
153
+ return `${(bytes / 1_000_000_000).toFixed(2)} GB`;
154
+ }
155
+ /**
156
+ * Admit or refuse an assemble before a single byte is fetched.
157
+ *
158
+ * PURE. Every number it uses is either passed in or a constant above with its provenance, so the
159
+ * arithmetic in the refusal is reproducible from the message alone.
160
+ *
161
+ * REFUSAL IS LOUD AND TERMINAL, never a degrade (cf#815, the #249/#77 discipline). A film that
162
+ * cannot fit is not silently truncated to one that does: the caller is told what was asked, what
163
+ * fits, by how much it is over, and what length would be accepted.
164
+ */
165
+ export function admitAssemble(input) {
166
+ const fps = input.fps && input.fps > 0 ? input.fps : CONTAINER_DEFAULT_FPS;
167
+ const { width, height, basis, clipCount } = input;
168
+ const ceilingBytes = assembleFilmByteCeiling();
169
+ const predictedBytes = predictNormalizedBytes(width, height, fps, basis.seconds);
170
+ const perSecond = predictNormalizedBytes(width, height, fps, 1);
171
+ const allowedSeconds = perSecond > 0 ? Math.floor(ceilingBytes / perSecond) : 0;
172
+ if (predictedBytes <= ceilingBytes) {
173
+ return { admitted: true, predictedBytes, ceilingBytes, allowedSeconds, basis };
174
+ }
175
+ const over = predictedBytes - ceilingBytes;
176
+ const bound = basis.unknown > 0 ? " (a LOWER bound: " + basis.unknown + " clip(s) of unknown length contributed 0s)" : "";
177
+ const reason = `assemble refused before any clip was fetched: ${clipCount} clip(s) totalling ` +
178
+ `${basis.seconds.toFixed(1)}s at ${width}x${height}@${fps} predict ${gb(predictedBytes)} of ` +
179
+ `normalized video${bound}, and the container can finalize at most ${gb(ceilingBytes)}. ` +
180
+ `Over by ${gb(over)}. Budget: ${gb(CONTAINER_DISK_BYTES)} ephemeral disk (standard-4), less ` +
181
+ `${gb(CONTAINER_BATCH_PEAK_BYTES)} batch working set, ${gb(CONTAINER_AUDIO_BED_BYTES)} audio ` +
182
+ `bed and ${gb(CONTAINER_IMAGE_RESERVE_BYTES)} image reserve, divided by ` +
183
+ `${FINALIZE_FILM_COPIES} full-length copies resident at finalize. ` +
184
+ `Basis: ${basis.measured} measured, ${basis.planned} planned, ${basis.unknown} unknown. ` +
185
+ `This delivery target admits at most ${allowedSeconds}s; reduce the film, or lower ` +
186
+ `delivery_width/delivery_height.`;
187
+ return { admitted: false, predictedBytes, ceilingBytes, allowedSeconds, basis, reason };
188
+ }
189
+ //# sourceMappingURL=assemble-admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-admission.js","sourceRoot":"","sources":["../src/assemble-admission.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  // fallback)
26
26
  //
27
27
  // Returns the R2 key at bundles/<projectName>.tar.gz on success.
28
- import { isMediaFinishAuthError, mediaDoorFetch, mediaDoorUrl, mediaFinishHeaders } from "./media-finish-auth.js";
28
+ import { isMediaFinishAuthError, mediaDoorFetch, mediaDoorReachable, mediaFinishHeaders } from "./media-finish-auth.js";
29
29
  import { validateStoryboard, } from "./storyboard-validate.js";
30
30
  import { serializeStoryboardYaml } from "./planner-yaml.js";
31
31
  import { emitTar, readTar } from "./tar.js";
@@ -178,7 +178,7 @@ export async function callImagePrep(env, payload, opts = {}) {
178
178
  // image-prep runs always-on on the fleet. The host sets IMAGE_PREP_URL; unset
179
179
  // skips rembg (the caller falls back to the original portrait). The 503 retry
180
180
  // stays as cheap transport insurance (issue #83).
181
- if (!mediaDoorUrl(env, "IMAGE_PREP_URL"))
181
+ if (!mediaDoorReachable(env, "IMAGE_PREP_URL"))
182
182
  return null;
183
183
  let resp = null;
184
184
  for (let attempt = 0; attempt < retries; attempt++) {
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-assembler.js","sourceRoot":"","sources":["../src/bundle-assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-assembler.js","sourceRoot":"","sources":["../src/bundle-assembler.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ export interface FinishShot {
57
57
  chain: string[];
58
58
  configs?: Record<string, unknown>[];
59
59
  idx: number;
60
- status: "pending" | "done" | "failed";
60
+ status: "pending" | "done" | "failed" | "refused";
61
61
  poll?: string;
62
62
  applied: string[];
63
63
  adopted?: string[];
@@ -262,6 +262,7 @@ export interface FinishSummary {
262
262
  total: number;
263
263
  done: number;
264
264
  failed: number;
265
+ refused: number;
265
266
  pending: number;
266
267
  adopted: number;
267
268
  degraded: number;
@@ -319,14 +320,19 @@ export declare function finishOutputIsCsamRefusal(out: FinishOutput): boolean;
319
320
  * #226: also persist `out.degraded` so the reason is not swallowed. CSAM is refused by the
320
321
  * caller (see applyFinishOutputOrRefuse); this fold never turns a refusal into a degrade. */
321
322
  export declare function applyFinishOutput(fs: FinishShot, out: FinishOutput, project: string): void;
322
- /** Fold a finish output, or fail the shot if the output is a CSAM refusal. The fold itself must
323
- * never record a CSAM reason as a polish miss -- that is the bright line, not a degrade. */
323
+ /** Fold a finish output, or refuse the shot if the output is a CSAM refusal. The fold itself must
324
+ * never record a CSAM reason as a polish miss -- that is the bright line, not a degrade.
325
+ *
326
+ * A refusal goes to the `refused` terminal state, NOT to `failed`. `failed` is the RECOVERABLE
327
+ * terminal state (the artifact may yet be adopted from R2), and a refusal is a decision that no
328
+ * later pass may revisit, so the two cannot share a status. `error` carries the reason and is never
329
+ * cleared for a refused shot. See GHSA-hcr9-8jc2-9q4c. */
324
330
  export declare function applyFinishOutputOrRefuse(fs: FinishShot, out: FinishOutput, project: string): void;
325
331
  /** Pure: fold an ADOPTED (reused-from-R2, NOT run this pass) finish-step artifact into the shot. Same
326
332
  * chain advance as applyFinishOutput, but the step marker lands in `adopted` (the honest reuse channel)
327
333
  * and is NEVER pushed into `applied` -- the record must not claim a run that did not happen (#583).
328
334
  * `clip_key` is the adopted artifact key; `tag` is the reconstructed step marker (finishStepAppliedTag). */
329
- export declare function adoptFinishStepOutput(fs: FinishShot, clip_key: string, tag: string): void;
335
+ export declare function adoptFinishStepOutput(fs: RecoverableFinishShot, clip_key: string, tag: string): void;
330
336
  /** Pure: fold one speech module's output into the shot. On a REAL enhancement (no `degraded`), thread the
331
337
  * new audio_key forward so the next step (and finish) sees the cleaned audio; on an honest soft-degrade,
332
338
  * LEAVE audio_key UNCHANGED (the original audio survives) and record the reason -- no fake applied tag,
@@ -354,6 +360,26 @@ export declare function resolveFinishConfigs(serving: {
354
360
  name: string;
355
361
  config_schema?: ConfigSchema;
356
362
  }[], finishConfig: Record<string, Record<string, unknown>> | undefined): Record<string, unknown>[];
363
+ /** A finish shot in a state a recovery path is allowed to act on. THE ONLY WAY to obtain this type is
364
+ * finishShotRecoverable (or a guard built on it), and that guard admits `pending` and `failed` only.
365
+ * A `refused` shot is therefore not merely rejected by a condition somewhere: it cannot be passed to
366
+ * anything that recovers, present or future, because it does not inhabit the type. A new recovery path
367
+ * takes RecoverableFinishShot as its parameter and gets the guarantee for free. GHSA-hcr9-8jc2-9q4c. */
368
+ declare const RECOVERABLE_FINISH_SHOT: unique symbol;
369
+ export type RecoverableFinishShot = FinishShot & {
370
+ readonly [RECOVERABLE_FINISH_SHOT]: true;
371
+ };
372
+ /** Pure: may a recovery path act on this shot at all? The ONE place the recoverable states are
373
+ * enumerated -- every adoption/reclaim guard narrows through this, so the set has a single
374
+ * definition rather than one condition per call site. A terminal refusal is not recoverable. */
375
+ export declare function finishShotRecoverable(fs: FinishShot): fs is RecoverableFinishShot;
376
+ /** Pure: is this shot terminal WITHOUT a deliverable finished clip, so the render must fail loud
377
+ * rather than assemble? True for a failed step with no path left AND for a refusal. This is the
378
+ * predicate every "did not deliver" judgment wants: `status === "failed"` alone would let a refused
379
+ * shot pass the phase-terminal check and assemble. */
380
+ export declare function finishShotBlocksRender(fs: FinishShot): boolean;
381
+ /** Pure: the finish shots that must stop the render, in shot order. Empty means the phase may advance. */
382
+ export declare function finishPhaseBlockers(shots: FinishShot[]): FinishShot[];
357
383
  /** Pure: is this finish shot eligible to be adopted from its R2 artifact? R2 PRESENCE IS AUTHORITATIVE
358
384
  * -- if <shot>_finished.mp4 is in R2 the work is done regardless of what the RunPod job envelope says.
359
385
  * Two cases are adoptable:
@@ -364,7 +390,7 @@ export declare function resolveFinishConfigs(serving: {
364
390
  * 90min hard-deadline and FALSE-FAILS a complete render (surfaced by RUN #29; sibling of #141/#142).
365
391
  * A `pending` shot mid-chain (idx < last) is NOT adopted: its R2 key would be an intermediate module's
366
392
  * output, not the chain's final artifact, so the remaining modules must still run. */
367
- export declare function finishShotAdoptableFromR2(fs: FinishShot): boolean;
393
+ export declare function finishShotAdoptableFromR2(fs: FinishShot): fs is RecoverableFinishShot;
368
394
  /** Pure: adopt every adoptable finish shot whose finished clip is present in R2 (the artifact overrides
369
395
  * the module's verdict / a stuck envelope). Mutates `finishShots`, returns the number adopted. Mirrors
370
396
  * reclaimClipsFromR2 on the clips leg so the two phases recover symmetrically. */
@@ -412,8 +438,8 @@ export declare function finishShotLedgerReconciles(fs: FinishShot): boolean;
412
438
  * check R2 PRESENCE for a step whose RunPod job was GC'd / froze MID-chain (the #141/#166 R2-authoritative
413
439
  * pattern, extended from the final step to any step). The modules: finish-rife writes
414
440
  * `<project>/clips/<shot>_finished.mp4` (named off the shot id by its container); the append-convention
415
- * modules derive `<input-base>_<suffix>.<ext>` from the input clip key (musetalk lip-sync -> `_ls`,
416
- * upscale -> `_up`; see vivijure-musetalk / vivijure-upscale handler.py). Returns null for a module whose
441
+ * modules derive `<input-base>_<suffix>.<ext>` from the input clip key (lip-sync -> `_ls`,
442
+ * upscale -> `_up`; see vivijure-upscale handler.py). Returns null for a module whose
417
443
  * convention we do not model (e.g. text-overlay), so an unmodeled step gets NO R2 shortcut and can never
418
444
  * be advanced off a sibling step's artifact -- the mid-chain phantom-adopt the silent-render bug warned of. */
419
445
  export declare function finishStepOutputKey(project: string, fs: FinishShot, modules?: RegisteredModule[]): string | null;
@@ -601,8 +627,8 @@ export declare function phaseCeilingVerdict(job: FilmJob, modules?: RegisteredMo
601
627
  * WHAT THIS DOES NOT FIX, stated here because a green suite would otherwise imply it did: a chain with
602
628
  * exactly ONE step has no intra-shot progress to observe, so a single-shot film whose finish chain is
603
629
  * just `finish-upscale` still gets its one marker change at the very end -- which is precisely the
604
- * configuration #182 describes. Four modules declare the `finish` hook (finish-upscale, finish-lipsync,
605
- * finish-rife, finish-blender), so chains of 2..4 steps are ordinary and this covers them; the
630
+ * configuration #182 describes. Several modules declare the `finish` hook (finish-upscale, finish-rife,
631
+ * finish-blender), so multi-step chains (2 or more) are ordinary and this covers them; the
606
632
  * single-step case needs a ceiling sized to the work, not a finer marker. `tests/film-progress-marker-182`
607
633
  * asserts that limit explicitly rather than leaving it to be discovered. */
608
634
  export declare function filmProgressMarker(job: FilmJob, clipJob: ClipJob | null): string;
@@ -1 +1 @@
1
- {"version":3,"file":"film-model.d.ts","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"film-model.d.ts","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhJ,OAAO,EAAgB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOlF,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAM/C,MAAM,WAAW,SAAS;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAEhF;6DAC6D;AAC7D,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F,MAAM,CAqBR;AAED;oDACoD;AACpD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GACb;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAK5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;+CAE+C;AAC/C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBnF;AAED;+DAC+D;AAC/D,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAMR;AAED;qEACqE;AACrE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlE;AAED;wEACwE;AACxE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CASrC;AAED;;;8FAG8F;AAC9F;;;6GAG6G;AAC7G,MAAM,WAAW,gBAAgB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;CAAE;AAEvF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IAWZ,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAMnB,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;0FAI0F;AAC1F,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB;;;;;;;;;;wCAUoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;oBAYgB;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAKvD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,UAAU,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7J,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG5B,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIhD,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,oGAAoG;IACpG,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIhD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIpC,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IASnB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACrC,CAAC;IAGF,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IAM7F,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAMlB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAInB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAKF,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAQhD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI9C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAQ7C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAS3B,kBAAkB,CAAC,EAAE;QACnB,EAAE,EAAE,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,GAAG,aAAa,CAAC;QACnC,KAAK,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACjD,CAAC;IAQF,oBAAoB,CAAC,EAAE;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;+FAI2F;IAC3F,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,QAAA,MAAM,OAAO,OAAQ,MAAM,WAAkC,CAAC;AAC9D,QAAA,MAAM,UAAU,cAAe,MAAM,WAA0C,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,UAAU,IAAI,aAAa,EAAE,CAAC;AAEjE,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAK3D;AAED;sGACsG;AACtG,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,GACrD;IAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAU9G;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACtF,KAAK,EAAE,CAAC,EAAE,GACT,CAAC,CAAC,GAAG;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAKxC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IAIf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AACD;;;;wCAIwC;AACxC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY,EAAE,GAAG,SAAS,CAgBlF;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAIrC,kBAAkB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAGnD,oBAAoB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAOvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;wFACwF;AACxF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAUzD;AAaD,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAelE;AACD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,WAAW,CAsBhF;AAED;;0FAE0F;AAC1F,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,GAC7C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAQzC;AAED,sGAAsG;AACtG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAGpE;AAED;;;8FAG8F;AAC9F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAiB1F;AAED;;;;;;2DAM2D;AAC3D,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAclG;AAED;;;6GAG6G;AAC7G,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUpG;AAED;;;6FAG6F;AAC7F,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAQzE;AASD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;oGAEoG;AACpG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAG9F;AAED;8CAC8C;AAC9C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAAiC,GAC7C;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAI5D;AAED;;;;wDAIwD;AACxD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,EACzD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAChE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAE3B;AAED;;;;yGAIyG;AACzG,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE9F;;iGAEiG;AACjG,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,IAAI,qBAAqB,CAEjF;AAED;;;uDAGuD;AACvD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAE9D;AAED,0GAA0G;AAC1G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAErE;AAED;;;;;;;;;uFASuF;AACvF,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,IAAI,qBAAqB,CAarF;AAED;;mFAEmF;AACnF,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAoBtI;AAED;;;;;;;;;;;;;;;;;;;;;;2EAsB2E;AAC3E,wBAAgB,cAAc,CAC5B,EAAE,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAQ1E;AAED;;;;6GAI6G;AAC7G,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAGlE;AAED;;;;;;;;gHAQgH;AAChH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,IAAI,CAgBhH;AAkDD;;;+GAG+G;AAC/G,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAkBzF;AAED;;;;;;;;;;;;qDAYqD;AACrD,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAqBnB;AAID;6FAC6F;AAC7F,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAKzD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAM1C,eAAO,MAAM,oBAAoB,QAAU,CAAC;AAE5C;0FAC0F;AAC1F,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,SAAS,CAG5E;AAED;;;;;oGAKoG;AACpG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,KAAK,GAAG,KAAa,GAAG,MAAM,CAKtF;AAED;;;;oFAIoF;AACpF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,CAS5F;AAED;;gCAEgC;AAChC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMtE;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAEvD;AAED;;;;;0EAK0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAE/D;AAED;;;;;;;qDAOqD;AACrD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,GAAG,YAAY,EAAE,GAAG,SAAS,CAUhI;AAcD,eAAO,MAAM,sBAAsB,QAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,QAAU,CAAC;AAEnD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAOxD,CAAC;AAEH;6FAC6F;AAC7F,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAG9E;AAED;;qFAEqF;AACrF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAA6D,CAAC;AAExH;;;;;;+FAM+F;AAC/F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAIhF;AAED;;;;;iBAKiB;AACjB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;+CAC2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE;qDACiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;6DAEyD;IACzD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEA6BuE;AACvE,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,YAAY,CA8CrF;AAED;;;;;;;;;uDASuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAC5B,GAAG,GAAE,MAAmB,GACvB,mBAAmB,CAgBrB;AAED;;;;;;;;;;;;;;;;;;;;;6EAqB6E;AAC7E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAehF;AAED;;;;;oEAKoE;AACpE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAM1G;AAWD;4GAC4G;AAC5G;;;;;;wDAMwD;AACxD,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C;;;;;;;8EAO8E;AAC9E,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;;iCAKiC;AACjC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD;;;iGAGiG;AACjG,wBAAgB,yBAAyB,CACvC,GAAG,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,kBAAkB,CAKpB;AAED,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;iDAGiD;AACjD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;uFACuF;AACvF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAchF;AAED,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;yFACyF;AACzF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIxE;AAED;;;4FAG4F;AAC5F,wBAAgB,uBAAuB,CACrC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACjC,aAAa,EAAE,OAAO,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;uGAEuG;AACvG,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED,mEAAmE;AACnE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;yGAGyG;AACzG,wBAAgB,0BAA0B,CACxC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,qBAAqB,EAAE,CAWzB;AAED;;;+EAG+E;AAC/E,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB"}