screenci 0.0.75 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +62 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +699 -229
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +277 -91
- package/dist/docs/manifest.d.ts.map +1 -1
- package/dist/docs/manifest.js +101 -30
- package/dist/docs/manifest.js.map +1 -1
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts +2 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js +57 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js.map +1 -0
- package/dist/docs/video-sources/installation.screenci.js +19 -10
- package/dist/docs/video-sources/installation.screenci.js.map +1 -1
- package/dist/docs/video-sources/landing.screenci.js +6 -8
- package/dist/docs/video-sources/landing.screenci.js.map +1 -1
- package/dist/docs/video-sources/languages.screenci.d.ts +2 -0
- package/dist/docs/video-sources/languages.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/languages.screenci.js +68 -0
- package/dist/docs/video-sources/languages.screenci.js.map +1 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js +4 -5
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
- package/dist/docs/video-sources/locator-highlight-still.screenci.js +3 -4
- package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
- package/dist/docs/video-sources/narration.screenci.d.ts +2 -0
- package/dist/docs/video-sources/narration.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/narration.screenci.js +71 -0
- package/dist/docs/video-sources/narration.screenci.js.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts +2 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js +60 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts +2 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.js +76 -0
- package/dist/docs/video-sources/speaking-style.screenci.js.map +1 -0
- package/dist/docs/video-sources/studio.screenci.js +8 -10
- package/dist/docs/video-sources/studio.screenci.js.map +1 -1
- package/dist/docs/video-sources/vertical-video.screenci.d.ts +2 -0
- package/dist/docs/video-sources/vertical-video.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/vertical-video.screenci.js +58 -0
- package/dist/docs/video-sources/vertical-video.screenci.js.map +1 -0
- package/dist/docs/videos.d.ts +20 -0
- package/dist/docs/videos.d.ts.map +1 -1
- package/dist/docs/videos.js +25 -0
- package/dist/docs/videos.js.map +1 -1
- package/dist/e2e/instrument.e2e.js +60 -1
- package/dist/e2e/instrument.e2e.js.map +1 -1
- package/dist/e2e/redact.e2e.d.ts +2 -0
- package/dist/e2e/redact.e2e.d.ts.map +1 -0
- package/dist/e2e/redact.e2e.js +161 -0
- package/dist/e2e/redact.e2e.js.map +1 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +174 -14
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +320 -39
- package/dist/src/asset.js.map +1 -1
- package/dist/src/assetHash.d.ts +27 -0
- package/dist/src/assetHash.d.ts.map +1 -0
- package/dist/src/assetHash.js +0 -0
- package/dist/src/assetHash.js.map +1 -0
- package/dist/src/audio.d.ts +20 -1
- package/dist/src/audio.d.ts.map +1 -1
- package/dist/src/audio.js +126 -24
- package/dist/src/audio.js.map +1 -1
- package/dist/src/autoZoom.d.ts.map +1 -1
- package/dist/src/autoZoom.js +3 -1
- package/dist/src/autoZoom.js.map +1 -1
- package/dist/src/browserLaunchOptions.d.ts +24 -2
- package/dist/src/browserLaunchOptions.d.ts.map +1 -1
- package/dist/src/browserLaunchOptions.js +57 -3
- package/dist/src/browserLaunchOptions.js.map +1 -1
- package/dist/src/builder.d.ts +229 -136
- package/dist/src/builder.d.ts.map +1 -1
- package/dist/src/builder.js +264 -77
- package/dist/src/builder.js.map +1 -1
- package/dist/src/callerFile.d.ts +12 -0
- package/dist/src/callerFile.d.ts.map +1 -0
- package/dist/src/callerFile.js +46 -0
- package/dist/src/callerFile.js.map +1 -0
- package/dist/src/changeFocus.d.ts.map +1 -1
- package/dist/src/changeFocus.js +109 -36
- package/dist/src/changeFocus.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +15 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/cue.d.ts +29 -17
- package/dist/src/cue.d.ts.map +1 -1
- package/dist/src/cue.js +138 -61
- package/dist/src/cue.js.map +1 -1
- package/dist/src/declare.d.ts +63 -0
- package/dist/src/declare.d.ts.map +1 -0
- package/dist/src/declare.js +111 -0
- package/dist/src/declare.js.map +1 -0
- package/dist/src/defaults.d.ts +23 -0
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +27 -3
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/events.d.ts +339 -25
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +250 -26
- package/dist/src/events.js.map +1 -1
- package/dist/src/htmlRasterizer.d.ts +10 -0
- package/dist/src/htmlRasterizer.d.ts.map +1 -1
- package/dist/src/htmlRasterizer.js +12 -2
- package/dist/src/htmlRasterizer.js.map +1 -1
- package/dist/src/init.d.ts +2 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +81 -33
- package/dist/src/init.js.map +1 -1
- package/dist/src/instrument.d.ts.map +1 -1
- package/dist/src/instrument.js +164 -8
- package/dist/src/instrument.js.map +1 -1
- package/dist/src/locales.d.ts.map +1 -1
- package/dist/src/locales.js +1 -0
- package/dist/src/locales.js.map +1 -1
- package/dist/src/localize.d.ts +26 -17
- package/dist/src/localize.d.ts.map +1 -1
- package/dist/src/localize.js +19 -11
- package/dist/src/localize.js.map +1 -1
- package/dist/src/localizeRuntime.d.ts +29 -33
- package/dist/src/localizeRuntime.d.ts.map +1 -1
- package/dist/src/localizeRuntime.js +74 -49
- package/dist/src/localizeRuntime.js.map +1 -1
- package/dist/src/logger.d.ts +5 -0
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +7 -0
- package/dist/src/logger.js.map +1 -1
- package/dist/src/manualZoom.d.ts.map +1 -1
- package/dist/src/manualZoom.js +8 -5
- package/dist/src/manualZoom.js.map +1 -1
- package/dist/src/narrationVisibility.d.ts +19 -0
- package/dist/src/narrationVisibility.d.ts.map +1 -0
- package/dist/src/narrationVisibility.js +26 -0
- package/dist/src/narrationVisibility.js.map +1 -0
- package/dist/src/openBrowser.d.ts +34 -0
- package/dist/src/openBrowser.d.ts.map +1 -0
- package/dist/src/openBrowser.js +62 -0
- package/dist/src/openBrowser.js.map +1 -0
- package/dist/src/recordingData.d.ts +27 -0
- package/dist/src/recordingData.d.ts.map +1 -1
- package/dist/src/recordingSize.d.ts +32 -0
- package/dist/src/recordingSize.d.ts.map +1 -0
- package/dist/src/recordingSize.js +54 -0
- package/dist/src/recordingSize.js.map +1 -0
- package/dist/src/redact.d.ts +68 -0
- package/dist/src/redact.d.ts.map +1 -0
- package/dist/src/redact.js +138 -0
- package/dist/src/redact.js.map +1 -0
- package/dist/src/redactController.d.ts +61 -0
- package/dist/src/redactController.d.ts.map +1 -0
- package/dist/src/redactController.js +232 -0
- package/dist/src/redactController.js.map +1 -0
- package/dist/src/runtimeContext.d.ts +32 -0
- package/dist/src/runtimeContext.d.ts.map +1 -1
- package/dist/src/runtimeContext.js +21 -0
- package/dist/src/runtimeContext.js.map +1 -1
- package/dist/src/runtimeMode.d.ts +15 -7
- package/dist/src/runtimeMode.d.ts.map +1 -1
- package/dist/src/runtimeMode.js +17 -6
- package/dist/src/runtimeMode.js.map +1 -1
- package/dist/src/screenAudio.d.ts +88 -0
- package/dist/src/screenAudio.d.ts.map +1 -0
- package/dist/src/screenAudio.js +0 -0
- package/dist/src/screenAudio.js.map +1 -0
- package/dist/src/screenAudioSink.d.ts +46 -0
- package/dist/src/screenAudioSink.d.ts.map +1 -0
- package/dist/src/screenAudioSink.js +77 -0
- package/dist/src/screenAudioSink.js.map +1 -0
- package/dist/src/screenshot.d.ts +27 -29
- package/dist/src/screenshot.d.ts.map +1 -1
- package/dist/src/screenshot.js +39 -24
- package/dist/src/screenshot.js.map +1 -1
- package/dist/src/sourceTrim.d.ts +29 -0
- package/dist/src/sourceTrim.d.ts.map +1 -0
- package/dist/src/sourceTrim.js +76 -0
- package/dist/src/sourceTrim.js.map +1 -0
- package/dist/src/stillCapture.d.ts +5 -0
- package/dist/src/stillCapture.d.ts.map +1 -1
- package/dist/src/stillCapture.js +11 -1
- package/dist/src/stillCapture.js.map +1 -1
- package/dist/src/studio.d.ts +69 -57
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +16 -38
- package/dist/src/studio.js.map +1 -1
- package/dist/src/timelineOffset.d.ts +46 -0
- package/dist/src/timelineOffset.d.ts.map +1 -0
- package/dist/src/timelineOffset.js +66 -0
- package/dist/src/timelineOffset.js.map +1 -0
- package/dist/src/titleValidation.d.ts +38 -0
- package/dist/src/titleValidation.d.ts.map +1 -1
- package/dist/src/titleValidation.js +42 -0
- package/dist/src/titleValidation.js.map +1 -1
- package/dist/src/types.d.ts +218 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/video.d.ts +74 -60
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +201 -39
- package/dist/src/video.js.map +1 -1
- package/dist/src/voiceSampleAudio.d.ts +34 -0
- package/dist/src/voiceSampleAudio.d.ts.map +1 -0
- package/dist/src/voiceSampleAudio.js +105 -0
- package/dist/src/voiceSampleAudio.js.map +1 -0
- package/dist/src/voices.d.ts +2 -2
- package/dist/src/voices.d.ts.map +1 -1
- package/dist/src/voices.js +8 -3
- package/dist/src/voices.js.map +1 -1
- package/dist/src/zoom.d.ts +1 -0
- package/dist/src/zoom.d.ts.map +1 -1
- package/dist/src/zoom.js +3 -0
- package/dist/src/zoom.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/skills/screenci/SKILL.md +2 -2
- package/skills/screenci/references/init.md +4 -3
- package/skills/screenci/references/record.md +1 -1
- package/templates/recordings/assets/logo.png +0 -0
- package/dist/docs/video-sources/public-urls.screenci.d.ts +0 -2
- package/dist/docs/video-sources/public-urls.screenci.d.ts.map +0 -1
- package/dist/docs/video-sources/public-urls.screenci.js +0 -41
- package/dist/docs/video-sources/public-urls.screenci.js.map +0 -1
package/dist/src/cue.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import { parseTimelineOffset } from './timelineOffset.js';
|
|
2
|
+
import { validateCrop, resolveSourceTrim } from './sourceTrim.js';
|
|
1
3
|
import { supportedLanguages, voices, } from './voices.js';
|
|
2
4
|
import { isCustomVoiceRef } from './customVoiceRef.js';
|
|
3
5
|
import { MAX_AUDIO_LEVEL } from './asset.js';
|
|
4
6
|
import { isInsideHide } from './hide.js';
|
|
5
7
|
import { logger } from './logger.js';
|
|
6
|
-
import {
|
|
7
|
-
import { createHash } from 'crypto';
|
|
8
|
-
import { dirname, resolve } from 'path';
|
|
8
|
+
import { assetCandidatePaths, hashAssetFile, prewarmAssetFile, } from './assetHash.js';
|
|
9
9
|
import { getScreenCIRuntimeContext, getRuntimeCueRecorder, resetCueRuntimeState, setRuntimeCueRecorder, } from './runtimeContext.js';
|
|
10
10
|
import { resolveRecordingTimingDuration } from './runtimeMode.js';
|
|
11
11
|
// One frame at 24fps — ensures at least one rendered frame captures each cue state.
|
|
12
12
|
export const ONE_FRAME_MS = 1000 / 24;
|
|
13
|
-
const ELEVENLABS_DOCS_URL = 'https://screenci.com/docs/guides/narration-and-localization';
|
|
14
13
|
// Blocking sleep — spin until the elapsed time has passed
|
|
15
14
|
let sleepFn = (ms) => {
|
|
16
15
|
const end = performance.now() + ms;
|
|
@@ -44,44 +43,44 @@ export async function validateCustomVoiceRefs(_testFilePath) {
|
|
|
44
43
|
// current test file path from the runtime context, so there is nothing to
|
|
45
44
|
// pre-validate here.
|
|
46
45
|
}
|
|
46
|
+
const warnedMissingAssetPaths = new Set();
|
|
47
|
+
function warnMissingNarrationAsset(assetPath) {
|
|
48
|
+
if (warnedMissingAssetPaths.has(assetPath))
|
|
49
|
+
return;
|
|
50
|
+
warnedMissingAssetPaths.add(assetPath);
|
|
51
|
+
logger.warn(`Locally missing narration media: ${assetPath}. It will be reused from a previous upload of this video if available, otherwise the upload fails.`);
|
|
52
|
+
}
|
|
53
|
+
export function resetMissingNarrationAssetWarnings() {
|
|
54
|
+
warnedMissingAssetPaths.clear();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Hashes a narration media file for upload and caching. Returns undefined when
|
|
58
|
+
* the file is absent locally: the asset is then recovered from a previous upload
|
|
59
|
+
* of this video (matched by path) at upload time, so a gitignored media file
|
|
60
|
+
* does not have to be committed. See resolveMissingUploadAssets in cli.ts.
|
|
61
|
+
*/
|
|
47
62
|
async function resolveAssetFileHash(assetPath, testFilePath) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
for (const candidate of candidates) {
|
|
54
|
-
try {
|
|
55
|
-
const fileBuffer = await readFile(candidate);
|
|
56
|
-
return createHash('sha256').update(fileBuffer).digest('hex');
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// try next candidate
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
throw new Error(`Asset file not found: ${assetPath}`);
|
|
63
|
+
// Cached + pre-warmable: see assetHash.ts. When the file was pre-warmed before
|
|
64
|
+
// the recording clock started, this returns the cached hash without a disk read
|
|
65
|
+
// so the cue's start() lands right after the previous action instead of trailing
|
|
66
|
+
// it by the file-read latency.
|
|
67
|
+
return hashAssetFile(assetCandidatePaths(assetPath, testFilePath));
|
|
63
68
|
}
|
|
64
69
|
async function toRecordedVoice(voice) {
|
|
65
70
|
if (!isCustomVoiceRef(voice))
|
|
66
71
|
return voice;
|
|
67
72
|
const testFilePath = getScreenCIRuntimeContext().testFilePath;
|
|
73
|
+
// A custom voice sample is read at record time to identify it for cloning, so
|
|
74
|
+
// unlike narration media it must be present locally.
|
|
75
|
+
const assetHash = await resolveAssetFileHash(voice.path, testFilePath);
|
|
76
|
+
if (assetHash === undefined) {
|
|
77
|
+
throw new Error(`Asset file not found: ${voice.path}`);
|
|
78
|
+
}
|
|
68
79
|
return {
|
|
69
|
-
assetHash
|
|
80
|
+
assetHash,
|
|
70
81
|
assetPath: voice.path,
|
|
71
82
|
};
|
|
72
83
|
}
|
|
73
|
-
function usesElevenLabsVoice(voice) {
|
|
74
|
-
if (isCustomVoiceRef(voice))
|
|
75
|
-
return true;
|
|
76
|
-
return voice.startsWith('elevenlabs:');
|
|
77
|
-
}
|
|
78
|
-
function assertElevenLabsApiKeyConfigured(voice, location) {
|
|
79
|
-
if (!usesElevenLabsVoice(voice))
|
|
80
|
-
return;
|
|
81
|
-
if (process.env.ELEVENLABS_API_KEY?.trim())
|
|
82
|
-
return;
|
|
83
|
-
throw new Error(`${location} uses an ElevenLabs voice, but ELEVENLABS_API_KEY is not set. Add ELEVENLABS_API_KEY to your env file or process environment. See ${ELEVENLABS_DOCS_URL}.`);
|
|
84
|
-
}
|
|
85
84
|
/**
|
|
86
85
|
* Auto-ends any currently active cue before starting a new one.
|
|
87
86
|
* Called internally at the start of every narration controller.
|
|
@@ -204,9 +203,31 @@ export function assertNarrationLanguagesMatch(input, declared) {
|
|
|
204
203
|
parts.push(`unexpected ${unexpected.join(', ')}`);
|
|
205
204
|
throw new Error(`[screenci] narration languages must match the video's declared languages (${declared.join(', ')}): ${parts.join('; ')}.`);
|
|
206
205
|
}
|
|
206
|
+
function cueTrailingArgs(volume, until) {
|
|
207
|
+
const tail = [];
|
|
208
|
+
if (until !== undefined) {
|
|
209
|
+
tail[0] = volume;
|
|
210
|
+
tail[1] = until;
|
|
211
|
+
}
|
|
212
|
+
else if (volume !== undefined) {
|
|
213
|
+
tail[0] = volume;
|
|
214
|
+
}
|
|
215
|
+
return tail;
|
|
216
|
+
}
|
|
217
|
+
function resolveCueAnchor(until) {
|
|
218
|
+
if (until === undefined)
|
|
219
|
+
return undefined;
|
|
220
|
+
if (typeof until !== 'string') {
|
|
221
|
+
throw new Error(`narration positions must be a string such as '0:05' or '56%', got ${typeof until}`);
|
|
222
|
+
}
|
|
223
|
+
const parsed = parseTimelineOffset(until);
|
|
224
|
+
return parsed.kind === 'percent'
|
|
225
|
+
? { percent: parsed.fraction }
|
|
226
|
+
: { outputMs: parsed.ms };
|
|
227
|
+
}
|
|
207
228
|
function createCueController(name, emitStart) {
|
|
208
229
|
let didRegisterName = false;
|
|
209
|
-
const start = async (startedWithExplicitStart = true) => {
|
|
230
|
+
const start = async (startedWithExplicitStart = true, until) => {
|
|
210
231
|
if (isInsideHide())
|
|
211
232
|
throw new Error('Cannot start narration inside hide()');
|
|
212
233
|
const recorder = getRuntimeCueRecorder();
|
|
@@ -219,7 +240,7 @@ function createCueController(name, emitStart) {
|
|
|
219
240
|
const run = createActiveCueRun(startedWithExplicitStart);
|
|
220
241
|
context.cue.activeCueName = name;
|
|
221
242
|
context.cue.activeCueRun = run;
|
|
222
|
-
await emitStart(recorder);
|
|
243
|
+
await emitStart(recorder, until);
|
|
223
244
|
};
|
|
224
245
|
const end = async () => {
|
|
225
246
|
if (isInsideHide())
|
|
@@ -233,11 +254,15 @@ function createCueController(name, emitStart) {
|
|
|
233
254
|
await endActiveCue();
|
|
234
255
|
await run.finished;
|
|
235
256
|
};
|
|
236
|
-
const
|
|
237
|
-
await start(false);
|
|
257
|
+
const block = async (until) => {
|
|
258
|
+
await start(false, until);
|
|
238
259
|
sleepForCueFrameGap();
|
|
239
260
|
await end();
|
|
261
|
+
};
|
|
262
|
+
const cue = (async () => {
|
|
263
|
+
await block();
|
|
240
264
|
});
|
|
265
|
+
cue.until = (position) => block(resolveCueAnchor(position));
|
|
241
266
|
cue.start = start;
|
|
242
267
|
cue.end = end;
|
|
243
268
|
return cue;
|
|
@@ -254,9 +279,9 @@ function createCueController(name, emitStart) {
|
|
|
254
279
|
export function buildStudioNarrationCues(names) {
|
|
255
280
|
const result = {};
|
|
256
281
|
for (const name of names) {
|
|
257
|
-
result[name] = createCueController(name, (recorder) => {
|
|
282
|
+
result[name] = createCueController(name, (recorder, until) => {
|
|
258
283
|
sleepForCueFrameGap();
|
|
259
|
-
recorder.addStudioCueStart(name);
|
|
284
|
+
recorder.addStudioCueStart(name, until);
|
|
260
285
|
});
|
|
261
286
|
}
|
|
262
287
|
return result;
|
|
@@ -285,11 +310,18 @@ function normalizeCueMapValue(value) {
|
|
|
285
310
|
};
|
|
286
311
|
}
|
|
287
312
|
const mediaPath = 'media' in value ? value.media : value.path;
|
|
313
|
+
const label = `Narration cue media "${mediaPath}"`;
|
|
314
|
+
if (value.crop !== undefined)
|
|
315
|
+
validateCrop(label, value.crop);
|
|
316
|
+
const { sourceStart, sourceEnd } = resolveSourceTrim(label, value.start, value.end);
|
|
288
317
|
return {
|
|
289
318
|
type: 'file',
|
|
290
319
|
path: mediaPath,
|
|
291
320
|
...(value.subtitle !== undefined && { subtitle: value.subtitle }),
|
|
292
321
|
...(value.volume !== undefined && { volume: value.volume }),
|
|
322
|
+
...(value.crop !== undefined && { crop: value.crop }),
|
|
323
|
+
...(sourceStart !== undefined && { sourceStart }),
|
|
324
|
+
...(sourceEnd !== undefined && { sourceEnd }),
|
|
293
325
|
};
|
|
294
326
|
}
|
|
295
327
|
function getLanguageCues(lang, entry) {
|
|
@@ -379,7 +411,6 @@ function buildCuesFromInput(topVoice, languages) {
|
|
|
379
411
|
const effectiveModelType = typeof effectiveStyle === 'string'
|
|
380
412
|
? 'expressive'
|
|
381
413
|
: (langOverride?.modelType ?? topVoice.modelType);
|
|
382
|
-
assertElevenLabsApiKeyConfigured(effectiveVoiceName, `createNarration(${lang})`);
|
|
383
414
|
resolvedVoices.set(lang, effectiveVoiceName);
|
|
384
415
|
resolvedVoiceMeta.set(lang, {
|
|
385
416
|
name: voiceToKeyString(effectiveVoiceName),
|
|
@@ -431,7 +462,7 @@ function buildCuesFromInput(topVoice, languages) {
|
|
|
431
462
|
}
|
|
432
463
|
}
|
|
433
464
|
if (hasFileEntry) {
|
|
434
|
-
result[keyStr] = createCueController(keyStr, async (recorder) => {
|
|
465
|
+
result[keyStr] = createCueController(keyStr, async (recorder, until) => {
|
|
435
466
|
const testFilePath = getScreenCIRuntimeContext().testFilePath;
|
|
436
467
|
for (const lang of langs) {
|
|
437
468
|
recorder.registerVoiceForLang(lang, resolvedVoiceMeta.get(lang));
|
|
@@ -471,18 +502,22 @@ function buildCuesFromInput(topVoice, languages) {
|
|
|
471
502
|
videoTranslations[lang] = await entryToVideoTranslation(testFilePath, {
|
|
472
503
|
path: val.path,
|
|
473
504
|
...(val.subtitle !== undefined && { subtitle: val.subtitle }),
|
|
505
|
+
...(val.crop !== undefined && { crop: val.crop }),
|
|
506
|
+
...(val.sourceStart !== undefined && {
|
|
507
|
+
sourceStart: val.sourceStart,
|
|
508
|
+
}),
|
|
509
|
+
...(val.sourceEnd !== undefined && {
|
|
510
|
+
sourceEnd: val.sourceEnd,
|
|
511
|
+
}),
|
|
474
512
|
});
|
|
475
513
|
}
|
|
476
514
|
}
|
|
477
515
|
sleepForCueFrameGap();
|
|
478
|
-
recorder.addVideoCueStart(keyStr, undefined, undefined, undefined, videoTranslations,
|
|
479
|
-
// Spread so the volume arg is omitted entirely (not passed as
|
|
480
|
-
// undefined) when no per-cue volume was set.
|
|
481
|
-
...(cueVolume !== undefined ? [cueVolume] : []));
|
|
516
|
+
recorder.addVideoCueStart(keyStr, undefined, undefined, undefined, videoTranslations, ...cueTrailingArgs(cueVolume, until));
|
|
482
517
|
});
|
|
483
518
|
}
|
|
484
519
|
else {
|
|
485
|
-
result[keyStr] = createCueController(keyStr, async (recorder) => {
|
|
520
|
+
result[keyStr] = createCueController(keyStr, async (recorder, until) => {
|
|
486
521
|
for (const lang of langs) {
|
|
487
522
|
recorder.registerVoiceForLang(lang, resolvedVoiceMeta.get(lang));
|
|
488
523
|
}
|
|
@@ -517,10 +552,7 @@ function buildCuesFromInput(topVoice, languages) {
|
|
|
517
552
|
}
|
|
518
553
|
}
|
|
519
554
|
sleepForCueFrameGap();
|
|
520
|
-
recorder.addCueStart('', keyStr, undefined, textTranslations,
|
|
521
|
-
// Spread so the volume arg is omitted entirely (not passed as
|
|
522
|
-
// undefined) when no per-cue volume was set.
|
|
523
|
-
...(cueVolume !== undefined ? [cueVolume] : []));
|
|
555
|
+
recorder.addCueStart('', keyStr, undefined, textTranslations, ...cueTrailingArgs(cueVolume, until));
|
|
524
556
|
});
|
|
525
557
|
}
|
|
526
558
|
}
|
|
@@ -529,10 +561,19 @@ function buildCuesFromInput(topVoice, languages) {
|
|
|
529
561
|
async function entryToVideoTranslation(testFilePath, entry) {
|
|
530
562
|
const path = typeof entry === 'string' ? entry : entry.path;
|
|
531
563
|
const subtitle = typeof entry === 'string' ? undefined : entry.subtitle;
|
|
564
|
+
const crop = typeof entry === 'string' ? undefined : entry.crop;
|
|
565
|
+
const sourceStart = typeof entry === 'string' ? undefined : entry.sourceStart;
|
|
566
|
+
const sourceEnd = typeof entry === 'string' ? undefined : entry.sourceEnd;
|
|
567
|
+
const assetHash = await resolveAssetFileHash(path, testFilePath);
|
|
568
|
+
if (assetHash === undefined)
|
|
569
|
+
warnMissingNarrationAsset(path);
|
|
532
570
|
return {
|
|
533
|
-
assetHash
|
|
571
|
+
...(assetHash !== undefined && { assetHash }),
|
|
534
572
|
assetPath: path,
|
|
535
573
|
...(subtitle !== undefined && { subtitle }),
|
|
574
|
+
...(crop !== undefined && { crop }),
|
|
575
|
+
...(sourceStart !== undefined && { sourceStart }),
|
|
576
|
+
...(sourceEnd !== undefined && { sourceEnd }),
|
|
536
577
|
};
|
|
537
578
|
}
|
|
538
579
|
/**
|
|
@@ -600,21 +641,51 @@ function translationVoiceFields(meta) {
|
|
|
600
641
|
* recorder filters to the active language). Studio-managed cues emit studio cue
|
|
601
642
|
* starts whose content is owned by Studio.
|
|
602
643
|
*/
|
|
603
|
-
|
|
644
|
+
/**
|
|
645
|
+
* Pre-warm (hash) every file-backed narration cue's media before recording, so a
|
|
646
|
+
* video cue's start() reuses the cached hash rather than reading the file on the
|
|
647
|
+
* timeline. Walks each language's seeded cues and pre-warms the media path of
|
|
648
|
+
* every file entry. Fire-and-forget per path (see {@link prewarmAssetFile}).
|
|
649
|
+
*/
|
|
650
|
+
function prewarmNarrationMedia(narration, anchorFile) {
|
|
651
|
+
for (const langCues of Object.values(narration.seedByLang)) {
|
|
652
|
+
for (const value of Object.values(langCues ?? {})) {
|
|
653
|
+
if (value.kind === 'media') {
|
|
654
|
+
prewarmAssetFile(value.path, anchorFile);
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
export function buildLocalizedNarrationCues(narration, voiceByLang, defaultVoice,
|
|
660
|
+
// The `.screenci` script media paths are resolved relative to. When provided,
|
|
661
|
+
// every file-backed cue's media is pre-warmed (hashed) now, before the
|
|
662
|
+
// recording clock starts, so the cue's start() reuses the cached hash instead
|
|
663
|
+
// of paying the file read on the timeline. Omitted (no pre-warm) outside the
|
|
664
|
+
// recording fixture, where the anchor and timing do not apply.
|
|
665
|
+
anchorFile) {
|
|
604
666
|
if (narration === null)
|
|
605
667
|
return {};
|
|
668
|
+
if (anchorFile !== undefined) {
|
|
669
|
+
prewarmNarrationMedia(narration, anchorFile);
|
|
670
|
+
}
|
|
606
671
|
const studioSet = new Set(narration.studioNames);
|
|
607
672
|
const result = {};
|
|
608
673
|
for (const cueName of narration.cueNames) {
|
|
609
|
-
|
|
610
|
-
|
|
674
|
+
const isStudio = studioSet.has(cueName);
|
|
675
|
+
// Languages that seed this cue, with the per-(cue, language) voice resolved.
|
|
676
|
+
const langs = Object.keys(narration.seedByLang).filter((lang) => narration.seedByLang[lang]?.[cueName] !== undefined);
|
|
677
|
+
// A blank studio cue (`studio([...])`, no seed) is text-less: the web app
|
|
678
|
+
// fills it and the render is held until then. A seeded studio cue
|
|
679
|
+
// (`studio({...})`) falls through and emits its seed translations like a code
|
|
680
|
+
// cue, but tagged `studio` so the web app can still override it (a Studio edit
|
|
681
|
+
// wins over the seed) and so the render is not held.
|
|
682
|
+
if (isStudio && langs.length === 0) {
|
|
683
|
+
result[cueName] = createCueController(cueName, (recorder, until) => {
|
|
611
684
|
sleepForCueFrameGap();
|
|
612
|
-
recorder.addStudioCueStart(cueName);
|
|
685
|
+
recorder.addStudioCueStart(cueName, until);
|
|
613
686
|
});
|
|
614
687
|
continue;
|
|
615
688
|
}
|
|
616
|
-
// Languages that seed this cue, with the per-(cue, language) voice resolved.
|
|
617
|
-
const langs = Object.keys(narration.seedByLang).filter((lang) => narration.seedByLang[lang]?.[cueName] !== undefined);
|
|
618
689
|
let hasFileEntry = false;
|
|
619
690
|
// Volume is per-cue (a render-time mix property): the first language that
|
|
620
691
|
// sets a volume for this cue wins.
|
|
@@ -633,11 +704,10 @@ export function buildLocalizedNarrationCues(narration, voiceByLang, defaultVoice
|
|
|
633
704
|
voiceByLang[lang] ??
|
|
634
705
|
defaultVoice ?? { name: voices.Sophie };
|
|
635
706
|
const { name, meta } = resolveVoiceMeta(config);
|
|
636
|
-
assertElevenLabsApiKeyConfigured(name, `localize narration (${lang})`);
|
|
637
707
|
return { value, voice: name, meta };
|
|
638
708
|
};
|
|
639
709
|
if (hasFileEntry) {
|
|
640
|
-
result[cueName] = createCueController(cueName, async (recorder) => {
|
|
710
|
+
result[cueName] = createCueController(cueName, async (recorder, until) => {
|
|
641
711
|
const testFilePath = getScreenCIRuntimeContext().testFilePath;
|
|
642
712
|
const resolved = new Map(langs.map((lang) => [lang, resolveLang(lang)]));
|
|
643
713
|
for (const lang of langs) {
|
|
@@ -661,15 +731,22 @@ export function buildLocalizedNarrationCues(narration, voiceByLang, defaultVoice
|
|
|
661
731
|
...(value.subtitle !== undefined && {
|
|
662
732
|
subtitle: value.subtitle,
|
|
663
733
|
}),
|
|
734
|
+
...(value.crop !== undefined && { crop: value.crop }),
|
|
735
|
+
...(value.sourceStart !== undefined && {
|
|
736
|
+
sourceStart: value.sourceStart,
|
|
737
|
+
}),
|
|
738
|
+
...(value.sourceEnd !== undefined && {
|
|
739
|
+
sourceEnd: value.sourceEnd,
|
|
740
|
+
}),
|
|
664
741
|
});
|
|
665
742
|
}
|
|
666
743
|
}
|
|
667
744
|
sleepForCueFrameGap();
|
|
668
|
-
recorder.addVideoCueStart(cueName, undefined, undefined, undefined, videoTranslations,
|
|
745
|
+
recorder.addVideoCueStart(cueName, undefined, undefined, undefined, videoTranslations, cueVolume, until, isStudio);
|
|
669
746
|
});
|
|
670
747
|
}
|
|
671
748
|
else {
|
|
672
|
-
result[cueName] = createCueController(cueName, async (recorder) => {
|
|
749
|
+
result[cueName] = createCueController(cueName, async (recorder, until) => {
|
|
673
750
|
const resolved = new Map(langs.map((lang) => [lang, resolveLang(lang)]));
|
|
674
751
|
for (const lang of langs) {
|
|
675
752
|
recorder.registerVoiceForLang(lang, resolved.get(lang).meta);
|
|
@@ -688,7 +765,7 @@ export function buildLocalizedNarrationCues(narration, voiceByLang, defaultVoice
|
|
|
688
765
|
};
|
|
689
766
|
}
|
|
690
767
|
sleepForCueFrameGap();
|
|
691
|
-
recorder.addCueStart('', cueName, undefined, textTranslations,
|
|
768
|
+
recorder.addCueStart('', cueName, undefined, textTranslations, cueVolume, until, isStudio);
|
|
692
769
|
});
|
|
693
770
|
}
|
|
694
771
|
}
|
package/dist/src/cue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cue.js","sourceRoot":"","sources":["../../src/cue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cue.js","sourceRoot":"","sources":["../../src/cue.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EACL,kBAAkB,EAClB,MAAM,GAIP,MAAM,aAAa,CAAA;AAOpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAEjE,oFAAoF;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;AAErC,0DAA0D;AAC1D,IAAI,OAAO,GAAG,CAAC,EAAU,EAAQ,EAAE;IACjC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;IAClC,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAC/B,UAAU;IACZ,CAAC;AACH,CAAC,CAAA;AAED,SAAS,mBAAmB;IAC1B,MAAM,UAAU,GAAG,8BAA8B,CAAC,CAAC,GAAG,YAAY,CAAC,CAAA;IACnE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAwB;IACjD,OAAO,GAAG,EAAE,CAAA;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA+B;IAClE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC/B,oBAAoB,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,oBAAoB,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,uEAAuE;IACvE,uCAAuC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB;IAErB,6EAA6E;IAC7E,0EAA0E;IAC1E,qBAAqB;AACvB,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAA;AAEjD,SAAS,yBAAyB,CAAC,SAAiB;IAClD,IAAI,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAM;IAClD,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,CACT,oCAAoC,SAAS,oGAAoG,CAClJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,uBAAuB,CAAC,KAAK,EAAE,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,SAAiB,EACjB,YAA2B;IAE3B,+EAA+E;IAC/E,gFAAgF;IAChF,iFAAiF;IACjF,+BAA+B;IAC/B,OAAO,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAgC;IAEhC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC,YAAY,CAAA;IAC7D,8EAA8E;IAC9E,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACtE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO;QACL,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,WAAmB;IACrC,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAA;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,OAAM;IAC7C,IACE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,wBAAwB;QACjD,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,IAAI,EAClC,CAAC;QACD,MAAM,CAAC,IAAI,CACT,mBAAmB,OAAO,CAAC,GAAG,CAAC,aAAa,wDAAwD,WAAW,2EAA2E,CAC3L,CAAA;IACH,CAAC;IACD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACrC,mBAAmB,EAAE,CAAA;IACrB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,CAAA;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAA;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC,GAAG,CAAC,YAAY,CAAA;IACjE,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,qDAAqD,CACjF,CAAA;IACH,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,cAAc;IAIrB,IAAI,OAAoB,CAAA;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,SAAS,EAAE,EAAE;QAC9C,OAAO,GAAG,SAAS,CAAA;IACrB,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,wBAAiC;IAK3D,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,eAAe,EAAE,QAAQ,CAAC,OAAO;QACjC,wBAAwB;KACzB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAA;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,OAAM;IAC7C,IAAI,YAAY,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;IACpC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACrC,mBAAmB,EAAE,CAAA;IACrB,GAAG,CAAC,eAAe,EAAE,CAAA;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAA;IACjC,CAAC;AACH,CAAC;AAoID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,eAAe,CAE7B,KAAwB;IACxB,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,2JAA2J,CAC5J,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAEhD,OAAO,kBAAkB,CACvB,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EACtC,SAAS,CACU,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAA8B,EAC9B,QAA2B;IAE3B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAA0B,CAAC,CAC1E,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE3D,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAE5E,MAAM,IAAI,KAAK,CACb,6EAA6E,QAAQ,CAAC,IAAI,CACxF,IAAI,CACL,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3B,CAAA;AACH,CAAC;AAmBD,SAAS,eAAe,CACtB,MAA0B,EAC1B,KAAsC;IAEtC,MAAM,IAAI,GAAoB,EAAE,CAAA;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QAChB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IACjB,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAiC;IAEjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,KAAK,EAAE,CACpF,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC9B,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,SAGyB;IAEzB,IAAI,eAAe,GAAG,KAAK,CAAA;IAE3B,MAAM,KAAK,GAAG,KAAK,EACjB,wBAAwB,GAAG,IAAI,EAC/B,KAA2B,EACZ,EAAE;QACjB,IAAI,YAAY,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAA;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACzB,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,GAAG,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAA;QAC9B,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;QACpC,IAAI,YAAY,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAA;QAC3C,IACE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,IAAI;YAClC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI,EACjC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,4CAA4C,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;QACpC,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,GAAG,CAAC,QAAQ,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,EAAE,KAA2B,EAAiB,EAAE;QACjE,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACzB,mBAAmB,EAAE,CAAA;QACrB,MAAM,GAAG,EAAE,CAAA;IACb,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,CAAC,KAAK,IAAmB,EAAE;QACrC,MAAM,KAAK,EAAE,CAAA;IACf,CAAC,CAAiB,CAAA;IAElB,GAAG,CAAC,KAAK,GAAG,CAAC,QAAwB,EAAiB,EAAE,CACtD,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;IACjB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;IACb,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAwB;IAExB,MAAM,MAAM,GAAiC,EAAE,CAAA;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC3D,mBAAmB,EAAE,CAAA;YACrB,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAcD,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAsB,CAAC,OAAO,CAAC,CAAC,CAAA;AAC/E,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAO,kBAAkB,CAAC,CAAA;AAEhE;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAc;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,eAAe,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,gDAAgD,eAAe,qEAAqE,CACtK,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAkB;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACtC,CAAC;IAED,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAC5D,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAE7D,MAAM,KAAK,GAAG,wBAAwB,SAAS,GAAG,CAAA;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAClD,KAAK,EACL,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,GAAG,CACV,CAAA;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAAU,EACV,KAA6D;IAE7D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,sCAAsC,IAAI,wDAAwD,CAC7I,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,gDAAgD,IAAI,iCAAiC,CAChI,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1B,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CACR,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAA0B,CAAC,CACnE,CAC6B,CAAA;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgC;IACxD,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAoE;IAEpE,MAAM,SAAS,GAEX,EAAE,CAAA;IAEN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,uDAAuD,GAAG,mEAAmE,CAC9H,CAAA;QACH,CAAC;QAED,SAAS,CAAC,GAAW,CAAC,GAAG,KAAmD,CAAA;IAC9E,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA6B,EAC7B,SAA4E;IAE5E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAW,CAAA;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAA;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqC,CAAA;IACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6B,CAAA;IAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,YAAY,GAAG,KAAK,EAAE,KAAK,CAAA;QACjC,MAAM,kBAAkB,GAAG,YAAY,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAA;QAC9D,MAAM,aAAa,GAAG,YAAY,EAAE,IAAI,CAAA;QACxC,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,cAAc,GAClB,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;QAClE,MAAM,eAAe,GACnB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,YAAY,EAAE,MAAM;YACtB,CAAC,CAAC,QAAQ,IAAI,QAAQ;gBACpB,CAAC,CAAE,QAAgC,CAAC,MAAM;gBAC1C,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,eAAe,GACnB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,YAAY,EAAE,MAAM;YACtB,CAAC,CAAC,QAAQ,IAAI,QAAQ;gBACpB,CAAC,CAAE,QAAyC,CAAC,MAAM;gBACnD,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,kBAAkB,GACtB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,WAAW,IAAI,YAAY;gBAC3B,CAAC,CAAC,YAAY,CAAC,SAAS;gBACxB,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,WAAW,IAAI,QAAQ;gBACvB,CAAC,CAAC,QAAQ,CAAC,SAAS;gBACpB,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,wBAAwB,GAC5B,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,iBAAiB,IAAI,YAAY;gBACjC,CAAC,CAAC,YAAY,CAAC,eAAe;gBAC9B,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,iBAAiB,IAAI,QAAQ;gBAC7B,CAAC,CAAC,QAAQ,CAAC,eAAe;gBAC1B,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,cAAc,GAClB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,OAAO,IAAI,YAAY;gBACvB,CAAC,CAAC,YAAY,CAAC,KAAK;gBACpB,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,OAAO,IAAI,QAAQ;gBACnB,CAAC,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,wBAAwB,GAC5B,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,iBAAiB,IAAI,YAAY;gBACjC,CAAC,CAAC,YAAY,CAAC,eAAe;gBAC9B,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,iBAAiB,IAAI,QAAQ;gBAC7B,CAAC,CAAC,QAAQ,CAAC,eAAe;gBAC1B,CAAC,CAAC,SAAS,CAAA;QACjB,MAAM,kBAAkB,GACtB,OAAO,cAAc,KAAK,QAAQ;YAChC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAA;QAErD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;QAC5C,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;YAC1C,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YAC3D,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI;gBACtC,SAAS,EAAE,kBAAkB;aAC9B,CAAC;YACF,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YAC9D,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACjE,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACjE,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI;gBACtC,SAAS,EAAE,kBAAkB;aAC9B,CAAC;YACF,GAAG,CAAC,wBAAwB,KAAK,SAAS,IAAI;gBAC5C,eAAe,EAAE,wBAAwB;aAC1C,CAAC;YACF,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;YAC9D,GAAG,CAAC,wBAAwB,KAAK,SAAS,IAAI;gBAC5C,eAAe,EAAE,wBAAwB;aAC1C,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAuC,CAAA;IAE/D,MAAM,MAAM,GAAG,EAAuC,CAAA;IAEtD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACxD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAuC,CAAA;IAE3E,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAA;QAE/D,2FAA2F;QAC3F,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,8EAA8E;QAC9E,iDAAiD;QACjD,IAAI,SAA6B,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;gBAC5C,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;gBACtC,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC/B,YAAY,GAAG,IAAI,CAAA;gBACrB,CAAC;gBACD,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/D,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACrE,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC,YAAY,CAAA;gBAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAA;gBACnE,CAAC;gBACD,MAAM,iBAAiB,GAAwC,EAAE,CAAA;gBACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACtC,IAAI,GAAG,KAAK,SAAS;wBAAE,SAAQ;oBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBACvC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACxC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;oBACjC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;oBACzB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;oBAC3B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;oBAC3B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;oBACjC,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,CAAA;oBAC7C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;oBACzB,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,CAAA;oBAC7C,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAA;oBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACxB,iBAAiB,CAAC,IAAI,CAAC,GAAG;4BACxB,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,KAAK,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;4BACnC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;4BACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;4BACzD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;4BACrC,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;4BACzD,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;yBACpC,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,CACrD,YAAY,EACZ;4BACE,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;4BAC7D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjD,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI;gCACnC,WAAW,EAAE,GAAG,CAAC,WAAW;6BAC7B,CAAC;4BACF,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI;gCACjC,SAAS,EAAE,GAAG,CAAC,SAAS;6BACzB,CAAC;yBACH,CACF,CAAA;oBACH,CAAC;gBACH,CAAC;gBACD,mBAAmB,EAAE,CAAA;gBACrB,QAAQ,CAAC,gBAAgB,CACvB,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CACrC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAA;gBACnE,CAAC;gBACD,MAAM,gBAAgB,GAAmC,EAAE,CAAA;gBAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACtC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;wBACvC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACxC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;wBACjC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;wBACzB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;wBAC3B,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;wBAC3B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;wBACjC,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,CAAA;wBAC7C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;wBACzB,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,CAAA;wBAC7C,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAA;wBACvB,gBAAgB,CAAC,IAAI,CAAC,GAAG;4BACvB,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,KAAK,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;4BACnC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;4BACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;4BACzD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;4BACrC,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;4BACzD,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;yBACpC,CAAA;oBACH,CAAC;gBACH,CAAC;gBACD,mBAAmB,EAAE,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAClB,EAAE,EACF,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CACrC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,YAA2B,EAC3B,KAQK;IAEL,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC3D,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC/D,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAA;IAC7E,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;IACzE,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAChE,IAAI,SAAS,KAAK,SAAS;QAAE,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC5D,OAAO;QACL,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmD;IAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACvD,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,MAAM,SAAS,GAAG,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,MAAM,eAAe,GACnB,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,MAAM,eAAe,GACnB,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,WAAW,IAAI,MAAM;YACrB,CAAC,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC,SAAS,CAAA;IAEjB,OAAO;QACL,IAAI;QACJ,IAAI,EAAE;YACJ,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;YAC5B,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;SAC1D;KACF,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB,CAC7B,IAAuB;IAEvB,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI;YACxC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI;YACxC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;KACH,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,SAA2C,EAC3C,UAAkB;IAElB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,SAA8B,EAC9B,WAA2D,EAC3D,YAAqE;AACrE,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,+DAA+D;AAC/D,UAAmB;IAEnB,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAEjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,MAAM,GAAiC,EAAE,CAAA;IAE/C,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEvC,6EAA6E;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAY,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CACtE,CAAA;QAED,0EAA0E;QAC1E,kEAAkE;QAClE,8EAA8E;QAC9E,+EAA+E;QAC/E,qDAAqD;QACrD,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACjE,mBAAmB,EAAE,CAAA;gBACrB,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,0EAA0E;QAC1E,mCAAmC;QACnC,IAAI,SAA6B,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,IAAY,CAAE,CAAC,OAAO,CAAE,CAAA;YAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,YAAY,GAAG,IAAI,CAAA;YAC/C,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1D,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,CAClB,IAAY,EAOZ,EAAE;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,IAAY,CAAE,CAAC,OAAO,CAAE,CAAA;YAC3D,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9D,WAAW,CAAC,IAAI,CAAC;gBACjB,YAAY,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;YACzC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACrC,CAAC,CAAA;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,GAAG,mBAAmB,CACnC,OAAO,EACP,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACxB,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC,YAAY,CAAA;gBAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/C,CAAA;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,CAAA;gBAC/D,CAAC;gBACD,MAAM,iBAAiB,GAAwC,EAAE,CAAA;gBACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC1B,iBAAiB,CAAC,IAAI,CAAC,GAAG;4BACxB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;4BACnC,GAAG,sBAAsB,CAAC,IAAI,CAAC;4BAC/B,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;gCAC9B,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;yBAC3D,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,uBAAuB,CACrD,YAAY,EACZ;4BACE,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI;gCAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACzB,CAAC;4BACF,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;4BACrD,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI;gCACrC,WAAW,EAAE,KAAK,CAAC,WAAW;6BAC/B,CAAC;4BACF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;gCACnC,SAAS,EAAE,KAAK,CAAC,SAAS;6BAC3B,CAAC;yBACH,CACF,CAAA;oBACH,CAAC;gBACH,CAAC;gBACD,mBAAmB,EAAE,CAAA;gBACrB,QAAQ,CAAC,gBAAgB,CACvB,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,QAAQ,CACT,CAAA;YACH,CAAC,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,GAAG,mBAAmB,CACnC,OAAO,EACP,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/C,CAAA;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,CAAA;gBAC/D,CAAC;gBACD,MAAM,gBAAgB,GAAmC,EAAE,CAAA;gBAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;oBAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;wBAAE,SAAQ;oBACnC,gBAAgB,CAAC,IAAI,CAAC,GAAG;wBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC;wBACnC,GAAG,sBAAsB,CAAC,IAAI,CAAC;wBAC/B,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;4BAC9B,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBAC3D,CAAA;gBACH,CAAC;gBACD,mBAAmB,EAAE,CAAA;gBACrB,QAAQ,CAAC,WAAW,CAClB,EAAE,EACF,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,QAAQ,CACT,CAAA;YACH,CAAC,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type StudioNames, type StudioSeeded } from './studio.js';
|
|
2
|
+
import { type Lang } from './voices.js';
|
|
3
|
+
/**
|
|
4
|
+
* The per-feature declaration argument, shared by `video.narration`/`text`/
|
|
5
|
+
* `overlays`/`audio` (and the `screenshot` subset). The argument *shape* decides
|
|
6
|
+
* ownership and localization:
|
|
7
|
+
*
|
|
8
|
+
* - **Studio-owned** (`studio(['intro', 'cta'])`): the names are owned by the
|
|
9
|
+
* ScreenCI web app. Their content is configured there; code only declares that
|
|
10
|
+
* they exist. `studio({ intro: 'Hi' })` additionally seeds initial values the
|
|
11
|
+
* web app starts from but may override.
|
|
12
|
+
* - **Content-major object** (`{ intro: 'Hi' }`): a flat `name -> value` map of
|
|
13
|
+
* code-defined values, shared across every language.
|
|
14
|
+
* - **Language-major object** (`{ fr: { intro: 'Salut' }, default: { intro: 'Hi' } }`):
|
|
15
|
+
* top-level keys are language codes (plus an optional `default`). Each language
|
|
16
|
+
* maps `name -> value`; `default` supplies the shared fallback for any name a
|
|
17
|
+
* language omits.
|
|
18
|
+
*
|
|
19
|
+
* A bare array (`['intro']`) is no longer accepted: wrap it with `studio([...])`.
|
|
20
|
+
*
|
|
21
|
+
* Disambiguation (see {@link isLanguageKey}): an object is treated as
|
|
22
|
+
* language-major iff *every* top-level key is a supported language code or the
|
|
23
|
+
* literal `default`. There is deliberately no `languages:` wrapper. As a result a
|
|
24
|
+
* content name may not be a bare language code or `default` (rejected by
|
|
25
|
+
* {@link normalizeFeature}).
|
|
26
|
+
*/
|
|
27
|
+
export type FeatureArg<V> = StudioNames | StudioSeeded<ContentMajor<V> | LanguageMajor<V>> | ContentMajor<V> | LanguageMajor<V>;
|
|
28
|
+
/** Flat `name -> value`, shared across all languages. */
|
|
29
|
+
export type ContentMajor<V> = Record<string, V>;
|
|
30
|
+
/** `language -> (name -> value)`, with `default` as the shared fallback. */
|
|
31
|
+
export type LanguageMajor<V> = {
|
|
32
|
+
default?: Record<string, V>;
|
|
33
|
+
} & Partial<Record<Lang, Record<string, V>>>;
|
|
34
|
+
/**
|
|
35
|
+
* The normalized form every feature collapses to. Both object spellings produce a
|
|
36
|
+
* `shared` map (the all-languages / `default` values) plus a `byLang` overrides
|
|
37
|
+
* map; the array form produces `studioNames` only.
|
|
38
|
+
*/
|
|
39
|
+
export type NormalizedFeature<V> = {
|
|
40
|
+
/** All declared content names, in declaration order (studio names for arrays). */
|
|
41
|
+
names: string[];
|
|
42
|
+
/** Studio/web-owned names (array form). Empty for object forms. */
|
|
43
|
+
studioNames: string[];
|
|
44
|
+
/** Code-defined names (object forms). Empty for the array form. */
|
|
45
|
+
codeNames: string[];
|
|
46
|
+
/** Shared/default value per code name. */
|
|
47
|
+
shared: Record<string, V>;
|
|
48
|
+
/** Per-language overrides: `language -> (name -> value)`. */
|
|
49
|
+
byLang: Partial<Record<string, Record<string, V>>>;
|
|
50
|
+
/** Languages contributed by this feature (the keys of `byLang`). */
|
|
51
|
+
languages: string[];
|
|
52
|
+
};
|
|
53
|
+
/** Whether a top-level object key denotes a language (or the `default` fallback). */
|
|
54
|
+
export declare function isLanguageKey(key: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Normalizes a {@link FeatureArg} into a {@link NormalizedFeature}. Pure; the
|
|
57
|
+
* single source of truth for the array / content-major / language-major split,
|
|
58
|
+
* unit-tested directly.
|
|
59
|
+
*
|
|
60
|
+
* @param feature label used in error messages, e.g. `'narration'`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function normalizeFeature<V>(feature: string, arg: FeatureArg<V>): NormalizedFeature<V>;
|
|
63
|
+
//# sourceMappingURL=declare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declare.d.ts","sourceRoot":"","sources":["../../src/declare.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAsB,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB,WAAW,GACX,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAChD,YAAY,CAAC,CAAC,CAAC,GACf,aAAa,CAAC,CAAC,CAAC,CAAA;AAEpB,yDAAyD;AACzD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAE/C,4EAA4E;AAC5E,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;CAC5B,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,kFAAkF;IAClF,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,mEAAmE;IACnE,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACzB,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,oEAAoE;IACpE,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAKD,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GACjB,iBAAiB,CAAC,CAAC,CAAC,CA+EtB"}
|