hyperframes 0.7.4 → 0.7.6
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.js +808 -130
- package/dist/hyperframe-runtime.js +24 -24
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +24 -24
- package/dist/hyperframes-player.global.js +426 -0
- package/dist/hyperframes-slideshow.global.js +149 -0
- package/dist/skills/hyperframes/SKILL.md +8 -1
- package/dist/studio/assets/{hyperframes-player-Ztwg53-a.js → hyperframes-player-BGW5hpsb.js} +2 -2
- package/dist/studio/assets/{index-CUhSVvnV.js → index-B_NnmU6q.js} +1 -1
- package/dist/studio/assets/{index-DvpQwnaB.js → index-DsBhGFPe.js} +1 -1
- package/dist/studio/assets/{index-DzWIinxk.css → index-wJZf6FK3.css} +1 -1
- package/dist/studio/assets/index-ysftPins.js +374 -0
- package/dist/studio/chunk-KZXYQYIU.js +876 -0
- package/dist/studio/chunk-KZXYQYIU.js.map +1 -0
- package/dist/studio/domEditingLayers-SSXQZHHQ.js +41 -0
- package/dist/studio/domEditingLayers-SSXQZHHQ.js.map +1 -0
- package/dist/studio/index.d.ts +1 -0
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +2298 -2483
- package/dist/studio/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/studio/assets/index-Dp0h2I9v.js +0 -374
package/dist/cli.js
CHANGED
|
@@ -50,7 +50,7 @@ var VERSION;
|
|
|
50
50
|
var init_version = __esm({
|
|
51
51
|
"src/version.ts"() {
|
|
52
52
|
"use strict";
|
|
53
|
-
VERSION = true ? "0.7.
|
|
53
|
+
VERSION = true ? "0.7.6" : "0.0.0-dev";
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -22507,10 +22507,11 @@ function updateAnimationInScript(script, animationId, updates) {
|
|
|
22507
22507
|
if (updates.duration !== void 0) {
|
|
22508
22508
|
upsertProp(ms, call.varsArg, "duration", updates.duration);
|
|
22509
22509
|
}
|
|
22510
|
-
|
|
22510
|
+
const easeValue = updates.easeEach ?? updates.ease;
|
|
22511
|
+
if (easeValue !== void 0) {
|
|
22511
22512
|
const kfNode = keyframesObjectNode(call.varsArg);
|
|
22512
|
-
if (kfNode) upsertProp(ms, kfNode, "easeEach",
|
|
22513
|
-
else upsertProp(ms, call.varsArg, "ease",
|
|
22513
|
+
if (kfNode) upsertProp(ms, kfNode, "easeEach", easeValue);
|
|
22514
|
+
else upsertProp(ms, call.varsArg, "ease", easeValue);
|
|
22514
22515
|
}
|
|
22515
22516
|
if (updates.extras) {
|
|
22516
22517
|
for (const [key2, value] of Object.entries(updates.extras)) {
|
|
@@ -23063,13 +23064,13 @@ function materializeKeyframesFromScript(script, animationId, keyframes, easeEach
|
|
|
23063
23064
|
}
|
|
23064
23065
|
return ms.toString();
|
|
23065
23066
|
}
|
|
23066
|
-
function addAnimationWithKeyframesToScript(script, targetSelector, position, duration, keyframes, ease) {
|
|
23067
|
+
function addAnimationWithKeyframesToScript(script, targetSelector, position, duration, keyframes, ease, easeEach) {
|
|
23067
23068
|
const parsed = parseGsapScriptAcornForWrite(script);
|
|
23068
23069
|
if (!parsed) return { script, id: "" };
|
|
23069
23070
|
const insertionPoint = findInsertionPoint(parsed);
|
|
23070
23071
|
if (insertionPoint === null) return { script, id: "" };
|
|
23071
23072
|
const sorted = [...keyframes].sort((a, b2) => a.percentage - b2.percentage);
|
|
23072
|
-
const kfObjCode = buildKeyframeObjectCode(sorted);
|
|
23073
|
+
const kfObjCode = buildKeyframeObjectCode(sorted, easeEach);
|
|
23073
23074
|
const varParts = [`keyframes: ${kfObjCode}`, `duration: ${valueToCode(duration)}`];
|
|
23074
23075
|
if (ease) varParts.push(`ease: ${JSON.stringify(ease)}`);
|
|
23075
23076
|
const stmtCode = `${parsed.timelineVar}.to(${JSON.stringify(targetSelector)}, { ${varParts.join(", ")} }, ${valueToCode(position)});`;
|
|
@@ -25071,8 +25072,16 @@ function findHtmlTag(source) {
|
|
|
25071
25072
|
};
|
|
25072
25073
|
}
|
|
25073
25074
|
function findRootTag(source) {
|
|
25074
|
-
const bodyOpenMatch = /<body\b[^>]
|
|
25075
|
+
const bodyOpenMatch = /<body\b([^>]*)>/i.exec(source);
|
|
25075
25076
|
const bodyCloseMatch = /<\/body>/i.exec(source);
|
|
25077
|
+
if (bodyOpenMatch && (readAttr(bodyOpenMatch[0], "data-composition-id") || readAttr(bodyOpenMatch[0], "data-width") || readAttr(bodyOpenMatch[0], "data-height"))) {
|
|
25078
|
+
return {
|
|
25079
|
+
raw: bodyOpenMatch[0],
|
|
25080
|
+
name: "body",
|
|
25081
|
+
attrs: bodyOpenMatch[1] ?? "",
|
|
25082
|
+
index: bodyOpenMatch.index
|
|
25083
|
+
};
|
|
25084
|
+
}
|
|
25076
25085
|
const bodyStart = bodyOpenMatch ? bodyOpenMatch.index + bodyOpenMatch[0].length : 0;
|
|
25077
25086
|
const bodyEnd = bodyOpenMatch && bodyCloseMatch && bodyCloseMatch.index > bodyStart ? bodyCloseMatch.index : source.length;
|
|
25078
25087
|
const bodyContent = bodyOpenMatch ? source.slice(bodyStart, bodyEnd) : source;
|
|
@@ -25195,6 +25204,26 @@ function stripJsComments(source) {
|
|
|
25195
25204
|
}
|
|
25196
25205
|
return out;
|
|
25197
25206
|
}
|
|
25207
|
+
function stripHtmlCommentsOnce(source) {
|
|
25208
|
+
let out = "";
|
|
25209
|
+
let i2 = 0;
|
|
25210
|
+
for (; ; ) {
|
|
25211
|
+
const start = source.indexOf("<!--", i2);
|
|
25212
|
+
if (start < 0) return out + source.slice(i2);
|
|
25213
|
+
const end = source.indexOf("-->", start + 4);
|
|
25214
|
+
if (end < 0) return out + source.slice(i2);
|
|
25215
|
+
out += source.slice(i2, start);
|
|
25216
|
+
i2 = end + 3;
|
|
25217
|
+
}
|
|
25218
|
+
}
|
|
25219
|
+
function stripHtmlComments(source) {
|
|
25220
|
+
let out = source;
|
|
25221
|
+
for (let prev = ""; prev !== out; ) {
|
|
25222
|
+
prev = out;
|
|
25223
|
+
out = stripHtmlCommentsOnce(out);
|
|
25224
|
+
}
|
|
25225
|
+
return out;
|
|
25226
|
+
}
|
|
25198
25227
|
function extractScriptTextsAndSrcs(scripts) {
|
|
25199
25228
|
const texts = scripts.filter((s2) => !/\bsrc\s*=/.test(s2.attrs)).map((s2) => s2.content);
|
|
25200
25229
|
const srcs = scripts.map((s2) => readAttr(`<script ${s2.attrs}>`, "src") || "").filter(Boolean);
|
|
@@ -25228,7 +25257,7 @@ var init_utils2 = __esm({
|
|
|
25228
25257
|
// ../core/src/lint/context.ts
|
|
25229
25258
|
function buildLintContext(html, options = {}) {
|
|
25230
25259
|
const rawSource = html || "";
|
|
25231
|
-
let source = rawSource;
|
|
25260
|
+
let source = stripHtmlComments(rawSource);
|
|
25232
25261
|
const templateMatch = source.match(/<template[^>]*>([\s\S]*)<\/template>/i);
|
|
25233
25262
|
if (templateMatch?.[1]) source = templateMatch[1];
|
|
25234
25263
|
const tags = extractOpenTags(source);
|
|
@@ -25532,13 +25561,13 @@ var init_core = __esm({
|
|
|
25532
25561
|
];
|
|
25533
25562
|
for (const script of scripts) {
|
|
25534
25563
|
const stripped = stripJsComments(script.content);
|
|
25535
|
-
for (const { pattern, label: label2, hint } of patterns) {
|
|
25564
|
+
for (const { pattern, label: label2, hint: hint2 } of patterns) {
|
|
25536
25565
|
if (pattern.test(stripped)) {
|
|
25537
25566
|
findings.push({
|
|
25538
25567
|
code: "non_deterministic_code",
|
|
25539
25568
|
severity: "error",
|
|
25540
25569
|
message: `Script contains \`${label2}\` which produces non-deterministic output. Renders may differ between frames or runs.`,
|
|
25541
|
-
fixHint:
|
|
25570
|
+
fixHint: hint2,
|
|
25542
25571
|
snippet: truncateSnippet(script.content)
|
|
25543
25572
|
});
|
|
25544
25573
|
}
|
|
@@ -26137,6 +26166,30 @@ function isHiddenGsapState(values) {
|
|
|
26137
26166
|
const display = stringValue(values.display)?.toLowerCase();
|
|
26138
26167
|
return zeroValue(values.opacity) || zeroValue(values.autoAlpha) || visibility === "hidden" || display === "none";
|
|
26139
26168
|
}
|
|
26169
|
+
function oneValue(values, keys2) {
|
|
26170
|
+
for (const key2 of keys2) {
|
|
26171
|
+
const value = values[key2];
|
|
26172
|
+
if (value !== void 0) return value;
|
|
26173
|
+
}
|
|
26174
|
+
return void 0;
|
|
26175
|
+
}
|
|
26176
|
+
function isVisibleGsapState(values) {
|
|
26177
|
+
const opacity = oneValue(values, ["opacity", "autoAlpha"]);
|
|
26178
|
+
if (typeof opacity === "number") return opacity > 0;
|
|
26179
|
+
if (typeof opacity === "string" && opacity.trim()) {
|
|
26180
|
+
const numeric = Number(opacity);
|
|
26181
|
+
if (Number.isFinite(numeric)) return numeric > 0;
|
|
26182
|
+
}
|
|
26183
|
+
const visibility = stringValue(values.visibility)?.toLowerCase();
|
|
26184
|
+
if (visibility === "visible" || visibility === "inherit") return true;
|
|
26185
|
+
const display = stringValue(values.display)?.toLowerCase();
|
|
26186
|
+
if (display && display !== "none") return true;
|
|
26187
|
+
return false;
|
|
26188
|
+
}
|
|
26189
|
+
function makesOverlayVisible(win) {
|
|
26190
|
+
if (win.method === "from" && isHiddenGsapState(win.propertyValues)) return true;
|
|
26191
|
+
return isVisibleGsapState(win.propertyValues);
|
|
26192
|
+
}
|
|
26140
26193
|
function isSceneBoundaryExit(win) {
|
|
26141
26194
|
if (win.end <= win.position) return false;
|
|
26142
26195
|
if (win.method !== "to" && win.method !== "fromTo") return false;
|
|
@@ -26225,6 +26278,67 @@ function getSingleClassSelector(selector) {
|
|
|
26225
26278
|
const match = selector.trim().match(/^\.(?<name>[A-Za-z0-9_-]+)$/);
|
|
26226
26279
|
return match?.groups?.name || null;
|
|
26227
26280
|
}
|
|
26281
|
+
function readStyleProperty(style, property) {
|
|
26282
|
+
const escapedProperty = property.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
26283
|
+
const match = style.match(new RegExp(`(?:^|;)\\s*${escapedProperty}\\s*:\\s*([^;]+)`, "i"));
|
|
26284
|
+
return match?.[1]?.trim() || null;
|
|
26285
|
+
}
|
|
26286
|
+
function cssZero(value) {
|
|
26287
|
+
if (!value) return false;
|
|
26288
|
+
return /^0(?:\.0+)?(?:px|%|vw|vh|rem|em)?$/i.test(value.trim());
|
|
26289
|
+
}
|
|
26290
|
+
function styleHasHiddenInitialState(style) {
|
|
26291
|
+
const opacity = readStyleProperty(style, "opacity");
|
|
26292
|
+
if (opacity && Number(opacity) === 0) return true;
|
|
26293
|
+
if (readStyleProperty(style, "visibility")?.toLowerCase() === "hidden") return true;
|
|
26294
|
+
if (readStyleProperty(style, "display")?.toLowerCase() === "none") return true;
|
|
26295
|
+
return false;
|
|
26296
|
+
}
|
|
26297
|
+
function styleHasOpaqueBackground(style) {
|
|
26298
|
+
const background = readStyleProperty(style, "background") || readStyleProperty(style, "background-color");
|
|
26299
|
+
if (!background) return false;
|
|
26300
|
+
const normalized = background.toLowerCase().replace(/\s+/g, "");
|
|
26301
|
+
if (normalized === "transparent" || normalized === "none") return false;
|
|
26302
|
+
if (/rgba?\([^)]*,0(?:\.0+)?\)$/.test(normalized)) return false;
|
|
26303
|
+
if (/hsla?\([^)]*,0(?:\.0+)?\)$/.test(normalized)) return false;
|
|
26304
|
+
return true;
|
|
26305
|
+
}
|
|
26306
|
+
function styleLooksFullFrameOverlay(style) {
|
|
26307
|
+
const position = readStyleProperty(style, "position")?.toLowerCase();
|
|
26308
|
+
if (position !== "fixed" && position !== "absolute") return false;
|
|
26309
|
+
const coversFrame = cssZero(readStyleProperty(style, "inset")) || cssZero(readStyleProperty(style, "top")) && cssZero(readStyleProperty(style, "right")) && cssZero(readStyleProperty(style, "bottom")) && cssZero(readStyleProperty(style, "left"));
|
|
26310
|
+
return coversFrame && styleHasOpaqueBackground(style);
|
|
26311
|
+
}
|
|
26312
|
+
function collectSimpleStyleRules(styles) {
|
|
26313
|
+
const rules = /* @__PURE__ */ new Map();
|
|
26314
|
+
for (const style of styles) {
|
|
26315
|
+
for (const [, selectorList, body] of style.content.matchAll(/([^{}]+)\{([^}]+)\}/g)) {
|
|
26316
|
+
if (!selectorList || !body) continue;
|
|
26317
|
+
for (const selector of selectorList.split(",")) {
|
|
26318
|
+
const token = selector.trim();
|
|
26319
|
+
if (!/^[#.][A-Za-z0-9_-]+$/.test(token)) continue;
|
|
26320
|
+
rules.set(token, `${rules.get(token) || ""};${body}`);
|
|
26321
|
+
}
|
|
26322
|
+
}
|
|
26323
|
+
}
|
|
26324
|
+
return rules;
|
|
26325
|
+
}
|
|
26326
|
+
function tagSimpleSelectors(tag) {
|
|
26327
|
+
const selectors = [];
|
|
26328
|
+
const id = readAttr(tag.raw, "id");
|
|
26329
|
+
if (id) selectors.push(`#${id}`);
|
|
26330
|
+
const classes = readAttr(tag.raw, "class")?.split(/\s+/).filter(Boolean) ?? [];
|
|
26331
|
+
for (const className of classes) selectors.push(`.${className}`);
|
|
26332
|
+
return selectors;
|
|
26333
|
+
}
|
|
26334
|
+
function combinedTagStyle(tag, styleRules) {
|
|
26335
|
+
const styles = [readAttr(tag.raw, "style") || ""];
|
|
26336
|
+
for (const selector of tagSimpleSelectors(tag)) {
|
|
26337
|
+
const ruleStyle = styleRules.get(selector);
|
|
26338
|
+
if (ruleStyle) styles.push(ruleStyle);
|
|
26339
|
+
}
|
|
26340
|
+
return styles.filter(Boolean).join(";");
|
|
26341
|
+
}
|
|
26228
26342
|
function cssTransformToGsapProps(cssTransform) {
|
|
26229
26343
|
const parts = [];
|
|
26230
26344
|
const translateMatch = cssTransform.match(
|
|
@@ -26299,7 +26413,7 @@ var init_gsap = __esm({
|
|
|
26299
26413
|
gsapRules = [
|
|
26300
26414
|
// overlapping_gsap_tweens + gsap_animates_clip_element + unscoped_gsap_selector
|
|
26301
26415
|
// fallow-ignore-next-line complexity
|
|
26302
|
-
async ({ source, tags, scripts, rootCompositionId }) => {
|
|
26416
|
+
async ({ source, tags, scripts, styles, rootCompositionId }) => {
|
|
26303
26417
|
const findings = [];
|
|
26304
26418
|
const clipIds = /* @__PURE__ */ new Map();
|
|
26305
26419
|
const clipClasses = /* @__PURE__ */ new Map();
|
|
@@ -26320,6 +26434,8 @@ var init_gsap = __esm({
|
|
|
26320
26434
|
}
|
|
26321
26435
|
const classUsage = countClassUsage(tags);
|
|
26322
26436
|
const clipStartBoundariesByComposition = collectClipStartBoundariesByComposition(source, tags);
|
|
26437
|
+
const styleRules = collectSimpleStyleRules(styles);
|
|
26438
|
+
const reportedVisibleOverlayKeys = /* @__PURE__ */ new Set();
|
|
26323
26439
|
for (const script of scripts) {
|
|
26324
26440
|
const localTimelineCompId = readRegisteredTimelineCompositionId(script.content);
|
|
26325
26441
|
const gsapWindows = await cachedExtractGsapWindows(script.content);
|
|
@@ -26371,6 +26487,45 @@ ${right.raw}`)
|
|
|
26371
26487
|
});
|
|
26372
26488
|
}
|
|
26373
26489
|
}
|
|
26490
|
+
for (const tag of tags) {
|
|
26491
|
+
const selectors = tagSimpleSelectors(tag);
|
|
26492
|
+
if (selectors.length === 0) continue;
|
|
26493
|
+
const overlayKey = readAttr(tag.raw, "id") || String(tag.index);
|
|
26494
|
+
if (reportedVisibleOverlayKeys.has(overlayKey)) continue;
|
|
26495
|
+
const authoredStyle = combinedTagStyle(tag, styleRules);
|
|
26496
|
+
if (!authoredStyle || !styleLooksFullFrameOverlay(authoredStyle)) continue;
|
|
26497
|
+
if (styleHasHiddenInitialState(authoredStyle)) continue;
|
|
26498
|
+
const visibilityWindows = gsapWindows.filter((win) => {
|
|
26499
|
+
const tokens = targetedSelectorTokens(win.targetSelector);
|
|
26500
|
+
if (!selectors.some((selector2) => tokens.has(selector2))) return false;
|
|
26501
|
+
return win.properties.some(
|
|
26502
|
+
(prop2) => ["opacity", "autoAlpha", "visibility", "display"].includes(prop2)
|
|
26503
|
+
);
|
|
26504
|
+
}).sort((a, b2) => a.position - b2.position);
|
|
26505
|
+
const startsHiddenAtZero = visibilityWindows.some(
|
|
26506
|
+
(win) => win.position <= SCENE_BOUNDARY_EPSILON_SECONDS && isHiddenGsapState(win.propertyValues)
|
|
26507
|
+
);
|
|
26508
|
+
if (startsHiddenAtZero) continue;
|
|
26509
|
+
const firstVisible = visibilityWindows.find((win) => makesOverlayVisible(win));
|
|
26510
|
+
if (!firstVisible) continue;
|
|
26511
|
+
const selector = selectors.find(
|
|
26512
|
+
(candidate) => targetedSelectorTokens(firstVisible.targetSelector).has(candidate)
|
|
26513
|
+
) || selectors[0] || tag.name;
|
|
26514
|
+
const laterHidden = visibilityWindows.some(
|
|
26515
|
+
(win) => win.position >= firstVisible.position && isHiddenGsapState(win.propertyValues)
|
|
26516
|
+
);
|
|
26517
|
+
if (firstVisible.method !== "from" && !laterHidden) continue;
|
|
26518
|
+
reportedVisibleOverlayKeys.add(overlayKey);
|
|
26519
|
+
findings.push({
|
|
26520
|
+
code: "gsap_fullscreen_overlay_starts_visible",
|
|
26521
|
+
severity: "error",
|
|
26522
|
+
message: `Full-frame overlay "${selector}" starts visible before its first GSAP opacity tween at ${firstVisible.position.toFixed(2)}s. It will cover earlier render frames, often as a blank/white video.`,
|
|
26523
|
+
selector,
|
|
26524
|
+
elementId: readAttr(tag.raw, "id") || void 0,
|
|
26525
|
+
fixHint: `Add \`opacity: 0\` to "${selector}" in CSS/inline styles, or add \`tl.set("${selector}", { opacity: 0 }, 0)\` before the reveal tween.`,
|
|
26526
|
+
snippet: truncateSnippet(firstVisible.raw)
|
|
26527
|
+
});
|
|
26528
|
+
}
|
|
26374
26529
|
for (const win of gsapWindows) {
|
|
26375
26530
|
const sel = win.targetSelector;
|
|
26376
26531
|
const clipInfo = clipIds.get(sel) || clipClasses.get(sel);
|
|
@@ -26969,6 +27124,17 @@ function isCompositionRootOrMount(rawTag) {
|
|
|
26969
27124
|
readAttr(rawTag, "data-composition-id") || readAttr(rawTag, "data-composition-src")
|
|
26970
27125
|
);
|
|
26971
27126
|
}
|
|
27127
|
+
function extractCssUrlReferences(css) {
|
|
27128
|
+
const out = [];
|
|
27129
|
+
const noComments = css.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
27130
|
+
const urlPattern = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
|
|
27131
|
+
let m2;
|
|
27132
|
+
while ((m2 = urlPattern.exec(noComments)) !== null) {
|
|
27133
|
+
const raw = (m2[2] ?? "").trim();
|
|
27134
|
+
if (raw) out.push(raw);
|
|
27135
|
+
}
|
|
27136
|
+
return out;
|
|
27137
|
+
}
|
|
26972
27138
|
function extractCssSelectors(css) {
|
|
26973
27139
|
const out = [];
|
|
26974
27140
|
const noComments = css.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
@@ -27008,20 +27174,56 @@ var init_composition = __esm({
|
|
|
27008
27174
|
MAX_TIMED_ELEMENTS_PER_TRACK = 3;
|
|
27009
27175
|
TRACK_DENSITY_EXEMPT_TAGS = /* @__PURE__ */ new Set(["audio", "script", "style", "video"]);
|
|
27010
27176
|
compositionRules = [
|
|
27011
|
-
//
|
|
27012
|
-
//
|
|
27013
|
-
//
|
|
27014
|
-
//
|
|
27015
|
-
|
|
27177
|
+
// invalid_parent_traversal_in_asset_path — catches `../` traversal in src,
|
|
27178
|
+
// href, inline-style url(), and <style> url() asset references on
|
|
27179
|
+
// compositions. Sub-compositions live under compositions/ but are served
|
|
27180
|
+
// with the project root as their base URL, so any `../`-traversing path
|
|
27181
|
+
// climbs above the project root and 404s in Studio preview. Renders
|
|
27182
|
+
// tolerate it because the server-side bundler rewrites `../foo` against
|
|
27183
|
+
// each sub-composition's source path; the runtime now mirrors that fallback
|
|
27184
|
+
// (see rewriteSubCompositionAssetPaths in runtime/compositionLoader.ts), but
|
|
27185
|
+
// the authoring-time signal is still wrong — flag it at lint time so the
|
|
27186
|
+
// baked path is plain root-relative and matches what the bundler emits.
|
|
27187
|
+
//
|
|
27188
|
+
// Mirrors the runtime fallback's surface: `[src]` / `[href]` attribute
|
|
27189
|
+
// values, `[style]` inline url(), and `<style>` block url() references.
|
|
27190
|
+
// Skips absolute URLs (http(s)://, //, data:, /-prefixed root-relative),
|
|
27191
|
+
// hash anchors, and plain relative paths (`assets/x.mp4`) — only `../`
|
|
27192
|
+
// traversal is flagged. Subsumes the older `../capture/`-specific rule.
|
|
27193
|
+
// fallow-ignore-next-line complexity
|
|
27194
|
+
({ tags, styles, rawSource, options }) => {
|
|
27016
27195
|
if (isRegistrySourceFile(options.filePath) || isRegistryInstalledFile(rawSource)) return [];
|
|
27017
|
-
const
|
|
27018
|
-
|
|
27196
|
+
const offenders = [];
|
|
27197
|
+
const collect = (value) => {
|
|
27198
|
+
if (!value) return;
|
|
27199
|
+
const trimmed = value.trim();
|
|
27200
|
+
if (!trimmed.startsWith("../") && trimmed !== "..") return;
|
|
27201
|
+
offenders.push(trimmed);
|
|
27202
|
+
};
|
|
27203
|
+
for (const tag of tags) {
|
|
27204
|
+
collect(readAttr(tag.raw, "src"));
|
|
27205
|
+
collect(readAttr(tag.raw, "href"));
|
|
27206
|
+
const styleAttr = readJsonAttr(tag.raw, "style");
|
|
27207
|
+
if (styleAttr) {
|
|
27208
|
+
for (const url of extractCssUrlReferences(styleAttr)) collect(url);
|
|
27209
|
+
}
|
|
27210
|
+
}
|
|
27211
|
+
for (const style of styles) {
|
|
27212
|
+
for (const url of extractCssUrlReferences(style.content)) collect(url);
|
|
27213
|
+
}
|
|
27214
|
+
if (offenders.length === 0) return [];
|
|
27215
|
+
const prefixCounts = /* @__PURE__ */ new Map();
|
|
27216
|
+
for (const path2 of offenders) {
|
|
27217
|
+
const prefix = path2.match(/^(?:\.\.\/)+[^/]+\//)?.[0] ?? path2;
|
|
27218
|
+
prefixCounts.set(prefix, (prefixCounts.get(prefix) ?? 0) + 1);
|
|
27219
|
+
}
|
|
27220
|
+
const prefixSummary = Array.from(prefixCounts.entries()).sort(([, a], [, b2]) => b2 - a).map(([prefix, count]) => count > 1 ? `${prefix} (${count})` : prefix).join(", ");
|
|
27019
27221
|
return [
|
|
27020
27222
|
{
|
|
27021
|
-
code: "
|
|
27223
|
+
code: "invalid_parent_traversal_in_asset_path",
|
|
27022
27224
|
severity: "error",
|
|
27023
|
-
message: `Found ${
|
|
27024
|
-
fixHint: '
|
|
27225
|
+
message: `Found ${offenders.length} asset path(s) traversing above the project root with "../" (${prefixSummary}). Renders rewrite this against each sub-composition's source path, but Studio preview and other live consumers resolve against the project root and 404.`,
|
|
27226
|
+
fixHint: 'Use plain root-relative paths (e.g. "assets/...", "capture/...", "fonts/...") \u2014 compositions are served with the project root as their base URL, so paths must be root-relative, not relative to the compositions/ directory.'
|
|
27025
27227
|
}
|
|
27026
27228
|
];
|
|
27027
27229
|
},
|
|
@@ -28743,7 +28945,7 @@ var RUNTIME_IIFE;
|
|
|
28743
28945
|
var init_runtime_inline = __esm({
|
|
28744
28946
|
"../core/src/generated/runtime-inline.ts"() {
|
|
28745
28947
|
"use strict";
|
|
28746
|
-
RUNTIME_IIFE = '"use strict";(()=>{var ga=Object.create;var Hn=Object.defineProperty;var ya=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var Sa=Object.getPrototypeOf,Aa=Object.prototype.hasOwnProperty;var Ea=(t,e,n)=>e in t?Hn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ne=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var wa=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ba(e))!Aa.call(t,r)&&r!==n&&Hn(t,r,{get:()=>e[r],enumerable:!(i=ya(e,r))||i.enumerable});return t};var Ca=(t,e,n)=>(n=t!=null?ga(Sa(t)):{},wa(e||!t||!t.__esModule?Hn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ea(t,typeof e!="symbol"?e+"":e,n);var Dr=ne((Xf,Jn)=>{var Y=String,Rr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};Jn.exports=Rr();Jn.exports.createColors=Rr});var Yn=ne(()=>{});var on=ne((em,Or)=>{"use strict";var Ir=Dr(),Pr=Yn(),_t=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=Ir.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=Ir.createColors(!0);r=x=>u(f(x)),i=x=>m(x),Pr&&(o=x=>Pr(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(l,a).map((u,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(u.length>160){let g=20,b=Math.max(0,this.column-g),F=Math.max(this.column+g,this.endColumn+g),_=u.slice(b,F),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,g-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+L+r("^")}let E=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+E+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Or.exports=_t;_t.default=_t});var Xn=ne((tm,Hr)=>{"use strict";var il=/(<)(\\/?style\\b)/gi,rl=/(<)(!--)/g;function qe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(il,"\\\\3c $2").replace(rl,"\\\\3c $2")}var Br={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ol(t){return t[0].toUpperCase()+t.slice(1)}var Lt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(qe(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(qe(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(qe(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:qe(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(qe("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(qe(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Br[i];let s=e.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+ol(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Br[i]),l[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:qe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(qe(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Hr.exports=Lt;Lt.default=Lt});var vt=ne((nm,Wr)=>{"use strict";var sl=Xn();function Qn(t,e){new sl(e).stringify(t)}Wr.exports=Qn;Qn.default=Qn});var sn=ne((im,Zn)=>{"use strict";Zn.exports.isClean=Symbol("isClean");Zn.exports.my=Symbol("my")});var Dt=ne((rm,Gr)=>{"use strict";var al=on(),ll=Xn(),ul=vt(),{isClean:kt,my:cl}=sn();function ei(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ei(s,n)):(o==="object"&&r!==null&&(r=ei(r)),n[i]=r)}return n}function We(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Rt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[kt]=!1,this[cl]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ei(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new al(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[kt]=!0}markDirty(){if(this[kt]){this[kt]=!1;let e=this;for(;e=e.parent;)e[kt]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(We(i,this.source.start),We(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=We(r,this.source.start),s=o+e;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:We(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:We(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(We(n,this.source.start),We(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:We(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:We(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new ll().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=ul){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Gr.exports=Rt;Rt.default=Rt});var Pt=ne((om,Ur)=>{"use strict";var dl=Dt(),It=class extends dl{constructor(e){super(e),this.type="comment"}};Ur.exports=It;It.default=It});var Bt=ne((sm,Vr)=>{"use strict";var fl=Dt(),Ot=class extends fl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};Vr.exports=Ot;Ot.default=Ot});var $e=ne((am,Qr)=>{"use strict";var zr=Pt(),jr=Bt(),ml=Dt(),{isClean:qr,my:$r}=sn(),ti,Kr,Jr,ni;function Yr(t){return t.map(e=>(e.nodes&&(e.nodes=Yr(e.nodes)),delete e.source,e))}function Xr(t){if(t[qr]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Xr(e)}var De=class t extends ml{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=Yr(Kr(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new jr(e)]}else if(e.selector||e.selectors)e=[new ni(e)];else if(e.name)e=[new ti(e)];else if(e.text)e=[new zr(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[$r]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[qr]&&Xr(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};De.registerParse=t=>{Kr=t};De.registerRule=t=>{ni=t};De.registerAtRule=t=>{ti=t};De.registerRoot=t=>{Jr=t};Qr.exports=De;De.default=De;De.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ti.prototype):t.type==="rule"?Object.setPrototypeOf(t,ni.prototype):t.type==="decl"?Object.setPrototypeOf(t,jr.prototype):t.type==="comment"?Object.setPrototypeOf(t,zr.prototype):t.type==="root"&&Object.setPrototypeOf(t,Jr.prototype),t[$r]=!0,t.nodes&&t.nodes.forEach(e=>{De.rebuild(e)})}});var an=ne((lm,eo)=>{"use strict";var Zr=$e(),ut=class extends Zr{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};eo.exports=ut;ut.default=ut;Zr.registerAtRule(ut)});var ln=ne((um,io)=>{"use strict";var pl=$e(),to,no,it=class extends pl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new to(new no,this,e).stringify()}};it.registerLazyResult=t=>{to=t};it.registerProcessor=t=>{no=t};io.exports=it;it.default=it});var oo=ne((cm,ro)=>{var hl="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",xl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},gl=(t=21)=>{let e="",n=t|0;for(;n--;)e+=hl[Math.random()*64|0];return e};ro.exports={nanoid:gl,customAlphabet:xl}});var un=ne(()=>{});var cn=ne(()=>{});var ii=ne(()=>{});var so=ne(()=>{});var oi=ne((bm,uo)=>{"use strict";var{existsSync:yl,readFileSync:bl}=so(),{dirname:ri,join:Sl}=un(),{SourceMapConsumer:ao,SourceMapGenerator:lo}=cn();function Al(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ht=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=ri(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ao(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let l=e.match(n)||e.match(i);if(l)return Al(e.substr(l[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=ri(e),yl(e)))return this.mapFile=e,bl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof ao)return lo.fromSourceMap(n).toString();if(n instanceof lo)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Sl(ri(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};uo.exports=Ht;Ht.default=Ht});var Wt=ne((Sm,ho)=>{"use strict";var{nanoid:El}=oo(),{isAbsolute:li,resolve:ui}=un(),{SourceMapConsumer:wl,SourceMapGenerator:Cl}=cn(),{fileURLToPath:co,pathToFileURL:dn}=ii(),fo=on(),Fl=oi(),si=Yn(),ai=Symbol("lineToIndexCache"),Ml=!!(wl&&Cl),mo=!!(ui&&li);function po(t){if(t[ai])return t[ai];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[ai]=n,n}var ct=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!mo||/^\\w+:\\/\\//.test(n.from)||li(n.from)?this.file=n.from:this.file=ui(n.from)),mo&&Ml){let i=new Fl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+El(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,l,a,c;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?c=new fo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):c=new fo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(dn&&(c.input.url=dn(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return po(this)[e-1]+n-1}fromOffset(e){let n=po(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:ui(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;li(s.source)?a=dn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||dn(this.map.mapFile));let c={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(co)c.file=co(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};ho.exports=ct;ct.default=ct;si&&si.registerInput&&si.registerInput(ct)});var dt=ne((Am,bo)=>{"use strict";var xo=$e(),go,yo,Ke=class extends xo{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new go(new yo,this,e).stringify()}};Ke.registerLazyResult=t=>{go=t};Ke.registerProcessor=t=>{yo=t};bo.exports=Ke;Ke.default=Ke;xo.registerRoot(Ke)});var ci=ne((Em,So)=>{"use strict";var Gt={comma(t){return Gt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Gt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,l=!1,a="",c=!1;for(let u of t)c?c=!1:u==="\\\\"?c=!0:l?u===a&&(l=!1):u===\'"\'||u==="\'"?(l=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};So.exports=Gt;Gt.default=Gt});var fn=ne((wm,Eo)=>{"use strict";var Ao=$e(),Nl=ci(),ft=class extends Ao{get selectors(){return Nl.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};Eo.exports=ft;ft.default=ft;Ao.registerRule(ft)});var Co=ne((Cm,wo)=>{"use strict";var Tl=an(),_l=Pt(),Ll=Bt(),vl=Wt(),kl=oi(),Rl=dt(),Dl=fn();function Ut(t,e){if(Array.isArray(t))return t.map(r=>Ut(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:vl.prototype};o.map&&(o.map={...o.map,__proto__:kl.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ut(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Rl(i);if(i.type==="decl")return new Ll(i);if(i.type==="rule")return new Dl(i);if(i.type==="comment")return new _l(i);if(i.type==="atrule")return new Tl(i);throw new Error("Unknown node type: "+t.type)}wo.exports=Ut;Ut.default=Ut});var fi=ne((Fm,Lo)=>{"use strict";var{dirname:mn,relative:Mo,resolve:No,sep:To}=un(),{SourceMapConsumer:_o,SourceMapGenerator:pn}=cn(),{pathToFileURL:Fo}=ii(),Il=Wt(),Pl=!!(_o&&pn),Ol=!!(mn&&No&&Mo&&To),di=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||mn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new _o(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Ol&&Pl&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=pn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new pn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new pn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,c)=>{if(this.css+=l,a&&c!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(e+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&c!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?mn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=mn(No(i,this.mapOpts.annotation)));let r=Mo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new Il(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Fo){let i=Fo(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;To==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Lo.exports=di});var Ro=ne((Mm,ko)=>{"use strict";var hn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,xn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Bl=/.[\\r\\n"\'(/\\\\]/,vo=/[\\da-f]/i;ko.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,c,u,m,f,x,E,g=i.length,b=0,F=[],_=[],L=-1;function ee(){return b}function H(C){throw e.error("Unclosed "+C,b)}function N(){return _.length===0&&b>=g}function y(C){if(_.length)return _.pop();if(b>=g)return;let M=C?C.ignoreUnclosed:!1;switch(o=i.charCodeAt(b),o){case 10:case 32:case 9:case 13:case 12:{a=b;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);u=[k,k,b];break}case 40:{if(E=F.length?F.pop()[1]:"",x=i.charCodeAt(b+1),E==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=b;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||M){a=b;break}else H("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(b,a+1),b,a],b=a}else b<=L?u=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||Bl.test(s)?(L=a===-1?g:a,u=["(","(",b]):(u=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(m=!1,a=i.indexOf(c,a+1),a===-1)if(r||M){a=b+1;break}else H("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{hn.lastIndex=b+1,hn.test(i),hn.lastIndex===0?a=i.length-1:a=hn.lastIndex-2,u=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,vo.test(i.charAt(a)))){for(;vo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(b,a+1),b,a],b=a;break}default:{o===47&&i.charCodeAt(b+1)===42?(a=i.indexOf("*/",b+2)+1,a===0&&(r||M?a=i.length:H("comment")),u=["comment",i.slice(b,a+1),b,a],b=a):(xn.lastIndex=b+1,xn.test(i),xn.lastIndex===0?a=i.length-1:a=xn.lastIndex-2,u=["word",i.slice(b,a+1),b,a],F.push(u),b=a);break}}return b++,u}function A(C){_.push(C)}return{back:A,endOfFile:N,nextToken:y,position:ee}}});var Oo=ne((Nm,Po)=>{"use strict";var Hl=an(),Wl=Pt(),Gl=Bt(),Ul=dt(),Do=fn(),Vl=Ro(),Io={empty:!0,space:!0};function zl(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var mi=class{constructor(e){this.input=e,this.root=new Ul,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new Hl;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,l=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,l]of e.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new Wl;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Vl(this.input)}decl(e,n){let i=new Gl;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||zl(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;e.length&&(l=e[0][0],!(l!=="space"&&l!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,c);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=c;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new Do;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],l=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,l=i.length,a="",c=!0,u,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?c=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!Io[m]&&!Io[u]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((x,E)=>x+E[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new Do;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Po.exports=mi});var yn=ne((Tm,Bo)=>{"use strict";var jl=$e(),ql=Wt(),$l=Oo();function gn(t,e){let n=new ql(t,e),i=new $l(n);try{i.parse()}catch(r){throw r}return i.root}Bo.exports=gn;gn.default=gn;jl.registerParse(gn)});var pi=ne((_m,Ho)=>{"use strict";var Vt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Ho.exports=Vt;Vt.default=Vt});var bn=ne((Lm,Wo)=>{"use strict";var Kl=pi(),zt=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Kl(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Wo.exports=zt;zt.default=zt});var hi=ne((vm,Uo)=>{"use strict";var Go={};Uo.exports=function(e){Go[e]||(Go[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var yi=ne((Rm,qo)=>{"use strict";var Jl=$e(),Yl=ln(),Xl=fi(),Ql=yn(),Vo=bn(),Zl=dt(),eu=vt(),{isClean:Be,my:tu}=sn(),km=hi(),nu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},iu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},ru={Once:!0,postcssPlugin:!0,prepare:!0},mt=0;function jt(t){return typeof t=="object"&&typeof t.then=="function"}function jo(t){let e=!1,n=nu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,mt,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,mt,n+"Exit"]:[n,n+"Exit"]}function zo(t){let e;return t.type==="document"?e=["Document",mt,"DocumentExit"]:t.type==="root"?e=["Root",mt,"RootExit"]:e=jo(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function xi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>xi(e)),t}var gi={},Je=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=xi(n);else if(n instanceof t||n instanceof Vo)r=xi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=Ql;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[tu]&&Jl.rebuild(r)}this.result=new Vo(e,r,i),this.helpers={...gi,postcss:gi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!iu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!ru[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(jt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[zo(e)];for(;n.length>0;){let i=this.visitTick(n);if(jt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return jt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=eu;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new Xl(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(jt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(jt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Be]){l[Be]=!0,e.push(zo(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===mt){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=jo(e);for(let i of n)if(i===mt)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Je.registerPostcss=t=>{gi=t};qo.exports=Je;Je.default=Je;Zl.registerLazyResult(Je);Yl.registerLazyResult(Je)});var Ko=ne((Im,$o)=>{"use strict";var ou=fi(),su=yn(),au=bn(),lu=vt(),Dm=hi(),qt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=su;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=lu;this.result=new au(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new ou(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};$o.exports=qt;qt.default=qt});var Yo=ne((Pm,Jo)=>{"use strict";var uu=ln(),cu=yi(),du=Ko(),fu=dt(),rt=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new du(this,e,n):new cu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Jo.exports=rt;rt.default=rt;fu.registerProcessor(rt);uu.registerProcessor(rt)});var rs=ne((Om,is)=>{"use strict";var Xo=an(),Qo=Pt(),mu=$e(),pu=on(),Zo=Bt(),es=ln(),hu=Co(),xu=Wt(),gu=yi(),yu=ci(),bu=Dt(),Su=yn(),bi=Yo(),Au=bn(),ts=dt(),ns=fn(),Eu=vt(),wu=pi();function se(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new bi(t)}se.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=e,l.postcssVersion=new bi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return se([r(a)]).process(s,l)},r};se.stringify=Eu;se.parse=Su;se.fromJSON=hu;se.list=yu;se.comment=t=>new Qo(t);se.atRule=t=>new Xo(t);se.decl=t=>new Zo(t);se.rule=t=>new ns(t);se.root=t=>new ts(t);se.document=t=>new es(t);se.CssSyntaxError=pu;se.Declaration=Zo;se.Container=mu;se.Processor=bi;se.Document=es;se.Comment=Qo;se.Warning=wu;se.AtRule=Xo;se.Result=Au;se.Input=xu;se.Rule=ns;se.Root=ts;se.Node=bu;gu.registerPostcss(se);is.exports=se;se.default=se});function nn(){return globalThis}function R(t,e){if(typeof window>"u")return;let n=nn(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ae(t){try{window.parent.postMessage(t,"*")}catch(e){R("bridge.postMessage",e)}}var Fa={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>Ma(t)};function Ma(t){let e=t.selectors,n=t.duration||800;e&&Na(e,n)}function Qi(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Fa[r];o&&o(i,t)};return window.addEventListener("message",e),Ae({source:"hf-preview",type:"ready"}),e}function Na(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){R("bridge.flashElements.querySelector",i)}}var Wn=null;function Zi(t){Wn=t}function At(t,e){if(Wn)try{Wn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){R("runtime.analytics.site1",n)}}function er(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=(l,a)=>{for(let c of l){try{c.currentTime=a}catch(u){R("runtime.adapters.css.site1",u)}try{c.pause()}catch(u){R("runtime.adapters.css.site2",u)}}},r=l=>{for(let a of l)try{a.play()}catch(c){R("runtime.adapters.css.site3",c)}},o=l=>{for(let a of l)try{a.pause()}catch(c){R("runtime.adapters.css.site4",c)}},s=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let a of l){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:l=>{let a=Number(l.time)||0;for(let c of e){if(!c.el.isConnected)continue;let u=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,m=Math.max(0,a-u)*1e3,f=n(c.el);if(f.length>0){i(f,m);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(m/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let a=n(l.el);a.length>0&&o(a),s(l)}},play:()=>{for(let l of e)l.el.isConnected&&(s(l),r(n(l.el)))},revert:()=>{e=[]}}}function tr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function nr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){R("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){R("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){R("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){R("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function or(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){R("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(ir(i))i.goToAndStop(e*1e3,!1);else if(rr(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){R("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(ir(e)||rr(e))&&e.pause()}catch(n){R("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function ir(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function rr(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Gn=-1;function rn(t){if(t!==Gn){Gn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){R("runtime.adapters.seek-dispatch.site1",e)}}}function sr(t){Gn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){R("runtime.adapters.seek-dispatch.force",e)}}function ar(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},l=c=>{o||c.itemsTotal<=c.itemsLoaded||(o=new Promise(u=>{c.onLoad=function(){try{r?.call(this)}finally{o=null,c.onLoad=r??null,u()}}}))},a=c=>{n!==c&&(n=c,i=c.onStart??null,r=c.onLoad??null,c.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{l(c)}})};return{name:"three",discover:()=>{let c=s();c&&(a(c),l(c))},seek:c=>{t=Math.max(0,Number(c.time)||0),e=t,window.__hfThreeTime=t,rn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let c=s();return!c||c.itemsTotal<=c.itemsLoaded?null:(o||l(c),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function lr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function ur(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function cr(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function dr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function fr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function mr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,rn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function pr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function hr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=pr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function xr(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,c=l[a];if(c instanceof HTMLVideoElement){let u=pr(c);u&&(l[a]=u)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function gr(){let t=!1,e=0,n=new WeakMap,i=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},r=l=>{let a=Number(l.currentTime);return Number.isFinite(a)&&a>0?a:0},o=(l,a)=>a<=0?l:l>=a?Math.max(0,l-a):l,s=(l,a)=>{let c=n.get(l);if(c)return c;let u={compositionTimeMs:a,animationTimeMs:t?o(r(l),a):r(l)};return n.set(l,u),u};return{name:"waapi",discover:()=>{t=!0;for(let l of i())s(l,e)},seek:l=>{let a=Math.max(0,(Number(l.time)||0)*1e3);e=a;for(let c of i()){let u=t?s(c,a):s(c,0),m=u.animationTimeMs+Math.max(0,a-u.compositionTimeMs);try{c.currentTime=m}catch(f){R("runtime.adapters.waapi.site1",f)}try{c.pause()}catch(f){R("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){R("runtime.adapters.waapi.site3",a)}}}}function yr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ta(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),c=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=c;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let g=m;g<=f+1e-6;g+=u){let b=Math.min(f,g);e(b);let F=Number(t.volume);if(!Number.isFinite(F))continue;let _=Math.max(0,Math.min(1,F)),L=x.at(-1);if((!L||Math.abs(L.volume-_)>1e-4||b===f)&&x.push({time:Number(b.toFixed(6)),volume:Number(_.toFixed(6))}),b===f)break}return x.some(g=>Math.abs(g.volume-c)>1e-4)?x:null}function br(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ta(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Ct(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Sr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=Ct(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/c));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),g={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(E)?E:null,playbackRate:c,loop:u,sourceDuration:m};i.push(g),s.tagName==="VIDEO"&&r.push(g),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Un=new WeakMap,Et=new WeakMap,Vn=new WeakSet,at=new WeakSet;function _a(t){if(at.has(t))return;at.add(t);let e=()=>at.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var La=3;function va(t){return t.error!=null||t.networkState===La}var zn=new WeakMap;function wt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function Ar(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let M=n.sourceDuration-n.mediaStart;M>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%M)}let s=wt(t.userVolume??1),l=wt(n.volume??1),a=zn.get(i),c=wt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=wt(yr(n.volumeKeyframes,r)):a===void 0||Math.abs(c-a)>1e-4?u=c:u=l;let m=wt(u*s);i.volume=m,zn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(M){R("runtime.media.site1",M)}let f=.04,x=2,E=i.currentTime||0,g=Math.abs(E-r),b=r-E,F=Un.get(i);Un.set(i,b);let _=F===void 0,L=!_&&Math.abs(b-F)>.5,ee=g>3,H=g>.5&&(_||L||ee),N=i.tagName==="VIDEO"&&!i.paused,y=F!==void 0&&Math.abs(b-F)<.004,A=!1;if(!N&&!H&&!_&&y&&g>f){let M=(Et.get(i)??0)+1;Et.set(i,M),M>=x&&(A=!0,Et.set(i,0))}else g<=f&&Et.set(i,0);let C=!N&&t.forceSync&&g>.02;if(H||A||C){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){R("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!Vn.has(i)){Vn.add(i),i.load();try{i.currentTime=r}catch(k){R("runtime.media.site3",k)}}}at.delete(i)}t.playing&&i.paused&&!at.has(i)&&!va(i)?(_a(i),i.play().catch(M=>{at.delete(i),(M&&typeof M=="object"&&"name"in M?String(M.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Un.delete(i),Et.delete(i),Vn.delete(i),zn.delete(i),i.paused||i.pause()}}var ka=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Ra=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Da="data-hf-color-grading-source-hidden";function Er(t){let e=!1,n=null,i=null,r=null,o=null;function s(y,A){try{window.dispatchEvent(new CustomEvent(y,{detail:A}))}catch(C){R("runtime.picker.site1",C)}}function l(y){r=y,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(y){o=y,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(y){let A=y.ownerDocument.defaultView;if(!A)return!1;let C=y;for(;C&&C!==document.body&&C!==document.documentElement;){let M=A.getComputedStyle(C);if(M.display==="none"||M.visibility==="hidden"||M.pointerEvents==="none")return!0;let k=Number.parseFloat(M.opacity);if(Number.isFinite(k)&&k<=.01&&!C.hasAttribute(Da))return!0;C=C.parentElement}return!1}function u(y){if(!y||y===document.body||y===document.documentElement)return!1;let A=y.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||y.classList.contains("__hf-pick-highlight")||y.closest(ka)||c(y))}function m(y){return!!y?.closest(Ra)}function f(y){let A=y;if(A.id)return`#${A.id}`;let C=y.getAttribute("data-composition-id");if(C)return`[data-composition-id="${CSS.escape(C)}"]`;let M=y.getAttribute("data-composition-src");if(M)return`[data-composition-src="${CSS.escape(M)}"]`;let k=y.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=y.tagName.toLowerCase(),G=y.parentElement;if(!G)return W;let J=G.querySelectorAll(`:scope > ${W}`);if(J.length===1)return W;for(let v=0;v<J.length;v+=1)if(J[v]===y)return`${W}:nth-of-type(${v+1})`;return W}function x(y){let A=y.tagName.toLowerCase(),C=(y.textContent??"").trim().replace(/\\s+/g," "),M=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?C.length>0?M(C,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":y.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function E(y,A,C){let M=typeof C=="number"&&C>0?C:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(y,A);else if(document.elementFromPoint){let J=document.elementFromPoint(y,A);k=J?[J]:[]}if(m(k[0]??null))return[];let W={},G=[];for(let J=0;J<k.length;J+=1){let v=k[J];if(!u(v))continue;let ie=`${v.tagName}::${v.id||""}::${J}`;if(!W[ie]&&(W[ie]=!0,G.push(v),G.length>=M))break}return G}function g(y){let A=y.getBoundingClientRect(),C={};for(let k=0;k<y.attributes.length;k+=1){let W=y.attributes[k];W.name.startsWith("data-")&&(C[W.name]=W.value)}return{id:y.id||null,tagName:y.tagName.toLowerCase(),selector:f(y),label:x(y),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:y.textContent?y.textContent.trim().slice(0,200):null,src:y.getAttribute("src")||y.getAttribute("data-composition-src")||null,dataAttributes:C}}function b(y,A,C){return E(y,A,C).map(g)}function F(y){if(!e)return;let C=E(y.clientX,y.clientY,1)[0]??(y.target instanceof Element?y.target:null);if(!u(C)||n===C)return;n&&n.classList.remove("__hf-pick-highlight"),n=C,C.classList.add("__hf-pick-highlight");let M=g(C);l(M),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:M})}function _(y){if(!e)return;y.preventDefault(),y.stopPropagation(),y.stopImmediatePropagation();let A=b(y.clientX,y.clientY,8);A.length!==0&&(l(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:y.clientX,y:y.clientY}}))}function L(y){y.key==="Escape"&&(H(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function ee(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",F,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function H(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",F,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:ee,disable:H,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(y,A,C)=>Number.isFinite(y)&&Number.isFinite(A)?b(y,A,C):[],pickAtPoint:(y,A,C)=>{if(!Number.isFinite(y)||!Number.isFinite(A))return null;let M=b(y,A,8);if(!M.length)return null;let k=Math.max(0,Math.min(M.length-1,Number(C??0))),W=M[k]??null;return W?(a(W),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),H(),W):null},pickManyAtPoint:(y,A,C)=>{if(!Number.isFinite(y)||!Number.isFinite(A))return[];let M=b(y,A,8);if(!M.length)return[];let k=[],W=Array.isArray(C)?C:[0];for(let G of W){let J=Math.max(0,Math.min(M.length-1,Math.floor(Number(G)))),v=M[J];if(!v)continue;k.some(Me=>Me.selector===v.selector&&Me.tagName===v.tagName)||k.push(v)}return k.length?(a(k[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),H(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:ee,disablePickMode:H,installPickerApi:N}}var Ia=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function lt(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function wr(t,e,n=Ia){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function Ft(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&R("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&R("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Mt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){R("runtime.player.site1",r)}}}function Cr(t,e,n){let i=lt(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function Pa(t,e,n,i){let r=[];Mt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Cr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){R("runtime.player.site2",s)}}}function Oa(t,e){Mt(t,e,n=>{Re(n,"play")})}function Fr(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??Ft(e,"duration",0))||0);n>0&&Math.max(0,Ft(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Mt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Mt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,Ft(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=Pa(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Mt(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),Re(l,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(Oa(t.getTimelineRegistry?.(),n),Cr(n,e,i)):lt(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Ft(t.getTimeline(),"time",0),getDuration:()=>Ft(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Mr(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Ba=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function qn(t){return t.id||t.getAttribute("data-hf-id")||null}function jn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function Ha(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function Wa(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=jn(t.getAttribute("data-playback-start"))??jn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function Ga(t,e,n,i){let r=jn(t.getAttribute("data-duration"));return r!=null&&r>0?r:Ha(t,e)??Wa(t)??Math.max(0,n-i)}function Ua(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Nr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Ba.has(l.tagName))continue;let a=e.resolveStartForElement(l,0);if(Ga(l,n,i,a)<=0)continue;let c={id:qn(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,c)}return Ua(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}var Va="data-hf-authored-duration",za="data-hf-authored-end";function nt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ja(t){return nt(t.getAttribute("data-duration"))}function qa(t){return nt(t.getAttribute("data-end"))}function $a(t){return nt(t.getAttribute(Va))}function Ka(t){return nt(t.getAttribute(za))}function Ja(t){let e=(t??"").trim();if(!e)return null;let n=nt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function je(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},l=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=ja(u)??(n?$a(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let E=qa(u)??(n?Ka(u):null);if(E!=null){let g=c(u,0),b=E-g;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let E=nt(u.getAttribute("data-playback-start"))??nt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>E&&(f=(u.duration-E)/Ct(u))}if(f==null||f<=0){let E=u.getAttribute("data-composition-id");if(E){let g=e[E]??null;if(g&&typeof g.duration=="function")try{let b=Number(g.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){R("runtime.startResolver.site1",b)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?c(x,m):0}let f=u.closest("[data-composition-id]");return f?c(f,m):0},c=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=Ja(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let _=u.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id"))){let L=c(_,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),L=Math.max(0,a(u,m)+_);return i.set(u,L),L}let E=s(x.refId);if(!E)return i.set(u,m),m;let g=c(E,0),b=l(E);if(b==null||b<=0){let _=Math.max(0,g+x.offset);return i.set(u,_),_}let F=Math.max(0,g+b+x.offset);return i.set(u,F),F}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>c(u,Math.max(0,m)),resolveDurationForElement:u=>l(u)}}function Tr(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var Ya="data-hf-authored-duration",Xa="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function $n(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(Ya))}function _r(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(Xa))}function Kn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Lr={composition:0,video:1,image:2,element:3,audio:4};function Qa(t){if(t.length===0)return;let e=new Map;for(let s of t){let l=e.get(s.track)??new Set;l.add(s.kind),e.set(s.track,l)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,l)=>s-l);for(let s of o){let l=e.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((c,u)=>(Lr[c]??99)-(Lr[u]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Tt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function vr(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return Tt(e);let n=t.getAttribute("data-composition-src");if(n)return Tt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?Tt(i.getAttribute("src")):null}function Za(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function el(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function tl(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Nt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function nl(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Nt(r);let o=t.id;if(o)return Nt(o);let s=Za(t);if(s)return Nt(s);let l=el(vr(t));if(l)return Nt(l);let a=tl(t);return a||`${Nt(e)} ${n+1}`}function kr(t){let n=window.__timelines??{},i=je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let B=Number(D.duration());return Number.isFinite(B)&&B>0?B:null}catch{return null}},o=O=>{let D=we(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let B=we(O.getAttribute("data-playback-start"))??we(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>B?Math.max(0,(O.duration-B)/Ct(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let B of O){let ae=B.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(B,0):Math.max(0,Number(B.getAttribute("data-start")??0)||0);if(!Number.isFinite(ae))continue;let re=o(B);re==null||re<=0||(D=Math.max(D,Math.max(0,ae)+re))}return D>0?D:null},l=(O,D)=>{let B=[],ae=null,re=null,j=null,q=O.parentElement;for(;q;){let z=q.getAttribute("data-composition-id");z&&(B.push(z),!j&&q!==D&&(j=z),ae==null&&(ae=i.resolveStartForElement(q,0)),re==null&&(re=we(q.getAttribute("data-duration"))??r(z)??null)),q=q.parentElement}return{parentCompositionId:j,compositionAncestors:B.reverse(),inheritedStart:ae,inheritedDuration:re}},a=document.querySelector("[data-composition-id]"),c=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,E=r(u),g=$n(a??document.body),b=Kn(...c.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),B=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||B==null||B<=0?null:Math.max(0,D)+B})),F=b!=null?Math.max(0,b-Math.max(0,m)):null,_=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,L=typeof g=="number"&&Number.isFinite(g)&&g>0?g:null,ee=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,H=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=Kn(ee,H),y=_!=null&&N!=null&&_>N+1,C=L??(y?N:Kn(_,ee,H))??null,k=(C!=null?m+C:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),G=[],J=[],v=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),ie=0;for(let O=0;O<v.length;O+=1){let D=v[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let B=l(D,a),ae=i.resolveStartForElement(D,B.inheritedStart??0),re=D.getAttribute("data-composition-id"),j=$n(D);if((j==null||j<=0)&&re&&re!==u&&(j=r(re)),(j==null||j<=0)&&D instanceof HTMLMediaElement){let be=we(D.getAttribute("data-playback-start"))??we(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(j=Math.max(0,D.duration-be))}if(j==null||j<=0){let be=B.inheritedDuration;if(be!=null&&be>0){let Ne=(B.inheritedStart??0)+be;j=Math.max(0,Ne-ae)}}if(j==null||j<=0||(j=W(ae,j),j<=0))continue;let q=ae+j;ie=Math.max(ie,q);let z=D.tagName.toLowerCase(),Le=re&&re!==u?"composition":z==="video"?"video":z==="audio"?"audio":z==="img"?"image":"element";G.push({id:qn(D)??re??null,label:nl(D,Le,G.length),start:ae,duration:j,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Le,tagName:z,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:B.compositionAncestors,parentCompositionId:B.parentCompositionId,nodePath:null,compositionSrc:Tt(D.getAttribute("data-composition-src")),assetUrl:vr(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:we(D.getAttribute("data-timeline-priority"))})}let Me=new Set(G.map(O=>O.id)),V=a?.getAttribute("data-composition-id")??null,te=V?n[V]??null:null;if(te&&a){let O=te;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],B=new Map;for(let j of a.children){let q=j;if(!q.id)continue;let z=q.tagName.toLowerCase();z==="script"||z==="style"||z==="link"||B.set(q,{id:q.id,start:1/0,end:-1/0})}let ae=j=>{let q=j;for(;q;){if(B.has(q))return q;if(q===a)return null;q=q.parentElement}return null};for(let j of D){if(typeof j.targets!="function"||typeof j.startTime!="function"||typeof j.duration!="function")continue;let q=j.startTime(),z=j.parent;for(;z&&z!==te&&typeof z.startTime=="function";)q+=z.startTime(),z=z.parent;let Le=q+j.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Le)))for(let be of j.targets()){if(!(be instanceof Element))continue;let Ve=ae(be);if(!Ve)continue;let Ne=B.get(Ve);Ne&&(Ne.start=Math.min(Ne.start,q),Ne.end=Math.max(Ne.end,Le))}}let re=G.length>0?Math.max(...G.map(j=>j.track))+1:0;for(let[j,q]of B){if(q.start===1/0||q.end===-1/0)continue;let z=j;if(Me.has(z.id))continue;let Le=Math.max(0,q.end-q.start);if(Le<=0)continue;let be=W(q.start,Le);be<=0||(ie=Math.max(ie,q.start+be),G.push({id:z.id,label:z.getAttribute("data-timeline-label")??z.getAttribute("data-label")??z.getAttribute("aria-label")??z.id,start:q.start,duration:be,track:Number.parseInt(z.getAttribute("data-track-index")??z.getAttribute("data-track")??"",10)||re,kind:"element",tagName:z.tagName.toLowerCase(),compositionId:z.getAttribute("data-composition-id"),compositionAncestors:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:z.getAttribute("data-timeline-role"),timelineLabel:z.getAttribute("data-timeline-label"),timelineGroup:z.getAttribute("data-timeline-group"),timelinePriority:we(z.getAttribute("data-timeline-priority"))}),Me.add(z.id))}}catch(D){R("runtime.timeline.site1",D)}}if(a&&C!=null&&C>0){let O=G.length>0?Math.max(...G.map(D=>D.track))+1:0;for(let D of a.children){let B=D;if(!B.id||Me.has(B.id))continue;let ae=B.getAttribute("data-timeline-role");if(ae!=="overlay"&&ae!=="persistent-overlay")continue;let re=B.tagName.toLowerCase();if(re==="script"||re==="style"||re==="link"||re==="meta"||window.getComputedStyle(B).display==="none")continue;let q=W(0,C);q<=0||(ie=Math.max(ie,q),G.push({id:B.id,label:B.getAttribute("data-timeline-label")??B.getAttribute("data-label")??B.getAttribute("aria-label")??B.id,start:0,duration:q,track:Number.parseInt(B.getAttribute("data-track-index")??B.getAttribute("data-track")??"",10)||O,kind:"element",tagName:re,compositionId:B.getAttribute("data-composition-id"),compositionAncestors:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ae,timelineLabel:B.getAttribute("data-timeline-label"),timelineGroup:B.getAttribute("data-timeline-group"),timelinePriority:we(B.getAttribute("data-timeline-priority"))}),Me.add(B.id))}}Qa(G);for(let O of c){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!Tr(D))continue;let B=i.resolveStartForElement(O,0),ae=$n(O);if((ae==null||ae<=0)&&_r(O)!=null){let z=_r(O);ae=Math.max(0,z-B)}let re=r(D),j=ae&&ae>0?ae:re;if(j==null||j<=0)continue;let q=W(B,j);q<=0||J.push({id:D,label:O.getAttribute("data-label")??D,start:B,duration:q,thumbnailUrl:Tt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let U=Math.max(1,ie||1,C??0);return{source:"hf-preview",type:"timeline",durationInFrames:y&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(U*Math.max(1,t.canonicalFps))),clips:G,scenes:J,compositionWidth:we(a?.getAttribute("data-width"))??1920,compositionHeight:we(a?.getAttribute("data-height"))??1080}}var ce=Ca(rs(),1),os=ce.default,Bm=ce.default.stringify,Hm=ce.default.fromJSON,Wm=ce.default.plugin,Gm=ce.default.parse,Um=ce.default.list,Vm=ce.default.document,zm=ce.default.comment,jm=ce.default.atRule,qm=ce.default.rule,$m=ce.default.decl,Km=ce.default.root,Jm=ce.default.CssSyntaxError,Ym=ce.default.Declaration,Xm=ce.default.Container,Qm=ce.default.Processor,Zm=ce.default.Document,ep=ce.default.Comment,tp=ce.default.Warning,np=ce.default.AtRule,ip=ce.default.Result,rp=ce.default.Input,op=ce.default.Rule,sp=ce.default.Root,ap=ce.default.Node;var Si="data-hf-authored-id";function Ai(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ei(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Cu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ss(t){let e=t.trim();return e?Array.from(new Set([e,Cu(e)])).filter(Boolean):[]}function Fu(t){return!!t&&/[\\w-]/.test(t)}function Mu(t,e,n){let i=ss(e).sort((l,a)=>a.length-l.length);if(i.length===0)return t;let r="",o=0,s=null;for(let l=0;l<t.length;l+=1){let a=t[l],c=l>0?t[l-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,l+1));if(u){let m=t[l+1+u.length];if(!Fu(m)){r+=n,l+=u.length;continue}}}r+=a}return r}function Nu(t,e){let n=e?.trim();return n?Mu(t,n,`[${Si}="${Ei(n)}"]`):t}function Tu(t,e,n,i,r){let o=Nu(t,i),s=_u(o,e,n),l=s.trim();if(!l||/^(html|body|:root|\\*)$/i.test(l))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Ai(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(l))return s.replace(a,e);let c=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Si}="${Ei(i)}"]`:null;if(m&&l.startsWith(m)){let f=l.slice(m.length);return`${c}${e}${m}${f}${u}`}}return`${c}${e} ${l}${u}`}function _u(t,e,n){let i=Ai(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Lu=new Set(["keyframes","-webkit-keyframes","font-face"]);function vu(t){return t?.type==="atrule"}function ku(t){let e=t.parent;for(;e;){if(vu(e)&&Lu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function wi(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Ei(o)}"]`,l=os.parse(t);return l.walkRules(a=>{ku(a)||(a.selectors=a.selectors.map(c=>Tu(c,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function as(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),l=JSON.stringify(r),a=JSON.stringify(n),c=Ai(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),E=JSON.stringify(ss(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Si)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${E};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function ls(){if(typeof document>"u")return{};let t=Ci(document.documentElement),e=Ru();return{...t,...e}}function Ci(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Ru(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Du=8e3,Iu=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function Pu(t,e){return`${t}__hf${e}`}var Ou=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),Du)});function Fi(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var Bu=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function Hu(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of Bu)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function us(t,e){let n=t.trim();if(!n)return t;try{return Iu.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function Wu(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Sn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function Gu(t){let e=new Map;for(let n of t){let i=Sn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function cs(t){let e=Sn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function Uu(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function Vu(t){return t.hasAttribute("data-composition-src")?!0:cs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:Uu(t):!1}function Ni(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:cs(e))}function ds(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Ni().map(n=>Sn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function fs(t,e=Gu(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Sn(r),l=Vu(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(l){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),c=a?Pu(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Mi(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=wi(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let l=Array.from(n.querySelectorAll("style"));for(let f of l){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=wi(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let g=us(E,t.compositionUrl);a.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&a.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let g=us(E,t.compositionUrl);u.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&u.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),E=t.parseDimensionPx(f),g=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),E&&t.host instanceof HTMLElement&&(t.host.style.width=E),g&&t.host instanceof HTMLElement&&(t.host.style.height=g),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(Hu(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...Wu(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=as(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let E=await Ou(x);E.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:E.status,elapsedMs:E.elapsedMs}})}}}async function ms(t){let e=Ni();if(ds(),e.length===0)return;let n=fs(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);Fi(r),await Mi({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function ps(t){let e=Ni();if(ds(),e.length===0)return;let n=fs(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Fi(r);try{let u=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(u){await Mi({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),E=new DOMParser().parseFromString(f,"text/html"),g=(l?E.querySelector(`template#${CSS.escape(l)}-template`):null)??E.querySelector("template"),b=g?g.content:E.body,F=g?void 0:Array.from(E.head.querySelectorAll("style")),_=g?void 0:Array.from(E.head.querySelectorAll("script")),L=g?void 0:Array.from(E.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Mi({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!g,fallbackBodyInnerHtml:E.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:F,headScripts:_,headLinks:L,declaredVariableDefaults:Ci(E.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Fi(r)}}))}function zu(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ju(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function qu(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Ti(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=ju();for(let i of e){let r=null;if(i.wordId&&(r=zu(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===c?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let l=qu(r);t.set(l,o)}}}).catch(()=>{})}var Kt="data-color-grading",$u="rec709",Ye={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},hs=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Ku=[{id:"neutral",label:"Neutral",adjust:{...Ye}},{id:"warm-clean",label:"Warm Clean",adjust:{...Ye,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Ye,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Ye,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Ye,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Ye,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Ju=new Map(Ku.map(t=>[t.id,t])),Yu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,Xu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function $t(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qu(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function xs(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Zu(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=Xu[e];return Qu(n,i.min,i.max)}function ec(t){if(t==null)return null;let e=String(t).trim();return e||null}function tc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!$t(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:xs(t.intensity,1)}}function nc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return $t(n)?n:null}catch{return null}return{preset:e,intensity:1}}return $t(t)?t:null}function ic(t,e){let n=t.trim().match(Yu);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function _i(t,e){if(typeof t=="string"){let i=ic(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return _i(JSON.parse(r),e)}catch{return t}}if(!$t(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=_i(r,e);return n}function rc(t){return t?Ju.get(t)??null:null}function Li(t){let e=nc(t);if(!e||e.enabled===!1)return null;let n=ec(e.preset),r=rc(n)?.adjust??Ye,o=$t(e.adjust)?e.adjust:{},s=hs.reduce((l,a)=>(l[a]=Zu(o[a]??r[a],a),l),{...Ye});return{enabled:!0,preset:n,intensity:xs(e.intensity,1),adjust:s,lut:tc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():$u}}function gs(t,e){return Li(_i(t,e))}function Jt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:hs.some(e=>Math.abs(t.adjust[e])>1e-4)}var Ee=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},oc=[0,0,0],sc=[1,1,1],ac=64;function lc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function pt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new Ee(`Invalid number "${t}"`,e);return n}function ys(t,e,n){if(t.length!==3)throw new Ee(`${e} expects three numbers`,n);return[pt(t[0],n),pt(t[1],n),pt(t[2],n)]}function bs(t,e,n){if(!t)throw new Ee(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new Ee(`${e} must be an integer greater than 1`,n);return i}function uc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function cc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function dc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Ss(t,e={}){let n=e.maxSize??ac,i=null,r=oc,o=sc,s=null,l=null,a=[],c=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<c.length;m++){let f=m+1,x=lc(c[m]??"").trim();if(!x)continue;let E=x.split(/\\s+/),g=(E[0]??"").toUpperCase(),b=E.slice(1);if(g==="TITLE"){i=cc(x);continue}if(g==="DOMAIN_MIN"){r=ys(b,g,f);continue}if(g==="DOMAIN_MAX"){o=ys(b,g,f);continue}if(g==="LUT_1D_SIZE"){s=bs(b[0],g,f);continue}if(g==="LUT_3D_SIZE"){if(l=bs(b[0],g,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!dc(g)){if(g.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${g}`,f);continue}if(!l)throw s?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(E.length!==3)throw new Ee("LUT data rows must contain three numbers",f);a.push(pt(E[0],f),pt(E[1],f),pt(E[2],f))}if(s&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");uc(r,o);let u=l*l*l;if(a.length!==u*3)throw new Ee(`Expected ${u} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function fc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function vi(t){return Math.round(fc(t)*255)}function As(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let l=0;l<e;l++){let a=((o*e+s)*e+l)*3,c=(s*n+o*e+l)*4;r[c]=vi(t.data[a]??0),r[c+1]=vi(t.data[a+1]??0),r[c+2]=vi(t.data[a+2]??0),r[c+3]=255}return{width:n,height:i,data:r}}var An=new Map,mc="data-hf-color-grading-canvas",Ms="data-hf-color-grading-source-hidden",pc="__hf_color_grading_canvas__",hc=64,Yt={enabled:!1,position:.5,softness:0,lineWidth:2};function xc(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function ki(t){let e=t.getAttribute(Kt);return e==null?null:gs(e,xc(t))}var gc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),yc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function ot(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Es(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(R("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function bc(t){let e=Es(t,gc,t.VERTEX_SHADER),n=Es(t,yc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(R("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function ws(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Sc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=bc(e),i=ws(e),r=ws(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Ac(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ec(t){if(!Ac(t))return{...Yt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Yt.position,0,1),softness:e(t.softness,Yt.softness,0,.25),lineWidth:e(t.lineWidth,Yt.lineWidth,0,12)}}function Ns(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function Di(t){return t instanceof Error?t.message:"LUT failed to load"}function wc(t){let e=Ns(t);if("error"in e)return{state:"error",message:e.error};let n=An.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Ss(o,{maxSize:hc})),r={state:"pending",promise:i};return An.set(e.href,r),i.then(o=>An.set(e.href,{state:"ready",lut:o}),o=>An.set(e.href,{state:"error",message:Di(o)})),r}function Cs(t,e,n){if(t.lut?.src===e)return t.lut;let i=As(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=Di(s),t.lutLoadingSrc=null,R("runtime.colorGrading.uploadLut",s),null}}function Cc(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=Ns(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=wc(e);return r.state==="ready"?Cs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Cs(t,i.href,o),Ge(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=Di(o),t.lutLoadingSrc=null,Ge(t))})),null)}function Ri(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&ot(n))return n;try{let i=document.querySelector(e);return i&&ot(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&ot(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&ot(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&ot(i)?i:null}catch{return null}}function Fc(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function Ts(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function Mc(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&Ts(e)?e:null}function Nc(t){if(t instanceof HTMLVideoElement){let e=Mc(t);if(e)return e}return Ts(t)?t:null}function Fs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function Tc(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=Fs(o,"x"),l=Fs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function _c(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let c=Tc(o||"center"),u=(t-l)*c.x/t,m=(e-a)*c.y/e;return{scaleX:l/t,scaleY:a/e,offsetX:u,offsetY:m}}function Lc(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function vc(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&Lc(t,r);let o=window.getComputedStyle(e);wr(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function kc(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function Rc(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(Ms,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ge(t){if(t.destroyed)return!1;let e=Nc(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=Fc(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",l=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=l!=="hidden"&&x.visibility!=="hidden"}let a=vc(t,i);if(!a)return!1;let c=window.getComputedStyle(i),u=_c(a.width,a.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:m,program:f}=t;try{let x=Cc(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),kc(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),Rc(t),t.hasDrawn=!0,!0}catch(x){return R("runtime.colorGrading.drawEntry",x),!1}}function Xe(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function Dc(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function Xt(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)})}function Ic(t){let e=()=>{Ge(t)};Xe(t,t.element,"load",e),Xe(t,t.element,"loadedmetadata",e),Xe(t,t.element,"loadeddata",e),Xe(t,t.element,"seeked",e),Xe(t,t.element,"timeupdate",e),Xe(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Xe(t,t.element,"play",()=>Xt(t)),Xe(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function Pc(t){if(!t.destroyed){t.destroyed=!0,Dc(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(Ms);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function Oc(t){let e=document.createElement("canvas");return e.className=pc,e.setAttribute(mc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function _s(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(g,b,F)=>{let _=t.get(g);if(_)return _.grading=b,_.source=F,Ge(_),g instanceof HTMLVideoElement&&!g.paused&&Xt(_),!0;let L=Oc(g),ee=Sc(L);if(!ee)return L.remove(),!1;let H={element:g,canvas:L,gl:ee.gl,program:ee.program,grading:b,compare:{...Yt},lut:null,lutLoadingSrc:null,lutError:null,source:F,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(g).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(g).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(g,H),e.add(g),Ic(H),Ge(H),g instanceof HTMLVideoElement&&!g.paused&&Xt(H),!0},o=(g,b)=>{if(i)return!1;let F=Ri(g);if(!F)return!1;let _=t.get(F);if(!_){let L=ki(F);if(!Jt(L)||!r(F,L,"attribute"))return!1;_=t.get(F)}return _?(_.compare=Ec(b),Ge(_),!0):!1},s=g=>{let b=t.get(g);b&&(Pc(b),t.delete(g),e.delete(g))},l=()=>{if(i)return 0;let g=new Set;document.querySelectorAll(`video[${Kt}], img[${Kt}]`).forEach(F=>{if(!ot(F))return;g.add(F);let _=ki(F);Jt(_)?r(F,_,"attribute"):s(F)});for(let F of Array.from(e)){let _=t.get(F);_&&(!F.isConnected||_.source==="attribute"&&!g.has(F))&&s(F)}return e.size},a=()=>{if(i)return 0;let g=0;for(let b of Array.from(e,F=>t.get(F)))b&&Ge(b)&&(g+=1);return g},c=(g,b)=>{if(i)return!1;let F=Ri(g);if(!F)return!1;let _=Li(b);return Jt(_)?r(F,_,"live"):(s(F),!0)},u=(g,b)=>{if(!ot(g))return!1;let F=t.get(g);return F?(F.sourceVisibleForCanvas=b,!0):!1},m=g=>{let b=Ri(g);if(!b)return{state:"missing",message:"Media not found"};let F=t.get(b);if(F)return F.lutError?{state:"unavailable",message:F.lutError}:F.grading.lut&&F.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:F.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:F.lut?"Shader + LUT active":"Shader active"};let _=ki(b);return Jt(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let g of Array.from(e))s(g)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Kt]}));let x={refresh:l,redraw:a,setGrading:c,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},E=window;return E.__hf=E.__hf||{},E.__hf.colorGrading=x,l(),x}var En=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Ls(t){return!Number.isFinite(t)||t<=0?1:t}function Bc(t,e){e||t.paused||!nn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function Hc(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return l&&u<=0?!1:(l?t.start(0,n+i,u):t.start(0,n+i),!0)}let c=-n/o;return l?t.start(r+c,i,a):t.start(r+c,i),!0}var wn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return R("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return R("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),R("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1,c=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let u=Ls(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,E=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=E,this._rateAnchorComp=o,!Hc(m,{elapsed:x,mediaStart:r,scheduledAt:E,safeRate:u,clipDuration:c}))return m.disconnect(),f.disconnect(),null;let g=e.muted;e.muted=!0,Bc(e,g);let b={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:E,priorMuted:g,bounded:Number.isFinite(c)&&c>0};return this._activeSources.push(b),this._paused=!1,m.addEventListener("ended",()=>{let F=this._activeSources.indexOf(b);F!==-1&&(this._activeSources.splice(F,1),e.muted=g,this._activeSources.length===0&&(this._paused=!0))}),b}catch(u){return R("webAudioTransport.schedule",u),null}}setRate(e){let n=Ls(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){R("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){R("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var vs="data-hf-studio-manual-edit-gesture";var Ii="data-hf-authored-duration",Pi="data-hf-authored-end";function ks(){let t=Mr(),e=null,n=null,i=null,r=[],o=new Set,s=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){R("runtime.init.site1",d)}document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=d=>{r.push(d)},a=(d,p,h)=>{let S=h??`${d}:${JSON.stringify(p)}`;o.has(S)||(o.add(S),Ae({source:"hf-preview",type:"diagnostic",code:d,details:p}))},c=d=>{let p={scale:1,focusX:960,focusY:540},h=[],S=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},u=1/60,m=.75,f=2,x=.05,E=100,g=240,b=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},F=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},L=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.length===0?null:p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null},ee=()=>{let d=L();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},H=()=>{let d=L(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),w=h.getAttribute("data-end");S!=null&&!h.hasAttribute(Ii)&&h.setAttribute(Ii,S),w!=null&&!h.hasAttribute(Pi)&&h.setAttribute(Pi,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},N=()=>{let d=L();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let S=Array.from(d.children);for(let w of S){let T=w.tagName.toLowerCase();if(T==="script"||T==="style"||T==="link"||T==="meta"||!w.hasAttribute("data-start"))continue;let I=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(I&&$&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ze=w.style.top,ge=w.style.left,St=w.style.width,le=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let Z=window.getComputedStyle(w);Z.top!=="auto"||Z.bottom!=="auto"||Z.left!=="auto"||Z.right!=="auto"||Z.width!=="0px"||Z.height!=="0px"||(w.style.top=ze,w.style.left=ge,w.style.width=St,w.style.height=le)}let Q=window.getComputedStyle(w),pe=Q.position;if(pe!=="absolute"&&pe!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||Q.top!=="auto"||Q.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||Q.left!=="auto"||Q.right!=="auto"||(w.style.left="0"),T!=="audio"){let ze=_(w.getAttribute("data-width")),ge=_(w.getAttribute("data-height")),St=Q.width!=="0px"&&Q.width!=="auto",le=Q.height!=="0px"&&Q.height!=="auto";ze?!w.style.width&&!St&&(w.style.width=ze):!w.style.width&&Q.width==="0px"&&(w.style.width="100%"),ge?!w.style.height&&!le&&(w.style.height=ge):!w.style.height&&Q.height==="0px"&&(w.style.height="100%")}}},y=(d,p=0,h)=>je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),A=(d,p)=>je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),C=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0):y(d,p),M=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let S=h==="video"||h==="audio"?C(d,0):y(d,0),w=A(d),T=d.getAttribute("data-composition-id");if(T){let $=(window.__timelines??{})[T],Q=null;if($&&typeof $.duration=="function"){let he=Number($.duration());Number.isFinite(he)&&he>0&&(Q=he)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Ii)||d.hasAttribute(Pi))&&(w==null||w<=0)&&Q!=null&&(w=Q)}let I=w!=null&&w>0?S+w:Number.POSITIVE_INFINITY;return p>=S&&(Number.isFinite(I)?p<=I:!0)},k=!!document.querySelector("[data-composition-src]"),W=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){W=!0;break}}}let G=!k&&!W,J=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},v=d=>typeof d=="number"&&Number.isFinite(d)&&d>u,ie=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),S=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>S?Math.max(0,d.duration-S):null},Me=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let S=C(h,0);if(!Number.isFinite(S))continue;let w=ie(h);w==null||w<=u||(p=Math.max(p,Math.max(0,S)+w))}return p>u?p:null},V=()=>{let d=L();if(!d)return null;let p=window.__timelines??{},h=je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),S=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(S=w);let T=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let I of T){if(!(I instanceof Element)||I.parentElement?.closest("[data-composition-id]")!==d)continue;let Q=h.resolveStartForElement(I,0),pe=h.resolveDurationForElement(I);!Number.isFinite(Q)||pe==null||pe<=0||(S=Math.max(S,Math.max(0,Q)+pe))}return S>u?S:null},te=()=>{let d=Me();return typeof d!="number"||!Number.isFinite(d)||d<=u?null:d},U=d=>v(d)?Math.max(u,d*m):u,X=(d,p=0)=>{let h=J(d),S=te(),w=V(),T=Math.max(S??0,w??0),I=Number.isFinite(p)&&p>u?p:0,$=0;return v(h)?$=Math.max(h,T,I):v(T)?$=Math.max(T,I):$=I,$>0?Math.max(0,$):0},Ce=()=>{let d=window.__timelines??{},p=je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=te(),S=V(),w=Math.max(h??0,S??0)||null,T=U(w),I=le=>{let Z=document.querySelector(`[data-composition-id="${CSS.escape(le)}"]`);return Z?p.resolveStartForElement(Z,0):0},$=le=>{let Z=window.gsap;if(!Z||typeof Z.timeline!="function")return null;let fe=Z.timeline({paused:!0});for(let ye of le)fe.add(ye.timeline,I(ye.compositionId));return fe},Q=(le,Z)=>{if(!v(le))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let ye=fe.timeline({paused:!0});if(Z)try{ye.add(Z,0)}catch(ue){R("runtime.init.site2",ue)}let Se=ye;if(typeof Se.to=="function")try{Se.to({},{duration:le})}catch(ue){R("runtime.init.site3",ue)}return ye},pe=(le,Z)=>{let fe=le;if(typeof fe.getChildren!="function")return[];try{let ye=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(ye))return[];let Se=[];for(let ue of Z)if(!ye.some(ke=>ke===ue.timeline))try{let ke=I(ue.compositionId);le.add(ue.timeline,ke),Se.push(ue.compositionId)}catch(ke){R("runtime.init.site4",ke)}return Se}catch{return[]}},he=L(),K=he?.getAttribute("data-composition-id")??null;if(!K)return{timeline:null};let oe=d[K]??null,ge=(()=>{if(!he)return[];let le=new Set,Z=Array.from(he.querySelectorAll("[data-composition-id]")),fe=[];for(let ye of Z){let Se=ye.getAttribute("data-composition-id");if(!Se||Se===K||le.has(Se))continue;le.add(Se);let ue=d[Se]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Fe=J(ue);fe.push({compositionId:Se,timeline:ue,durationSeconds:Fe??0})}return fe})(),St=le=>{for(let Z of le){let fe=Z.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(ye){R("runtime.init.site5",ye)}}};if(ge.length>0&&St(ge),oe){let le=ge.length>0?pe(oe,ge):[];if((ge.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+K+"\'])"))&&(O=!0),le.length>0)try{let ue=oe.time();oe.seek(ue,!1)}catch{}let Z=J(oe);if(!v(Z)&&ge.length>0){let ue=ge.map(xa=>xa.compositionId),Fe=$(ge),ke=J(Fe);if(Fe&&v(ke))return{timeline:Fe,selectedTimelineIds:ue,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:ue,autoNestedChildren:le}}};let On=Q(w??0,oe),Bn=J(On);if(On&&v(Bn))return{timeline:On,selectedTimelineIds:[K],selectedDurationSeconds:Bn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Bn,selectedTimelineIds:[K],autoNestedChildren:le}}}}if(!v(Z)&&ge.length===0){let ue=Q(w??0,oe),Fe=J(ue);if(ue&&v(Fe))return{timeline:ue,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Fe,selectedTimelineIds:[K]}}}}let fe=he?.getAttribute("data-duration"),ye=fe?parseFloat(fe):null,Se=Math.max(v(ye)?ye:0,S??0);if(Se>0&&v(Se)&&v(Z)&&Se>=Z+.5){let ue=oe;if(typeof ue.to=="function")try{ue.to({},{duration:0},Se)}catch(ke){R("runtime.init.site6",ke)}let Fe=J(oe);if(v(Fe))return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:K,rootDurationSeconds:Z,rootDeclaredDur:ye,authoredCompositionDurationFloorSeconds:S,newDur:Fe}}}}return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Z,mediaDurationFloorSeconds:h,diagnostics:le.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:K,selectedDurationSeconds:Z,autoNestedChildren:le}}:void 0}}if(ge.length>0){let le=ge.map(ye=>ye.compositionId),Z=$(ge),fe=J(Z);if(Z)return{timeline:Z,selectedTimelineIds:le,selectedDurationSeconds:fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:K,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:fe,mediaDurationFloorSeconds:h,selectedTimelineIds:le}}}}return{timeline:null}},O=!1,D=()=>{if(!G)return!1;let d=t.capturedTimeline,p=J(d),h=v(p);if(d&&h&&O)return!1;let S=Ce();if(!S.timeline)return!1;if(d&&d===S.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=S.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let w=X(t.capturedTimeline,0);if(w>0){try{P.setDuration(w)}catch{}t.capturedTimeline.pause();let T=Math.max(0,t.currentTime||0);typeof t.capturedTimeline.totalTime=="function"&&t.capturedTimeline.totalTime(T,!1);let I=window.__hfStudioManualEditsApply;typeof I=="function"&&I()}if(S.diagnostics&&Ae({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Ae({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let T=L(),I=w>0?w:0,$=String(I>0?I:1),Q=new Set,pe=new Set(document.querySelectorAll("[data-start]")),he=K=>{let oe=K.parentElement;for(;oe&&oe!==T;){if(pe.has(oe))return!0;oe=oe.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let K of t.capturedTimeline.getChildren(!0))if(typeof K.targets=="function")for(let oe of K.targets())oe instanceof HTMLElement&&oe!==T&&(oe.hasAttribute("data-start")||he(oe)||Q.has(oe)||(Q.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",$)))}catch{}if(T instanceof HTMLElement)for(let K of T.querySelectorAll("[id]"))K instanceof HTMLElement&&K!==T&&(K.hasAttribute("data-start")||he(K)||Q.has(K)||K.tagName==="SCRIPT"||K.tagName==="STYLE"||K.tagName==="LINK"||(Q.add(K),K.setAttribute("data-start","0"),K.setAttribute("data-duration",$)))}for(let T of be)Ve.delete(T),ji(T);return!0};window.__hfForceTimelineRebind=()=>{O=!1,D()};let B=()=>{let d=L();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),T=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,I=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!T||!I||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:S,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},ae=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,B()}))},re=()=>{n=d=>{let p=b(d.error??d.message).slice(0,g);if(!p)return;let h=F(p);Ae({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let p=b(d.reason).slice(0,g);if(!p)return;let h=F(p);Ae({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},j=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let S=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),T=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,I=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(I,{tagName:w,assetUrl:T,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${I}:${w}:${T??"unknown"}`)};h.addEventListener("error",S),l(()=>{h.removeEventListener("error",S)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&a("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},q=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let S=Math.max(0,t.currentTime||0),w=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(S,!1),w&&t.capturedTimeline.play()}catch(T){R("runtime.init.site7",T)}return Ae({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:S,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},z=null,Le=!1,be=new Set,Ve=new WeakMap,Ne=()=>{t.tornDown||(z!=null&&window.clearTimeout(z),z=window.setTimeout(()=>{if(t.tornDown)return;z=null;let d=Ce();if(!d.timeline||!v(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){D()&&(st(),Te(!0));return}if(Le)return;let h=J(t.capturedTimeline),S=d.selectedDurationSeconds??J(d.timeline);v(S)&&(!v(h)||S>=h+x)&&q(d,"manual")&&(Le=!0,Ae({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:S??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),st(),Te(!0))},E))},oa=()=>{for(let d of be)d.removeEventListener("loadedmetadata",Ne),d.removeEventListener("durationchange",Ne);be.clear()},_n=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(be.has(p))continue;be.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",Ne),p.addEventListener("durationchange",Ne),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),ji(p)}},ji=d=>{Ve.has(d)||br(d,t.capturedTimeline,X(t.capturedTimeline,0),Ve)},Ln=new WeakMap,qi=d=>{let p=Ln.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,S=h==="static"||h==="relative"||h==="sticky";return Ln.set(d,S),S},vn=new WeakMap,sa=d=>{let p=vn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return vn.set(d,h),h},aa=()=>{Ln=new WeakMap,vn=new WeakMap},ve=()=>{let d=T=>{let I=T.closest("[data-composition-id]"),$=I?y(I,0):null,Q=I?A(I,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:I,inheritedStart:$,inheritedDuration:Q}},p=Sr({shouldIncludeElement:T=>T.hasAttribute("data-start")||!!d(T).compositionRoot,resolveStartSeconds:T=>{let I=d(T);return C(T,I.inheritedStart??0)},resolveDurationSeconds:T=>{let I=d(T),$=C(T,I.inheritedStart??0),Q=Number.parseFloat(T.dataset.playbackStart??T.dataset.mediaStart??"0")||0,pe=I.inheritedStart!=null&&I.inheritedDuration!=null&&I.inheritedDuration>0?Math.max(0,I.inheritedStart+I.inheritedDuration-$):null,he=Number.isFinite(T.duration)&&T.duration>Q?Math.max(0,T.duration-Q):null,K=Number.parseFloat(T.dataset.duration??""),oe=Number.isFinite(K)&&K>0?K:null,ze=[he,pe,oe].filter(ge=>ge!=null);return ze.length>0?Math.min(...ze):null}});for(let T of p.mediaClips){let I=Ve.get(T.el);I&&(T.volumeKeyframes=I)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||Ar({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(T,I)=>de.setElementVolume(T,I),isWebAudioOwned:T=>de.ownsElement(T),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ae({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]")),w=L();for(let T of S){if(!(T instanceof HTMLElement))continue;let I=M(T,t.currentTime);if(I){let $=T.parentElement;for(;$&&$!==w;){if($ instanceof HTMLElement&&$.hasAttribute("data-start")&&!M($,t.currentTime)){I=!1;break}$=$.parentElement}}T.style.visibility=I?"visible":"hidden",(T instanceof HTMLVideoElement||T instanceof HTMLImageElement)&&e?.setSourceVisibility(T,I),I?qi(T)&&T.style.removeProperty("display"):qi(T)&&sa(T)&&(T.style.display="none")}},Te=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ae({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},kn="",la=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},st=()=>{H(),ee(),N();let d=L();if(d){let S=_(d.getAttribute("data-width")),w=_(d.getAttribute("data-height")),T=S?parseInt(S,10):0,I=w?parseInt(w,10):0;T>0&&I>0&&Ae({source:"hf-preview",type:"stage-size",width:T,height:I})}D();let p=kr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=la();if(kn!==h&&aa(),!window.__clipTree||kn!==h){let S=window;window.__clipTree=Nr({startResolver:je({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),kn=h}Ae(p),ae()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){R("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:p})}catch(S){R("runtime.init.site9",S)}}},et=()=>{window.__renderReady=!1},yt=null,bt=!0,ua=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let S=h();S&&d.push(S)}catch(S){R("runtime.init.adapterReady",S)}}return d},ca=()=>{let d=ua();if(d.length===0)return yt=null,bt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==yt&&(yt=p,bt=!1,Promise.resolve(p).then(()=>{yt===p&&(bt=!0,et())},h=>{yt===p&&(bt=!0,R("runtime.init.adapterReady",h),et())})),bt};if(G)Ti();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ae({source:"hf-preview",type:"diagnostic",code:p,details:h})}};ps(d).then(()=>ms(d)).finally(()=>{G=!0,_n(),j(),Ti(),et()})}let en=Er({postMessage:d=>Ae(d)});en.installPickerApi();let He=_s();e=He,l(()=>{He.destroy(),e=null});let Rn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(w){R("runtime.init.site10",w)}},me=Fr({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Rn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,ve()},onStatePost:Te,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){R("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{He.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>X(t.capturedTimeline,0)});window.__player=c(me),window.__playerReady=!0,Zi(Ae),At("composition_loaded",{duration:me.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=Qi({onPlay:()=>{me.play(),At("composition_played",{time:me.getTime()})},onPause:()=>{me.pause(),At("composition_paused",{time:me.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;me.seek(h),At("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),w=Number.isFinite(S)?S:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),P.detachAudioSource()):ve())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),P.detachAudioSource()),ve())},onSetPlaybackRate:d=>{Rn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),Yi()},onSetColorGrading:(d,p)=>{He.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{He.setCompare(d,p)},onTick:()=>{if(t.tornDown||!P.isPlaying())return;let d=P.now();if(t.currentTime=d,tt(d),P.reachedEnd()){de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),t.currentTime=p,tt(p)),Pe("pause"),ve(),Te(!0)}},onEnablePickMode:()=>en.enablePickMode(),onDisablePickMode:()=>en.disablePickMode()}),t.deterministicAdapters=[gr(),er({resolveStartSeconds:d=>y(d,0)}),nr(),or(),ar(),lr(),ur(),cr(),dr(),fr(),mr(),tr({getTimeline:()=>t.capturedTimeline})],hr(),xr(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,sr(p)},re(),_n(),Pe("discover");let P=new En;t.transportClock=P;let de=new wn,Dn=!1;de.init().then(d=>{Dn=d});let da=()=>{let d=t.capturedTimeline,p=D();t.capturedTimeline&&(p||t.capturedTimeline!==d||!me._timeline)&&(me._timeline=t.capturedTimeline);let h=X(t.capturedTimeline,0);h>0&&P.setDuration(h),Pe("discover",t.currentTime),window.__renderReady=!0,st(),Te(!0)};if(et=()=>{if(!G||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!ca()){window.__renderReady=!1;return}da()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),G&&setTimeout(()=>{et()},0);let tn=0,In=!1,fa=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(S){R(h,S)}},ma=d=>{let p=window.__timelines??{},h=L()?.getAttribute("data-composition-id")??null;for(let[S,w]of Object.entries(p)){if(!w||S===h)continue;let T=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!T)continue;let I=y(T,0);if(!Number.isFinite(I))continue;let $=A(T,{includeAuthoredTimingAttrs:!0}),Q=J(w),pe=$!=null&&$>0?$:Q,he=Math.max(0,pe!=null&&pe>0?Math.min(pe,d-I):d-I);fa(w,he,"runtime.init.transport.childTimeline")}},pa=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(S){R("runtime.init.activateSiblings",S)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&pa(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){R("runtime.init.transport.seek",S)}}else ma(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(w){R("runtime.init.transport.adapter",w)}},ha=()=>{try{return document.querySelector(`[${vs}]`)!=null}catch{return!1}},$i=()=>{if(!(t.tornDown||In)){In=!0;try{if(t.transportRafId=window.requestAnimationFrame($i),tn+=1,tn%60===0&&!(P.isPlaying()&&t.capturedTimeline!=null&&P.now()<f)){let h=t.capturedTimeline;if(D()){t.capturedTimeline&&!me._timeline&&(me._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=X(t.capturedTimeline,0);S>0&&P.setDuration(S),st()}}if(tn%20===0&&st(),tn%30===0&&_n(),t.capturedTimeline){let p=X(t.capturedTimeline,0);p>0&&(!P.isPlaying()||p>=P.getDuration())&&P.setDuration(p)}if(P.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&P.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let S of p){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let w=Number.parseFloat(S.dataset.start??""),T=Number.parseFloat(S.dataset.duration??""),I=Number.isFinite(T)&&T>0?w+T:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&t.currentTime>=w&&t.currentTime<=I){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(P.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(P.attachAudioSource({el:S,compositionStart:w,mediaStart:$}),h=!0);break}}!h&&P.hasAudioSource()&&P.detachAudioSource()}else P.hasAudioSource()&&P.detachAudioSource();let d=P.now();if(t.currentTime=d,(P.isPlaying()||!ha())&&tt(d),P.isPlaying()&&P.reachedEnd()){de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),t.currentTime=p,tt(p)),Pe("pause"),ve(),Te(!0);return}P.isPlaying()&&ve(),Te(!1)}finally{In=!1}}},Ki=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let w=Number.parseFloat(h.dataset.duration??""),T=Number.isFinite(w)&&w>0?S+w:1/0;if(d<S||d>=T)continue;let I=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+I;if($>=0)try{h.currentTime=$}catch{}}},Ji=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,T=Number.parseFloat(h.dataset.volume??""),I=Number.isFinite(T)?T:1,$=Number.parseFloat(h.dataset.duration??""),Q=Number.isFinite($)&&$>0?$:Number.POSITIVE_INFINITY,pe=h.closest("[data-composition-id]");if(pe){let he=y(pe,0),K=A(pe,{includeAuthoredTimingAttrs:!0});K!=null&&K>0&&(Q=Math.min(Q,Math.max(0,he+K-S)))}de.decodeAudioElement(h).then(he=>{!he||!P.isPlaying()||de.schedulePlayback(h,he,S,w,P.now(),I*t.bridgeVolume,d,t.playbackRate,Q)})}},Yi=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Dn&&P.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Ji())};if(me.play=()=>{let d=t.capturedTimeline;if(P.isPlaying())return;let p=X(d,0);if(p>0)P.setDuration(p),P.reachedEnd()&&(P.seek(0),t.currentTime=0,tt(0));else{let h=L(),S=Number(h?.getAttribute("data-duration")??0);S>0&&P.setDuration(S)}d&&d.pause(),P.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,Ki(P.now()),Dn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Ji(),Pe("play"),ve(),He.redraw(),Te(!0))},me.pause=()=>{if(!P.isPlaying())return;de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1,t.currentTime=P.now(),t.mediaForceSyncNextTick=!0,Ki(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),ve(),He.redraw(),Te(!0)},me.seek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),P.detachAudioSource(),P.isPlaying()&&P.pause(),P.seek(p),t.currentTime=P.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let S=t.capturedTimeline;S&&S.pause(),tt(t.currentTime),Pe("pause"),ve(),He.redraw(),Te(!0)},me.renderSeek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);P.isPlaying()&&P.pause(),P.seek(p),t.currentTime=P.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),ve(),He.redraw(),Te(!0)},me.getTime=()=>P.now(),me.getDuration=()=>{let d=P.getDuration();return Number.isFinite(d)?d:0},me.isPlaying=()=>P.isPlaying(),me.setPlaybackRate=d=>{Rn(d),P.setRate(t.playbackRate),Yi()},t.capturedTimeline){let d=X(t.capturedTimeline,0);d>0&&P.setDuration(d),t.capturedTimeline.pause()}let Xi=window.__player;if(Xi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Xi,p,{get:()=>me[p],set:h=>{me[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame($i),st(),Te(!0);let Pn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),z!=null&&(window.clearTimeout(z),z=null),s!=null&&(window.cancelAnimationFrame(s),s=null),oa(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),en.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){R("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(p){R("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){R("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){R("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Pn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Pn,t.beforeUnloadHandler=Pn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Rs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Oi=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Wc(t){if(t<=255)return Rs[t];let e=0,n=Oi.length-1;for(;e<=n;){let i=e+n>>1,r=Oi[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function Gc(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let u=t.charCodeAt(c),m=u,f=1;if(u>=55296&&u<=56319&&c+1<e){let E=t.charCodeAt(c+1);E>=56320&&E<=57343&&(m=(u-55296<<10)+(E-56320)+65536,f=2)}let x=Wc(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let E=0;E<f;E++)n[c+E]=x;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let u=n[c];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",l=s,a=l;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let u;for(u=c-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=c+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let c=0;c<e;c++){let u=n[c];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[c]="ON")}a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let u=c+1;for(;u<e&&n[u]==="ON";)u++;let m=c>0?n[c-1]:l,f=u<e?n[u]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let g=c;g<u;g++)n[g]=x;c=u-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let u=n[c];(o[c]&1)===0?u==="R"?o[c]++:(u==="AN"||u==="EN")&&(o[c]+=2):(u==="L"||u==="AN"||u==="EN")&&o[c]++}return o}function Ds(t,e){let n=Gc(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Uc=/[ \\t\\n\\r\\f]+/g,Vc=/[\\t\\n\\r\\f]| {2,}|^ | $/;function zc(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function jc(t){if(!Vc.test(t))return t;let e=t.replace(Uc," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function qc(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Bi=null,$c;function Kc(){return Bi===null&&(Bi=new Intl.Segmenter($c,{granularity:"word"})),Bi}var Jc=/\\p{Script=Arabic}/u,Cn=/\\p{M}/u,Us=/\\p{Nd}/u;function Is(t){return Jc.test(t)}function Ps(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function Ie(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ps(r))return!0;e++;continue}}if(Ps(n))return!0}}return!1}function Yc(t){let e=Nn(t);return e!==null&&(Mn.has(e)||Qe.has(e))}var Xc=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Qc(t){return Ie(t)}function Zc(t){let e=Nn(t);return e!==null&&Xc.has(e)}function Fn(t){return!Yc(t)&&!Zc(t)}var Mn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),Zt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Wi=new Set(["\'","\\u2019"]),Qe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),ed=new Set([":",".","\\u060C","\\u061B"]),td=new Set(["\\u104F"]),nd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function id(t){if(Gi(t))return!0;let e=!1;for(let n of t){if(Qe.has(n)){e=!0;continue}if(!(e&&Cn.test(n)))return!1}return e}function rd(t){for(let e of t)if(!Mn.has(e)&&!Qe.has(e))return!1;return t.length>0}function od(t){if(Gi(t))return!0;for(let e of t)if(!Zt.has(e)&&!Wi.has(e)&&!Cn.test(e))return!1;return t.length>0}function Gi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Cn.test(n))){if(Zt.has(n)||Qe.has(n)||Wi.has(n)){e=!0;continue}return!1}return e}function Vs(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function Nn(t){if(t.length===0)return null;let e=Vs(t,t.length);return t.slice(e)}function sd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Cn.test(i)){n--;continue}if(Zt.has(i)||Wi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function ad(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Os(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return t[i]=l,l}function Bs(t,e){return t&&e!==null&&ed.has(e)}function ld(t){let e=Nn(t);return e!==null&&td.has(e)}function ud(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Tn(t){let e=t.length;for(;e>0;){let n=Vs(t,e),i=t.slice(n,e);if(nd.has(i))return!0;if(!Qe.has(i))return!1;e=n}return!1}function cd(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var dd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function _e(t){return t.length===1?t[0]:t.join("")}function fd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),_e(n)}function md(t,e,n,i){if(!dd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,c=0;for(let u of t){let m=cd(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),c+=u.length;continue}o!==null&&r.push({text:_e(s),isWordLike:a,kind:o,start:l}),o=m,s=[u],l=n+c,a=f,c+=u.length}return o!==null&&r.push({text:_e(s),isWordLike:a,kind:o,start:l}),r}function Hi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var pd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function hd(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:pd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function xd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function gd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!hd(t,s))continue;let l=[e[s]],a=s+1;for(;a<t.len&&!Hi(i[a]);){l.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=_e(l)}let o=0;for(let s=0;s<e.length;s++){let l=e[s];l.length!==0&&(o!==s&&(e[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!xd(s))continue;let l=o+1;if(l>=t.len||Hi(t.kinds[l]))continue;let a=[],c=t.starts[l],u=l;for(;u<t.len&&!Hi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(_e(a)),n.push(!0),i.push("text"),r.push(c),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var bd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Hs=/^[A-Za-z0-9_]+[,:;]*$/,Ws=/[,:;]+$/;function zs(t){for(let e of t)if(Us.test(e))return!0;return!1}function Qt(t){if(t.length===0)return!1;for(let e of t)if(!(Us.test(e)||bd.has(e)))return!1;return!0}function Sd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o];if(l==="text"&&Qt(s)&&zs(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Qt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(_e(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Ad(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o],a=t.isWordLike[o];if(l==="text"&&a&&Hs.test(s)){let c=[s],u=Ws.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&Hs.test(t.texts[m]);){let f=t.texts[m];c.push(f),u=Ws.test(f),m++}e.push(_e(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Ed(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let c=0;c<l.length;c++){let u=l[c];if(!a)break;(u.length===0||!zs(u)||!Qt(u))&&(a=!1)}if(a){let c=0;for(let u=0;u<l.length;u++){let m=l[u],f=u<l.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function wd(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],l=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let u=[s[0]],m=c;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=_e(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),l=t.isWordLike[o],a="text",c=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=_e(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),l=l||t.isWordLike[o],o++;continue}s.push(m)}e.push(_e(s)),n.push(l),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Cd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Ie(e[o])||!Ie(e[o+1]))continue;let s=sd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Gs(t,e,n){let i=Kc(),r=0,o=[],s=[],l=[],a=[],c=[],u=[],m=[],f=[],x=[],E=[],g=[],b=[];for(let N of i.segment(t))for(let y of md(N.segment,N.isWordLike??!1,N.index,n)){let ie=function(){u[v]!==null&&(s[v]=[Os(o,u,m,v)],u[v]=null),s[v].push(y.text),l[v]=l[v]||y.isWordLike,f[v]=f[v]||M,x[v]=x[v]||k,E[v]=G,g[v]=J,b[v]=Bs(x[v],W)},A=y.kind==="text",C=ad(y.text,y.isWordLike,y.kind),M=Ie(y.text),k=Is(y.text),W=Nn(y.text),G=Tn(y.text),J=ld(y.text),v=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[v]==="text"&&M&&f[v]&&E[v]||A&&r>0&&a[v]==="text"&&rd(y.text)&&f[v]||A&&r>0&&a[v]==="text"&&g[v]?ie():A&&r>0&&a[v]==="text"&&y.isWordLike&&k&&b[v]?(ie(),l[v]=!0):C!==null&&r>0&&a[v]==="text"&&u[v]===C?m[v]=(m[v]??1)+1:A&&!y.isWordLike&&r>0&&a[v]==="text"&&(id(y.text)||y.text==="-"&&l[v])?ie():(o[r]=y.text,s[r]=[y.text],l[r]=y.isWordLike,a[r]=y.kind,c[r]=y.start,u[r]=C,m[r]=C===null?0:1,f[r]=M,x[r]=k,E[r]=G,g[r]=J,b[r]=Bs(k,W),r++)}for(let N=0;N<r;N++){if(u[N]!==null){o[N]=Os(o,u,m,N);continue}o[N]=_e(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!l[N]&&Gi(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],l[N-1]=l[N-1]||l[N],o[N]="");let F=Array.from({length:r},()=>null),_=-1;for(let N=r-1;N>=0;N--){let y=o[N];if(y.length!==0){if(a[N]==="text"&&!l[N]&&od(y)&&_>=0&&a[_]==="text"){let A=F[_]??[];A.push(y),F[_]=A,c[_]=c[N],o[N]="";continue}_=N}}for(let N=0;N<r;N++){let y=F[N];y!=null&&(o[N]=fd(y,o[N]))}let L=0;for(let N=0;N<r;N++){let y=o[N];y.length!==0&&(L!==N&&(o[L]=y,l[L]=l[N],a[L]=a[N],c[L]=c[N]),L++)}o.length=L,l.length=L,a.length=L,c.length=L;let ee=wd({len:L,texts:o,isWordLike:l,kinds:a,starts:c}),H=Cd(Ad(Ed(Sd(yd(gd(ee))))));for(let N=0;N<H.len-1;N++){let y=ud(H.texts[N]);y!==null&&(H.kinds[N]!=="space"&&H.kinds[N]!=="preserved-space"||H.kinds[N+1]!=="text"||!Is(H.texts[N+1])||(H.texts[N]=y.space,H.isWordLike[N]=!1,H.kinds[N]=H.kinds[N]==="preserved-space"?"preserved-space":"space",H.texts[N+1]=y.marks+H.texts[N+1],H.starts[N+1]=H.starts[N]+y.space.length))}return H}function Fd(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function Md(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,c=!1;function u(){o!==null&&(e.push(_e(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],E=t.isWordLike[m],g=t.starts[m];if(x==="text"){let b=Qc(f),F=Fn(f);if(o!==null&&a&&c){o.push(f),s=s||E,a=a||b,c=F;continue}u(),o=[f],s=E,l=g,a=b,c=F;continue}u(),e.push(f),n.push(E),i.push(x),r.push(g)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function js(t,e,n="normal",i="normal"){let r=zc(n),o=r.mode==="pre-wrap"?qc(t):jc(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Md(Gs(o,e,r)):Gs(o,e,r);return{normalized:o,chunks:Fd(s,r),...s}}var ht=null,qs=new Map,xt=null,Nd=96,Td=/\\p{Emoji_Presentation}/u,_d=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Ui=null,$s=new Map;function Vi(){if(ht!==null)return ht;if(typeof OffscreenCanvas<"u")return ht=new OffscreenCanvas(1,1).getContext("2d"),ht;if(typeof document<"u")return ht=document.createElement("canvas").getContext("2d"),ht;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Ld(t){let e=qs.get(t);return e||(e=new Map,qs.set(t,e)),e}function Ue(t,e){let n=e.get(t);return n===void 0&&(n={width:Vi().measureText(t).width,containsCJK:Ie(t)},e.set(t,n)),n}function gt(){if(xt!==null)return xt;if(typeof navigator>"u")return xt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},xt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return xt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},xt}function vd(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Ks(){return Ui===null&&(Ui=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ui}function kd(t){return Td.test(t)||t.includes("\\uFE0F")}function Js(t){return _d.test(t)}function Rd(t,e){let n=$s.get(t);if(n!==void 0)return n;let i=Vi();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return $s.set(t,n),n}function Dd(t){let e=0,n=Ks();for(let i of n.segment(t))kd(i.segment)&&e++;return e}function Id(t,e){return e.emojiCount===void 0&&(e.emojiCount=Dd(t)),e.emojiCount}function Ze(t,e,n){return n===0?e.width:e.width-Id(t,e)*n}function Ys(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Ks(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ue(m,n);u.push(Ze(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>Nd){let u=[],m=null,f=0;for(let x of s){let E=Ue(x,n),g=Ze(x,E,i);if(m===null)u.push(g);else{let b=m+x,F=Ue(b,n);u.push(Ze(b,F,i)-f)}m=x,f=g}return e.breakableFitAdvances=u,e.breakableFitAdvances}let l=[],a="",c=0;for(let u of s){a+=u;let m=Ue(a,n),f=Ze(a,m,i);l.push(f-c),c=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function Xs(t,e){let n=Vi();n.font=t;let i=Ld(t),r=vd(t),o=e?Rd(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function Pd(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function Od(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function Bd(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let l=s+t[o];if((o+1<t.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function Qs(t,e){return t.simpleLineWalkFastPath?Zs(t,e):ea(t,e)}function Zs(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=gt().lineFitEpsilon,a=e+l,c=0,u=0,m=!1,f=0,x=0,E=0,g=0,b=-1,F=0;function _(){b=-1,F=0}function L(C=E,M=g,k=u){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:C,endGraphemeIndex:M,width:k}),u=0,m=!1,_()}function ee(C,M){m=!0,f=C,x=0,E=C+1,g=0,u=M}function H(C,M,k){m=!0,f=C,x=M,E=C,g=M+1,u=k}function N(C,M){if(!m){ee(C,M);return}u+=M,E=C+1,g=0}function y(C,M){let k=o[C];for(let W=M;W<k.length;W++){let G=k[W];m?u+G>a?(L(),H(C,W,G)):(u+=G,E=C,g=W+1):H(C,W,G)}m&&E===C&&g===k.length&&(E=C+1,g=0)}let A=0;for(;A<i.length&&!(!m&&(A=Pd(t,A),A>=i.length));){let C=i[A],M=r[A],k=M==="space"||M==="preserved-space"||M==="tab"||M==="zero-width-break"||M==="soft-hyphen";if(!m){C>e&&o[A]!==null?y(A,0):ee(A,C),k&&(b=A+1,F=u-C),A++;continue}if(u+C>a){if(k){N(A,C),L(A+1,0,u-C),A++;continue}if(b>=0){if(E>b||E===b&&g>0){L();continue}L(b,0,F);continue}if(C>e&&o[A]!==null){L(),y(A,0),A++;continue}L();continue}N(A,C),k&&(b=A+1,F=u-C),A++}return m&&L(),c}function ea(t,e,n){if(t.simpleLineWalkFastPath)return Zs(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=gt(),f=m.lineFitEpsilon,x=e+f,E=0,g=0,b=!1,F=0,_=0,L=0,ee=0,H=-1,N=0,y=0,A=null;function C(){H=-1,N=0,y=0,A=null}function M(V=L,te=ee,U=g){E++,n?.({startSegmentIndex:F,startGraphemeIndex:_,endSegmentIndex:V,endGraphemeIndex:te,width:U}),g=0,b=!1,C()}function k(V,te){b=!0,F=V,_=0,L=V+1,ee=0,g=te}function W(V,te,U){b=!0,F=V,_=te,L=V,ee=te+1,g=U}function G(V,te){if(!b){k(V,te);return}g+=te,L=V+1,ee=0}function J(V,te,U,X){if(!te)return;let Ce=V==="tab"?0:r[U],O=V==="tab"?X:o[U];H=U+1,N=g-X+Ce,y=g-X+O,A=V}function v(V,te){let U=l[V];for(let X=te;X<U.length;X++){let Ce=U[X];b?g+Ce>x?(M(),W(V,X,Ce)):(g+=Ce,L=V,ee=X+1):W(V,X,Ce)}b&&L===V&&ee===U.length&&(L=V+1,ee=0)}function ie(V){if(A!=="soft-hyphen")return!1;let te=l[V];if(te==null)return!1;let{fitCount:U,fittedWidth:X}=Bd(te,g,e,f,a);return U===0?!1:(g=X,L=V,ee=U,C(),U===te.length?(L=V+1,ee=0,!0):(M(V,U,X+a),v(V,U),!0))}function Me(V){E++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),C()}for(let V=0;V<u.length;V++){let te=u[V];if(te.startSegmentIndex===te.endSegmentIndex){Me(te);continue}b=!1,g=0,F=te.startSegmentIndex,_=0,L=te.startSegmentIndex,ee=0,C();let U=te.startSegmentIndex;for(;U<te.endSegmentIndex;){let X=s[U],Ce=X==="space"||X==="preserved-space"||X==="tab"||X==="zero-width-break"||X==="soft-hyphen",O=X==="tab"?Od(g,c):i[U];if(X==="soft-hyphen"){b&&(L=U+1,ee=0,H=U+1,N=g+a,y=g+a,A=X),U++;continue}if(!b){O>e&&l[U]!==null?v(U,0):k(U,O),J(X,Ce,U,O),U++;continue}if(g+O>x){let B=g+(X==="tab"?0:r[U]),ae=g+(X==="tab"?O:o[U]);if(A==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&N<=x){M(H,0,y);continue}if(A==="soft-hyphen"&&ie(U)){U++;continue}if(Ce&&B<=x){G(U,O),M(U+1,0,ae),U++;continue}if(H>=0&&N<=x){if(L>H||L===H&&ee>0){M();continue}let re=H;M(re,0,y),U=re;continue}if(O>e&&l[U]!==null){M(),v(U,0),U++;continue}M();continue}G(U,O),J(X,Ce,U,O),U++}if(b){let X=H===te.consumedEndSegmentIndex?y:g;M(te.consumedEndSegmentIndex,0,X)}}return E}var zi=null;function Hd(){return zi===null&&(zi=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zi}function Wd(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Gd(t,e){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function c(m,f,x){i=[m],r=f,o=x,s=Tn(m),l=Zt.has(m)}function u(m,f){i.push(m),o=o||f;let x=Tn(m);m.length===1&&Qe.has(m)?s=s||x:s=x,l=!1}for(let m of Hd().segment(t)){let f=m.segment,x=Ie(f);if(i.length===0){c(f,m.index,x);continue}if(l||Mn.has(f)||Qe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),c(f,m.index,x)}return a(),n}function Ud(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Ie(t[0].text),o=Fn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<t.length;l++){let a=t[l],c=Ie(a.text),u=Fn(a.text);if(r&&o){n.push(a.text),r=r||c,o=u;continue}s(),n=[a.text],i=a.start,r=c,o=u}return s(),e}function Vd(t,e,n,i){let r=gt(),{cache:o,emojiCorrection:s}=Xs(e,Js(t.normalized)),l=Ze("-",Ue("-",o),s),c=Ze(" ",Ue(" ",o),s)*8;if(t.len===0)return Wd(n);let u=[],m=[],f=[],x=[],E=t.chunks.length<=1,g=n?[]:null,b=[],F=n?[]:null,_=Array.from({length:t.len});function L(y,A,C,M,k,W,G){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(E=!1),u.push(A),m.push(C),f.push(M),x.push(k),g?.push(W),b.push(G),F!==null&&F.push(y)}function ee(y,A,C,M,k){let W=Ue(y,o),G=Ze(y,W,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:G,v=A==="space"||A==="zero-width-break"?0:G;if(k&&M&&y.length>1){let ie="sum-graphemes";Qt(y)?ie="pair-context":r.preferPrefixWidthsForBreakableRuns&&(ie="segment-prefixes");let Me=Ys(y,W,o,s,ie);L(y,G,J,v,A,C,Me);return}L(y,G,J,v,A,C,null)}for(let y=0;y<t.len;y++){_[y]=u.length;let A=t.texts[y],C=t.isWordLike[y],M=t.kinds[y],k=t.starts[y];if(M==="soft-hyphen"){L(A,0,l,l,M,k,null);continue}if(M==="hard-break"){L(A,0,0,0,M,k,null);continue}if(M==="tab"){L(A,0,0,0,M,k,null);continue}let W=Ue(A,o);if(M==="text"&&W.containsCJK){let G=Gd(A,r),J=i==="keep-all"?Ud(G):G;for(let v=0;v<J.length;v++){let ie=J[v];ee(ie.text,"text",k+ie.start,C,i==="keep-all"||!Ie(ie.text))}continue}ee(A,M,k,C,!0)}let H=zd(t.chunks,_,u.length),N=g===null?null:Ds(t.normalized,g);return F!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:H,segments:F}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:H}}function zd(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,l=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function jd(t,e,n,i){let r=i?.wordBreak??"normal",o=js(t,gt(),i?.whiteSpace,r);return Vd(o,e,n,r)}function ta(t,e,n){return jd(t,e,!1,n)}function na(t,e,n){let i=Qs(t,e);return{lineCount:i,height:i*n}}var qd={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function ia(t,e){let n={...qd,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=ta(t,o),{lineCount:l}=na(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:ia,getVariables:ls};function ra(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,ks())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ra,{once:!0}):ra();})();\n';
|
|
28948
|
+
RUNTIME_IIFE = '"use strict";(()=>{var Ea=Object.create;var Gn=Object.defineProperty;var wa=Object.getOwnPropertyDescriptor;var Ca=Object.getOwnPropertyNames;var Fa=Object.getPrototypeOf,Ma=Object.prototype.hasOwnProperty;var Na=(t,e,n)=>e in t?Gn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ee=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ta=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ca(e))!Ma.call(t,r)&&r!==n&&Gn(t,r,{get:()=>e[r],enumerable:!(i=wa(e,r))||i.enumerable});return t};var _a=(t,e,n)=>(n=t!=null?Ea(Fa(t)):{},Ta(e||!t||!t.__esModule?Gn(n,"default",{value:t,enumerable:!0}):n,t));var ye=(t,e,n)=>Na(t,typeof e!="symbol"?e+"":e,n);var Pr=ee((lm,Xn)=>{var J=String,Ir=function(){return{isColorSupported:!1,reset:J,bold:J,dim:J,italic:J,underline:J,inverse:J,hidden:J,strikethrough:J,black:J,red:J,green:J,yellow:J,blue:J,magenta:J,cyan:J,white:J,gray:J,bgBlack:J,bgRed:J,bgGreen:J,bgYellow:J,bgBlue:J,bgMagenta:J,bgCyan:J,bgWhite:J,blackBright:J,redBright:J,greenBright:J,yellowBright:J,blueBright:J,magentaBright:J,cyanBright:J,whiteBright:J,bgBlackBright:J,bgRedBright:J,bgGreenBright:J,bgYellowBright:J,bgBlueBright:J,bgMagentaBright:J,bgCyanBright:J,bgWhiteBright:J}};Xn.exports=Ir();Xn.exports.createColors=Ir});var Qn=ee(()=>{});var an=ee((dm,Hr)=>{"use strict";var Or=Pr(),Br=Qn(),_t=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=Or.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=Or.createColors(!0);r=x=>u(f(x)),i=x=>m(x),Br&&(o=x=>Br(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(l,a).map((u,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(u.length>160){let g=20,b=Math.max(0,this.column-g),F=Math.max(this.column+g,this.endColumn+g),L=u.slice(b,F),k=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,g-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(L)+`\n `+k+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Hr.exports=_t;_t.default=_t});var Zn=ee((fm,Gr)=>{"use strict";var ll=/(<)(\\/?style\\b)/gi,ul=/(<)(!--)/g;function qe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(ll,"\\\\3c $2").replace(ul,"\\\\3c $2")}var Wr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function cl(t){return t[0].toUpperCase()+t.slice(1)}var Lt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(qe(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(qe(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(qe(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:qe(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(qe("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(qe(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Wr[i];let s=e.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+cl(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Wr[i]),l[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:qe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(qe(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Gr.exports=Lt;Lt.default=Lt});var vt=ee((mm,Ur)=>{"use strict";var dl=Zn();function ei(t,e){new dl(e).stringify(t)}Ur.exports=ei;ei.default=ei});var ln=ee((pm,ti)=>{"use strict";ti.exports.isClean=Symbol("isClean");ti.exports.my=Symbol("my")});var Dt=ee((hm,Vr)=>{"use strict";var fl=an(),ml=Zn(),pl=vt(),{isClean:kt,my:hl}=ln();function ni(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ni(s,n)):(o==="object"&&r!==null&&(r=ni(r)),n[i]=r)}return n}function We(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Rt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[kt]=!1,this[hl]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ni(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new fl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[kt]=!0}markDirty(){if(this[kt]){this[kt]=!1;let e=this;for(;e=e.parent;)e[kt]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(We(i,this.source.start),We(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=We(r,this.source.start),s=o+e;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:We(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:We(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(We(n,this.source.start),We(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:We(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:We(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new ml().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=pl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Vr.exports=Rt;Rt.default=Rt});var Pt=ee((xm,zr)=>{"use strict";var xl=Dt(),It=class extends xl{constructor(e){super(e),this.type="comment"}};zr.exports=It;It.default=It});var Bt=ee((gm,qr)=>{"use strict";var gl=Dt(),Ot=class extends gl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};qr.exports=Ot;Ot.default=Ot});var je=ee((ym,eo)=>{"use strict";var jr=Pt(),$r=Bt(),yl=Dt(),{isClean:Kr,my:Jr}=ln(),ii,Yr,Xr,ri;function Qr(t){return t.map(e=>(e.nodes&&(e.nodes=Qr(e.nodes)),delete e.source,e))}function Zr(t){if(t[Kr]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Zr(e)}var Re=class t extends yl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=Qr(Yr(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new $r(e)]}else if(e.selector||e.selectors)e=[new ri(e)];else if(e.name)e=[new ii(e)];else if(e.text)e=[new jr(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[Jr]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Kr]&&Zr(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};Re.registerParse=t=>{Yr=t};Re.registerRule=t=>{ri=t};Re.registerAtRule=t=>{ii=t};Re.registerRoot=t=>{Xr=t};eo.exports=Re;Re.default=Re;Re.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ii.prototype):t.type==="rule"?Object.setPrototypeOf(t,ri.prototype):t.type==="decl"?Object.setPrototypeOf(t,$r.prototype):t.type==="comment"?Object.setPrototypeOf(t,jr.prototype):t.type==="root"&&Object.setPrototypeOf(t,Xr.prototype),t[Jr]=!0,t.nodes&&t.nodes.forEach(e=>{Re.rebuild(e)})}});var un=ee((bm,no)=>{"use strict";var to=je(),ut=class extends to{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};no.exports=ut;ut.default=ut;to.registerAtRule(ut)});var cn=ee((Sm,oo)=>{"use strict";var bl=je(),io,ro,nt=class extends bl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new io(new ro,this,e).stringify()}};nt.registerLazyResult=t=>{io=t};nt.registerProcessor=t=>{ro=t};oo.exports=nt;nt.default=nt});var ao=ee((Am,so)=>{var Sl="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Al=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},El=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Sl[Math.random()*64|0];return e};so.exports={nanoid:El,customAlphabet:Al}});var dn=ee(()=>{});var fn=ee(()=>{});var oi=ee(()=>{});var lo=ee(()=>{});var ai=ee((Lm,fo)=>{"use strict";var{existsSync:wl,readFileSync:Cl}=lo(),{dirname:si,join:Fl}=dn(),{SourceMapConsumer:uo,SourceMapGenerator:co}=fn();function Ml(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ht=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=si(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new uo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let l=e.match(n)||e.match(i);if(l)return Ml(e.substr(l[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=si(e),wl(e)))return this.mapFile=e,Cl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof uo)return co.fromSourceMap(n).toString();if(n instanceof co)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Fl(si(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};fo.exports=Ht;Ht.default=Ht});var Wt=ee((vm,go)=>{"use strict";var{nanoid:Nl}=ao(),{isAbsolute:ci,resolve:di}=dn(),{SourceMapConsumer:Tl,SourceMapGenerator:_l}=fn(),{fileURLToPath:mo,pathToFileURL:mn}=oi(),po=an(),Ll=ai(),li=Qn(),ui=Symbol("lineToIndexCache"),vl=!!(Tl&&_l),ho=!!(di&&ci);function xo(t){if(t[ui])return t[ui];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[ui]=n,n}var ct=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!ho||/^\\w+:\\/\\//.test(n.from)||ci(n.from)?this.file=n.from:this.file=di(n.from)),ho&&vl){let i=new Ll(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Nl(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,l,a,c;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?c=new po(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):c=new po(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(mn&&(c.input.url=mn(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return xo(this)[e-1]+n-1}fromOffset(e){let n=xo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:di(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;ci(s.source)?a=mn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||mn(this.map.mapFile));let c={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(mo)c.file=mo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),c}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};go.exports=ct;ct.default=ct;li&&li.registerInput&&li.registerInput(ct)});var dt=ee((km,Ao)=>{"use strict";var yo=je(),bo,So,$e=class extends yo{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new bo(new So,this,e).stringify()}};$e.registerLazyResult=t=>{bo=t};$e.registerProcessor=t=>{So=t};Ao.exports=$e;$e.default=$e;yo.registerRoot($e)});var fi=ee((Rm,Eo)=>{"use strict";var Gt={comma(t){return Gt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Gt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,l=!1,a="",c=!1;for(let u of t)c?c=!1:u==="\\\\"?c=!0:l?u===a&&(l=!1):u===\'"\'||u==="\'"?(l=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};Eo.exports=Gt;Gt.default=Gt});var pn=ee((Dm,Co)=>{"use strict";var wo=je(),kl=fi(),ft=class extends wo{get selectors(){return kl.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};Co.exports=ft;ft.default=ft;wo.registerRule(ft)});var Mo=ee((Im,Fo)=>{"use strict";var Rl=un(),Dl=Pt(),Il=Bt(),Pl=Wt(),Ol=ai(),Bl=dt(),Hl=pn();function Ut(t,e){if(Array.isArray(t))return t.map(r=>Ut(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Pl.prototype};o.map&&(o.map={...o.map,__proto__:Ol.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ut(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Bl(i);if(i.type==="decl")return new Il(i);if(i.type==="rule")return new Hl(i);if(i.type==="comment")return new Dl(i);if(i.type==="atrule")return new Rl(i);throw new Error("Unknown node type: "+t.type)}Fo.exports=Ut;Ut.default=Ut});var pi=ee((Pm,ko)=>{"use strict";var{dirname:hn,relative:To,resolve:_o,sep:Lo}=dn(),{SourceMapConsumer:vo,SourceMapGenerator:xn}=fn(),{pathToFileURL:No}=oi(),Wl=Wt(),Gl=!!(vo&&xn),Ul=!!(hn&&_o&&To&&Lo),mi=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||hn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new vo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Ul&&Gl&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=xn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new xn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new xn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,c)=>{if(this.css+=l,a&&c!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(e+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&c!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?hn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=hn(_o(i,this.mapOpts.annotation)));let r=To(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new Wl(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(No){let i=No(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Lo==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};ko.exports=mi});var Io=ee((Om,Do)=>{"use strict";var gn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,yn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Vl=/.[\\r\\n"\'(/\\\\]/,Ro=/[\\da-f]/i;Do.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,c,u,m,f,x,A,g=i.length,b=0,F=[],L=[],k=-1;function V(){return b}function O(C){throw e.error("Unclosed "+C,b)}function T(){return L.length===0&&b>=g}function y(C){if(L.length)return L.pop();if(b>=g)return;let M=C?C.ignoreUnclosed:!1;switch(o=i.charCodeAt(b),o){case 10:case 32:case 9:case 13:case 12:{a=b;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let _=String.fromCharCode(o);u=[_,_,b];break}case 40:{if(A=F.length?F.pop()[1]:"",x=i.charCodeAt(b+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=b;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||M){a=b;break}else O("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(b,a+1),b,a],b=a}else b<=k?u=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||Vl.test(s)?(k=a===-1?g:a,u=["(","(",b]):(u=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(m=!1,a=i.indexOf(c,a+1),a===-1)if(r||M){a=b+1;break}else O("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{gn.lastIndex=b+1,gn.test(i),gn.lastIndex===0?a=i.length-1:a=gn.lastIndex-2,u=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Ro.test(i.charAt(a)))){for(;Ro.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(b,a+1),b,a],b=a;break}default:{o===47&&i.charCodeAt(b+1)===42?(a=i.indexOf("*/",b+2)+1,a===0&&(r||M?a=i.length:O("comment")),u=["comment",i.slice(b,a+1),b,a],b=a):(yn.lastIndex=b+1,yn.test(i),yn.lastIndex===0?a=i.length-1:a=yn.lastIndex-2,u=["word",i.slice(b,a+1),b,a],F.push(u),b=a);break}}return b++,u}function E(C){L.push(C)}return{back:E,endOfFile:T,nextToken:y,position:V}}});var Ho=ee((Bm,Bo)=>{"use strict";var zl=un(),ql=Pt(),jl=Bt(),$l=dt(),Po=pn(),Kl=Io(),Oo={empty:!0,space:!0};function Jl(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var hi=class{constructor(e){this.input=e,this.root=new $l,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new zl;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,l=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,l]of e.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new ql;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Kl(this.input)}decl(e,n){let i=new jl;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||Jl(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;e.length&&(l=e[0][0],!(l!=="space"&&l!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,c);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=c;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new Po;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],l=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,l=i.length,a="",c=!0,u,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?c=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!Oo[m]&&!Oo[u]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new Po;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Bo.exports=hi});var Sn=ee((Hm,Wo)=>{"use strict";var Yl=je(),Xl=Wt(),Ql=Ho();function bn(t,e){let n=new Xl(t,e),i=new Ql(n);try{i.parse()}catch(r){throw r}return i.root}Wo.exports=bn;bn.default=bn;Yl.registerParse(bn)});var xi=ee((Wm,Go)=>{"use strict";var Vt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Go.exports=Vt;Vt.default=Vt});var An=ee((Gm,Uo)=>{"use strict";var Zl=xi(),zt=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Zl(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Uo.exports=zt;zt.default=zt});var gi=ee((Um,zo)=>{"use strict";var Vo={};zo.exports=function(e){Vo[e]||(Vo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Si=ee((zm,Ko)=>{"use strict";var eu=je(),tu=cn(),nu=pi(),iu=Sn(),qo=An(),ru=dt(),ou=vt(),{isClean:Be,my:su}=ln(),Vm=gi(),au={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},lu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},uu={Once:!0,postcssPlugin:!0,prepare:!0},mt=0;function qt(t){return typeof t=="object"&&typeof t.then=="function"}function $o(t){let e=!1,n=au[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,mt,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,mt,n+"Exit"]:[n,n+"Exit"]}function jo(t){let e;return t.type==="document"?e=["Document",mt,"DocumentExit"]:t.type==="root"?e=["Root",mt,"RootExit"]:e=$o(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function yi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>yi(e)),t}var bi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=yi(n);else if(n instanceof t||n instanceof qo)r=yi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=iu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[su]&&eu.rebuild(r)}this.result=new qo(e,r,i),this.helpers={...bi,postcss:bi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!lu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!uu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(qt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[jo(e)];for(;n.length>0;){let i=this.visitTick(n);if(qt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return qt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=ou;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new nu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(qt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(qt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Be]){l[Be]=!0,e.push(jo(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===mt){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=$o(e);for(let i of n)if(i===mt)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{bi=t};Ko.exports=Ke;Ke.default=Ke;ru.registerLazyResult(Ke);tu.registerLazyResult(Ke)});var Yo=ee((jm,Jo)=>{"use strict";var cu=pi(),du=Sn(),fu=An(),mu=vt(),qm=gi(),jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=du;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=mu;this.result=new fu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new cu(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};Jo.exports=jt;jt.default=jt});var Qo=ee(($m,Xo)=>{"use strict";var pu=cn(),hu=Si(),xu=Yo(),gu=dt(),it=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new xu(this,e,n):new hu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Xo.exports=it;it.default=it;gu.registerProcessor(it);pu.registerProcessor(it)});var ss=ee((Km,os)=>{"use strict";var Zo=un(),es=Pt(),yu=je(),bu=an(),ts=Bt(),ns=cn(),Su=Mo(),Au=Wt(),Eu=Si(),wu=fi(),Cu=Dt(),Fu=Sn(),Ai=Qo(),Mu=An(),is=dt(),rs=pn(),Nu=vt(),Tu=xi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new Ai(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=e,l.postcssVersion=new Ai().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Nu;le.parse=Fu;le.fromJSON=Su;le.list=wu;le.comment=t=>new es(t);le.atRule=t=>new Zo(t);le.decl=t=>new ts(t);le.rule=t=>new rs(t);le.root=t=>new is(t);le.document=t=>new ns(t);le.CssSyntaxError=bu;le.Declaration=ts;le.Container=yu;le.Processor=Ai;le.Document=ns;le.Comment=es;le.Warning=Tu;le.AtRule=Zo;le.Result=Mu;le.Input=Au;le.Rule=rs;le.Root=is;le.Node=Cu;Eu.registerPostcss(le);os.exports=le;le.default=le});function on(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=on(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var La={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>va(t)};function va(t){let e=t.selectors,n=t.duration||800;e&&ka(e,n)}function er(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=La[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function ka(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var Un=null;function tr(t){Un=t}function At(t,e){if(Un)try{Un({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function nr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=(l,a)=>{for(let c of l){try{c.currentTime=a}catch(u){v("runtime.adapters.css.site1",u)}try{c.pause()}catch(u){v("runtime.adapters.css.site2",u)}}},r=l=>{for(let a of l)try{a.play()}catch(c){v("runtime.adapters.css.site3",c)}},o=l=>{for(let a of l)try{a.pause()}catch(c){v("runtime.adapters.css.site4",c)}},s=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let a of l){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:l=>{let a=Number(l.time)||0;for(let c of e){if(!c.el.isConnected)continue;let u=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,m=Math.max(0,a-u)*1e3,f=n(c.el);if(f.length>0){i(f,m);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(m/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let a=n(l.el);a.length>0&&o(a),s(l)}},play:()=>{for(let l of e)l.el.isConnected&&(s(l),r(n(l.el)))},revert:()=>{e=[]}}}function ir(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function rr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function ar(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(or(i))i.goToAndStop(e*1e3,!1);else if(sr(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(or(e)||sr(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function or(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function sr(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Vn=-1;function sn(t){if(t!==Vn){Vn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function lr(t){Vn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function ur(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},l=c=>{o||c.itemsTotal<=c.itemsLoaded||(o=new Promise(u=>{c.onLoad=function(){try{r?.call(this)}finally{o=null,c.onLoad=r??null,u()}}}))},a=c=>{n!==c&&(n=c,i=c.onStart??null,r=c.onLoad??null,c.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{l(c)}})};return{name:"three",discover:()=>{let c=s();c&&(a(c),l(c))},seek:c=>{t=Math.max(0,Number(c.time)||0),e=t,window.__hfThreeTime=t,sn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let c=s();return!c||c.itemsTotal<=c.itemsLoaded?null:(o||l(c),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function cr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function dr(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function fr(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function mr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function pr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function hr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,sn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function xr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function gr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=xr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function yr(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,c=l[a];if(c instanceof HTMLVideoElement){let u=xr(c);u&&(l[a]=u)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function br(){let t=!1,e=0,n=new WeakMap,i=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},r=l=>{let a=Number(l.currentTime);return Number.isFinite(a)&&a>0?a:0},o=(l,a)=>a<=0?l:l>=a?Math.max(0,l-a):l,s=(l,a)=>{let c=n.get(l);if(c)return c;let u={compositionTimeMs:a,animationTimeMs:t?o(r(l),a):r(l)};return n.set(l,u),u};return{name:"waapi",discover:()=>{t=!0;for(let l of i())s(l,e)},seek:l=>{let a=Math.max(0,(Number(l.time)||0)*1e3);e=a;for(let c of i()){let u=t?s(c,a):s(c,0),m=u.animationTimeMs+Math.max(0,a-u.compositionTimeMs);try{c.currentTime=m}catch(f){v("runtime.adapters.waapi.site1",f)}try{c.pause()}catch(f){v("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){v("runtime.adapters.waapi.site3",a)}}}}function Sr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ra(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),c=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=c;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let g=m;g<=f+1e-6;g+=u){let b=Math.min(f,g);e(b);let F=Number(t.volume);if(!Number.isFinite(F))continue;let L=Math.max(0,Math.min(1,F)),k=x.at(-1);if((!k||Math.abs(k.volume-L)>1e-4||b===f)&&x.push({time:Number(b.toFixed(6)),volume:Number(L.toFixed(6))}),b===f)break}return x.some(g=>Math.abs(g.volume-c)>1e-4)?x:null}function Ar(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ra(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Ct(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Er(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=Ct(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/c));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),g={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:c,loop:u,sourceDuration:m};i.push(g),s.tagName==="VIDEO"&&r.push(g),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var zn=new WeakMap,Et=new WeakMap,qn=new WeakSet,at=new WeakSet;function Da(t){if(at.has(t))return;at.add(t);let e=()=>at.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ia=3;function Pa(t){return t.error!=null||t.networkState===Ia}var jn=new WeakMap;function wt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function wr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let M=n.sourceDuration-n.mediaStart;M>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%M)}let s=wt(t.userVolume??1),l=wt(n.volume??1),a=jn.get(i),c=wt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=wt(Sr(n.volumeKeyframes,r)):a===void 0||Math.abs(c-a)>1e-4?u=c:u=l;let m=wt(u*s);i.volume=m,jn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(M){v("runtime.media.site1",M)}let f=.04,x=2,A=i.currentTime||0,g=Math.abs(A-r),b=r-A,F=zn.get(i);zn.set(i,b);let L=F===void 0,k=!L&&Math.abs(b-F)>.5,V=g>3,O=g>.5&&(L||k||V),T=i.tagName==="VIDEO"&&!i.paused,y=F!==void 0&&Math.abs(b-F)<.004,E=!1;if(!T&&!O&&!L&&y&&g>f){let M=(Et.get(i)??0)+1;Et.set(i,M),M>=x&&(E=!0,Et.set(i,0))}else g<=f&&Et.set(i,0);let C=!T&&t.forceSync&&g>.02;if(O||E||C){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(_){v("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!qn.has(i)){qn.add(i),i.load();try{i.currentTime=r}catch(_){v("runtime.media.site3",_)}}}at.delete(i)}t.playing&&i.paused&&!at.has(i)&&!Pa(i)?(Da(i),i.play().catch(M=>{at.delete(i),(M&&typeof M=="object"&&"name"in M?String(M.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}zn.delete(i),Et.delete(i),qn.delete(i),jn.delete(i),i.paused||i.pause()}}var Oa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Ba=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Ha="data-hf-color-grading-source-hidden";function Cr(t){let e=!1,n=null,i=null,r=null,o=null;function s(y,E){try{window.dispatchEvent(new CustomEvent(y,{detail:E}))}catch(C){v("runtime.picker.site1",C)}}function l(y){r=y,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(y){o=y,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(y){let E=y.ownerDocument.defaultView;if(!E)return!1;let C=y;for(;C&&C!==document.body&&C!==document.documentElement;){let M=E.getComputedStyle(C);if(M.display==="none"||M.visibility==="hidden"||M.pointerEvents==="none")return!0;let _=Number.parseFloat(M.opacity);if(Number.isFinite(_)&&_<=.01&&!C.hasAttribute(Ha))return!0;C=C.parentElement}return!1}function u(y){if(!y||y===document.body||y===document.documentElement)return!1;let E=y.tagName.toLowerCase();return!(E==="script"||E==="style"||E==="link"||E==="meta"||y.classList.contains("__hf-pick-highlight")||y.closest(Oa)||c(y))}function m(y){return!!y?.closest(Ba)}function f(y){let E=y;if(E.id)return`#${E.id}`;let C=y.getAttribute("data-composition-id");if(C)return`[data-composition-id="${CSS.escape(C)}"]`;let M=y.getAttribute("data-composition-src");if(M)return`[data-composition-src="${CSS.escape(M)}"]`;let _=y.getAttribute("data-track-index");if(_)return`[data-track-index="${CSS.escape(_)}"]`;let W=y.tagName.toLowerCase(),z=y.parentElement;if(!z)return W;let re=z.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let D=0;D<re.length;D+=1)if(re[D]===y)return`${W}:nth-of-type(${D+1})`;return W}function x(y){let E=y.tagName.toLowerCase(),C=(y.textContent??"").trim().replace(/\\s+/g," "),M=(_,W)=>_.length>W?`${_.slice(0,W-1)}\\u2026`:_;return E==="h1"||E==="h2"||E==="h3"?"Heading":E==="p"||E==="span"||E==="div"?C.length>0?M(C,56):"Text":E==="img"?"Image":E==="video"?"Video":E==="audio"?"Audio":E==="svg"?"Shape":y.getAttribute("data-composition-src")?"Composition":E==="section"?"Section":`${E.charAt(0).toUpperCase()}${E.slice(1)}`}function A(y,E,C){let M=typeof C=="number"&&C>0?C:8,_=[];if(document.elementsFromPoint)_=document.elementsFromPoint(y,E);else if(document.elementFromPoint){let re=document.elementFromPoint(y,E);_=re?[re]:[]}if(m(_[0]??null))return[];let W={},z=[];for(let re=0;re<_.length;re+=1){let D=_[re];if(!u(D))continue;let Y=`${D.tagName}::${D.id||""}::${re}`;if(!W[Y]&&(W[Y]=!0,z.push(D),z.length>=M))break}return z}function g(y){let E=y.getBoundingClientRect(),C={};for(let _=0;_<y.attributes.length;_+=1){let W=y.attributes[_];W.name.startsWith("data-")&&(C[W.name]=W.value)}return{id:y.id||null,tagName:y.tagName.toLowerCase(),selector:f(y),label:x(y),boundingBox:{x:E.left,y:E.top,width:E.width,height:E.height},textContent:y.textContent?y.textContent.trim().slice(0,200):null,src:y.getAttribute("src")||y.getAttribute("data-composition-src")||null,dataAttributes:C}}function b(y,E,C){return A(y,E,C).map(g)}function F(y){if(!e)return;let C=A(y.clientX,y.clientY,1)[0]??(y.target instanceof Element?y.target:null);if(!u(C)||n===C)return;n&&n.classList.remove("__hf-pick-highlight"),n=C,C.classList.add("__hf-pick-highlight");let M=g(C);l(M),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:M})}function L(y){if(!e)return;y.preventDefault(),y.stopPropagation(),y.stopImmediatePropagation();let E=b(y.clientX,y.clientY,8);E.length!==0&&(l(E[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:E,selectedIndex:0,point:{x:y.clientX,y:y.clientY}}))}function k(y){y.key==="Escape"&&(O(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function V(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",F,!0),document.addEventListener("click",L,!0),document.addEventListener("keydown",k,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function O(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",F,!0),document.removeEventListener("click",L,!0),document.removeEventListener("keydown",k,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function T(){window.__HF_PICKER_API={enable:V,disable:O,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(y,E,C)=>Number.isFinite(y)&&Number.isFinite(E)?b(y,E,C):[],pickAtPoint:(y,E,C)=>{if(!Number.isFinite(y)||!Number.isFinite(E))return null;let M=b(y,E,8);if(!M.length)return null;let _=Math.max(0,Math.min(M.length-1,Number(C??0))),W=M[_]??null;return W?(a(W),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),O(),W):null},pickManyAtPoint:(y,E,C)=>{if(!Number.isFinite(y)||!Number.isFinite(E))return[];let M=b(y,E,8);if(!M.length)return[];let _=[],W=Array.isArray(C)?C:[0];for(let z of W){let re=Math.max(0,Math.min(M.length-1,Math.floor(Number(z)))),D=M[re];if(!D)continue;_.some(se=>se.selector===D.selector&&se.tagName===D.tagName)||_.push(D)}return _.length?(a(_[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:_}),O(),_):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:V,disablePickMode:O,installPickerApi:T}}var Wa=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function lt(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Fr(t,e,n=Wa){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function Ft(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function ke(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Mt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Mr(t,e,n){let i=lt(e,n);return ke(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function Ga(t,e,n,i){let r=[];Mt(t,e,o=>{ke(o,"play"),r.push(o)});try{return Mr(e,n,i)}finally{for(let o of r)try{ke(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function Ua(t,e){Mt(t,e,n=>{ke(n,"play")})}function Nr(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??Ft(e,"duration",0))||0);n>0&&Math.max(0,Ft(e,"time",0))>=n&&(ke(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),ke(e,"play"),Mt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ke(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;ke(e,"pause"),Mt(t.getTimelineRegistry?.(),e,i=>{ke(i,"pause")});let n=Math.max(0,Ft(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=Ga(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ke(i,"play"),Mt(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),ke(l,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(Ua(t.getTimelineRegistry?.(),n),Mr(n,e,i)):lt(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Ft(t.getTimeline(),"time",0),getDuration:()=>Ft(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Tr(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Va=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Kn(t){return t.id||t.getAttribute("data-hf-id")||null}function $n(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function za(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function qa(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=$n(t.getAttribute("data-playback-start"))??$n(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function ja(t,e,n,i){let r=$n(t.getAttribute("data-duration"));return r!=null&&r>0?r:za(t,e)??qa(t)??Math.max(0,n-i)}function $a(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function _r(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Va.has(l.tagName))continue;let a=e.resolveStartForElement(l,0);if(ja(l,n,i,a)<=0)continue;let c={id:Kn(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,c)}return $a(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}var Ka="data-hf-authored-duration",Ja="data-hf-authored-end";function tt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Ya(t){return tt(t.getAttribute("data-duration"))}function Xa(t){return tt(t.getAttribute("data-end"))}function Qa(t){return tt(t.getAttribute(Ka))}function Za(t){return tt(t.getAttribute(Ja))}function el(t){let e=(t??"").trim();if(!e)return null;let n=tt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},l=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=Ya(u)??(n?Qa(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=Xa(u)??(n?Za(u):null);if(A!=null){let g=c(u,0),b=A-g;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=tt(u.getAttribute("data-playback-start"))??tt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Ct(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let g=e[A]??null;if(g&&typeof g.duration=="function")try{let b=Number(g.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){v("runtime.startResolver.site1",b)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?c(x,m):0}let f=u.closest("[data-composition-id]");return f?c(f,m):0},c=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=el(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let L=u.parentElement;if(L&&(L.hasAttribute("data-composition-src")||L.hasAttribute("data-composition-id"))){let k=c(L,m);return i.set(u,k),k}}return i.set(u,m),m}if(x.kind==="absolute"){let L=Math.max(0,x.value),k=Math.max(0,a(u,m)+L);return i.set(u,k),k}let A=s(x.refId);if(!A)return i.set(u,m),m;let g=c(A,0),b=l(A);if(b==null||b<=0){let L=Math.max(0,g+x.offset);return i.set(u,L),L}let F=Math.max(0,g+b+x.offset);return i.set(u,F),F}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>c(u,Math.max(0,m)),resolveDurationForElement:u=>l(u)}}function Lr(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var tl="data-hf-authored-duration",nl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Jn(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(tl))}function vr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(nl))}function Yn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var kr={composition:0,video:1,image:2,element:3,audio:4};function il(t){if(t.length===0)return;let e=new Map;for(let s of t){let l=e.get(s.track)??new Set;l.add(s.kind),e.set(s.track,l)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,l)=>s-l);for(let s of o){let l=e.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((c,u)=>(kr[c]??99)-(kr[u]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Tt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Rr(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return Tt(e);let n=t.getAttribute("data-composition-src");if(n)return Tt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?Tt(i.getAttribute("src")):null}function rl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function ol(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function sl(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Nt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function al(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Nt(r);let o=t.id;if(o)return Nt(o);let s=rl(t);if(s)return Nt(s);let l=ol(Rr(t));if(l)return Nt(l);let a=sl(t);return a||`${Nt(e)} ${n+1}`}function Dr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=R=>{if(!R)return null;let I=n[R]??null;if(!I||typeof I.duration!="function")return null;try{let H=Number(I.duration());return Number.isFinite(H)&&H>0?H:null}catch{return null}},o=R=>{let I=Ce(R.getAttribute("data-duration"));if(I!=null&&I>0)return I;let H=Ce(R.getAttribute("data-playback-start"))??Ce(R.getAttribute("data-media-start"))??0;return Number.isFinite(R.duration)&&R.duration>H?Math.max(0,(R.duration-H)/Ct(R)):null},s=()=>{let R=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(R.length===0)return null;let I=0;for(let H of R){let ie=H.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(H,0):Math.max(0,Number(H.getAttribute("data-start")??0)||0);if(!Number.isFinite(ie))continue;let ae=o(H);ae==null||ae<=0||(I=Math.max(I,Math.max(0,ie)+ae))}return I>0?I:null},l=(R,I)=>{let H=[],ie=null,ae=null,q=null,j=R.parentElement;for(;j;){let X=j.getAttribute("data-composition-id");X&&(H.push(X),!q&&j!==I&&(q=X),ie==null&&(ie=i.resolveStartForElement(j,0)),ae==null&&(ae=Ce(j.getAttribute("data-duration"))??r(X)??null)),j=j.parentElement}return{parentCompositionId:q,compositionAncestors:H.reverse(),inheritedStart:ie,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),c=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),g=Jn(a??document.body),b=Yn(...c.filter(R=>R!==a).map(R=>{let I=i.resolveStartForElement(R,0),H=i.resolveDurationForElement(R)??r(R.getAttribute("data-composition-id"))??null;return!Number.isFinite(I)||H==null||H<=0?null:Math.max(0,I)+H})),F=b!=null?Math.max(0,b-Math.max(0,m)):null,L=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,k=typeof g=="number"&&Number.isFinite(g)&&g>0?g:null,V=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,O=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,T=Yn(V,O),y=L!=null&&T!=null&&L>T+1,C=k??(y?T:Yn(L,V,O))??null,_=(C!=null?m+C:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(R,I)=>!Number.isFinite(I)||I<=0?0:_==null||!Number.isFinite(_)?I:!Number.isFinite(R)||R>=_?0:Math.max(0,Math.min(I,_-R)),z=[],re=[],D=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Y=0;for(let R=0;R<D.length;R+=1){let I=D[R];if(I===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(I.tagName))continue;let H=l(I,a),ie=i.resolveStartForElement(I,H.inheritedStart??0),ae=I.getAttribute("data-composition-id"),q=Jn(I);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&I instanceof HTMLMediaElement){let ge=Ce(I.getAttribute("data-playback-start"))??Ce(I.getAttribute("data-media-start"))??0;Number.isFinite(I.duration)&&I.duration>0&&(q=Math.max(0,I.duration-ge))}if(q==null||q<=0){let ge=H.inheritedDuration;if(ge!=null&&ge>0){let Ne=(H.inheritedStart??0)+ge;q=Math.max(0,Ne-ie)}}if(q==null||q<=0||(q=W(ie,q),q<=0))continue;let j=ie+q;Y=Math.max(Y,j);let X=I.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";z.push({id:Kn(I)??ae??null,label:al(I,Ie,z.length),start:ie,duration:q,track:Number.parseInt(I.getAttribute("data-track-index")??I.getAttribute("data-track")??String(R),10)||0,kind:Ie,tagName:X,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:H.compositionAncestors,parentCompositionId:H.parentCompositionId,nodePath:null,compositionSrc:Tt(I.getAttribute("data-composition-src")),assetUrl:Rr(I),timelineRole:I.getAttribute("data-timeline-role"),timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Ce(I.getAttribute("data-timeline-priority"))})}let se=new Set(z.map(R=>R.id)),U=a?.getAttribute("data-composition-id")??null,te=U?n[U]??null:null;if(te&&a){let R=te;if(typeof R.getChildren=="function")try{let I=R.getChildren(!0,!0,!1)??[],H=new Map;for(let q of a.children){let j=q;if(!j.id)continue;let X=j.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||H.set(j,{id:j.id,start:1/0,end:-1/0})}let ie=q=>{let j=q;for(;j;){if(H.has(j))return j;if(j===a)return null;j=j.parentElement}return null};for(let q of I){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let j=q.startTime(),X=q.parent;for(;X&&X!==te&&typeof X.startTime=="function";)j+=X.startTime(),X=X.parent;let Ie=j+q.duration();if(!(!Number.isFinite(j)||!Number.isFinite(Ie)))for(let ge of q.targets()){if(!(ge instanceof Element))continue;let ot=ie(ge);if(!ot)continue;let Ne=H.get(ot);Ne&&(Ne.start=Math.min(Ne.start,j),Ne.end=Math.max(Ne.end,Ie))}}let ae=z.length>0?Math.max(...z.map(q=>q.track))+1:0;for(let[q,j]of H){if(j.start===1/0||j.end===-1/0)continue;let X=q;if(se.has(X.id))continue;let Ie=Math.max(0,j.end-j.start);if(Ie<=0)continue;let ge=W(j.start,Ie);ge<=0||(Y=Math.max(Y,j.start+ge),z.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:j.start,duration:ge,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),se.add(X.id))}}catch(I){v("runtime.timeline.site1",I)}}if(a&&C!=null&&C>0){let R=z.length>0?Math.max(...z.map(I=>I.track))+1:0;for(let I of a.children){let H=I;if(!H.id||se.has(H.id))continue;let ie=H.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ae=H.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(H).display==="none")continue;let j=W(0,C);j<=0||(Y=Math.max(Y,j),z.push({id:H.id,label:H.getAttribute("data-timeline-label")??H.getAttribute("data-label")??H.getAttribute("aria-label")??H.id,start:0,duration:j,track:Number.parseInt(H.getAttribute("data-track-index")??H.getAttribute("data-track")??"",10)||R,kind:"element",tagName:ae,compositionId:H.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:H.getAttribute("data-timeline-label"),timelineGroup:H.getAttribute("data-timeline-group"),timelinePriority:Ce(H.getAttribute("data-timeline-priority"))}),se.add(H.id))}}il(z);for(let R of c){if(R===a)continue;let I=R.getAttribute("data-composition-id");if(!I||!Lr(I))continue;let H=i.resolveStartForElement(R,0),ie=Jn(R);if((ie==null||ie<=0)&&vr(R)!=null){let X=vr(R);ie=Math.max(0,X-H)}let ae=r(I),q=ie&&ie>0?ie:ae;if(q==null||q<=0)continue;let j=W(H,q);j<=0||re.push({id:I,label:R.getAttribute("data-label")??I,start:H,duration:j,thumbnailUrl:Tt(R.getAttribute("data-thumbnail-url")),avatarName:null})}let G=Math.max(1,Y||1,C??0);return{source:"hf-preview",type:"timeline",durationInFrames:y&&k==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(G*Math.max(1,t.canonicalFps))),clips:z,scenes:re,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var de=_a(ss(),1),as=de.default,Jm=de.default.stringify,Ym=de.default.fromJSON,Xm=de.default.plugin,Qm=de.default.parse,Zm=de.default.list,ep=de.default.document,tp=de.default.comment,np=de.default.atRule,ip=de.default.rule,rp=de.default.decl,op=de.default.root,sp=de.default.CssSyntaxError,ap=de.default.Declaration,lp=de.default.Container,up=de.default.Processor,cp=de.default.Document,dp=de.default.Comment,fp=de.default.Warning,mp=de.default.AtRule,pp=de.default.Result,hp=de.default.Input,xp=de.default.Rule,gp=de.default.Root,yp=de.default.Node;var Ei="data-hf-authored-id";function wi(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ci(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function _u(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ls(t){let e=t.trim();return e?Array.from(new Set([e,_u(e)])).filter(Boolean):[]}function Lu(t){return!!t&&/[\\w-]/.test(t)}function vu(t,e,n){let i=ls(e).sort((l,a)=>a.length-l.length);if(i.length===0)return t;let r="",o=0,s=null;for(let l=0;l<t.length;l+=1){let a=t[l],c=l>0?t[l-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,l+1));if(u){let m=t[l+1+u.length];if(!Lu(m)){r+=n,l+=u.length;continue}}}r+=a}return r}function ku(t,e){let n=e?.trim();return n?vu(t,n,`[${Ei}="${Ci(n)}"]`):t}function Ru(t,e,n,i,r){let o=ku(t,i),s=Du(o,e,n),l=s.trim();if(!l||/^(html|body|:root|\\*)$/i.test(l))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${wi(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(l))return s.replace(a,e);let c=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ei}="${Ci(i)}"]`:null;if(m&&l.startsWith(m)){let f=l.slice(m.length);return`${c}${e}${m}${f}${u}`}}return`${c}${e} ${l}${u}`}function Du(t,e,n){let i=wi(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Iu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Pu(t){return t?.type==="atrule"}function Ou(t){let e=t.parent;for(;e;){if(Pu(e)&&Iu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Fi(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Ci(o)}"]`,l=as.parse(t);return l.walkRules(a=>{Ou(a)||(a.selectors=a.selectors.map(c=>Ru(c,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function us(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),l=JSON.stringify(r),a=JSON.stringify(n),c=wi(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ls(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ei)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function cs(){if(typeof document>"u")return{};let t=Mi(document.documentElement),e=Bu();return{...t,...e}}function Mi(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Bu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Hu=8e3,Wu=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Gu=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Uu=["src","href"];function Vu(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function fs(t,e){if(!e)return t;let n=t.trim();if(Vu(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ms(t,e){return!e||!t?t:t.replace(Gu,(n,i,r)=>{let o=fs(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function zu(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of Uu){let r=n.getAttribute(i);if(r==null)continue;let o=fs(r,e);o!==r&&n.setAttribute(i,o)}}function qu(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ms(i,e);r!==i&&n.setAttribute("style",r)}}function ju(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ms(i,e);r!==i&&(n.textContent=r)}}function ps(t,e){if(e){zu(t,e),qu(t,e),ju(t,e);for(let n of Array.from(t.querySelectorAll("template")))ps(n.content,e)}}function $u(t,e){return`${t}__hf${e}`}var Ku=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),Hu)});function Ni(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var Ju=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function Yu(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of Ju)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function ds(t,e){let n=t.trim();if(!n)return t;try{return Wu.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function Xu(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function En(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function Qu(t){let e=new Map;for(let n of t){let i=En(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function hs(t){let e=En(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function Zu(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function ec(t){return t.hasAttribute("data-composition-src")?!0:hs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:Zu(t):!1}function _i(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:hs(e))}function xs(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(_i().map(n=>En(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function gs(t,e=Qu(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=En(r),l=ec(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(l){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),c=a?$u(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Ti(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Fi(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let l=Array.from(n.querySelectorAll("style"));for(let f of l){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Fi(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let g=ds(A,t.compositionUrl);a.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&a.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let g=ds(A,t.compositionUrl);u.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&u.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),g=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),g&&t.host instanceof HTMLElement&&(t.host.style.height=g),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(Yu(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...Xu(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=us(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await Ku(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function ys(t){let e=_i();if(xs(),e.length===0)return;let n=gs(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);Ni(r),await Ti({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function bs(t){let e=_i();if(xs(),e.length===0)return;let n=gs(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Ni(r);try{let u=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(u){await Ti({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");ps(A,c);let g=(l?A.querySelector(`template#${CSS.escape(l)}-template`):null)??A.querySelector("template"),b=g?g.content:A.body,F=g?void 0:Array.from(A.head.querySelectorAll("style")),L=g?void 0:Array.from(A.head.querySelectorAll("script")),k=g?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ti({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!g,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:F,headScripts:L,headLinks:k,declaredVariableDefaults:Mi(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Ni(r)}}))}function tc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function nc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function ic(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Li(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=nc();for(let i of e){let r=null;if(i.wordId&&(r=tc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===c?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let l=ic(r);t.set(l,o)}}}).catch(()=>{})}var Kt="data-color-grading",rc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ss=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],oc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],sc=new Map(oc.map(t=>[t.id,t])),ac=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,lc={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function $t(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function uc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function As(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function cc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=lc[e];return uc(n,i.min,i.max)}function dc(t){if(t==null)return null;let e=String(t).trim();return e||null}function fc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!$t(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:As(t.intensity,1)}}function mc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return $t(n)?n:null}catch{return null}return{preset:e,intensity:1}}return $t(t)?t:null}function pc(t,e){let n=t.trim().match(ac);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function vi(t,e){if(typeof t=="string"){let i=pc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return vi(JSON.parse(r),e)}catch{return t}}if(!$t(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=vi(r,e);return n}function hc(t){return t?sc.get(t)??null:null}function ki(t){let e=mc(t);if(!e||e.enabled===!1)return null;let n=dc(e.preset),r=hc(n)?.adjust??Je,o=$t(e.adjust)?e.adjust:{},s=Ss.reduce((l,a)=>(l[a]=cc(o[a]??r[a],a),l),{...Je});return{enabled:!0,preset:n,intensity:As(e.intensity,1),adjust:s,lut:fc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():rc}}function Es(t,e){return ki(vi(t,e))}function Jt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ss.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);ye(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},xc=[0,0,0],gc=[1,1,1],yc=64;function bc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function pt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function ws(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[pt(t[0],n),pt(t[1],n),pt(t[2],n)]}function Cs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Sc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Ac(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Ec(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Fs(t,e={}){let n=e.maxSize??yc,i=null,r=xc,o=gc,s=null,l=null,a=[],c=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<c.length;m++){let f=m+1,x=bc(c[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),g=(A[0]??"").toUpperCase(),b=A.slice(1);if(g==="TITLE"){i=Ac(x);continue}if(g==="DOMAIN_MIN"){r=ws(b,g,f);continue}if(g==="DOMAIN_MAX"){o=ws(b,g,f);continue}if(g==="LUT_1D_SIZE"){s=Cs(b[0],g,f);continue}if(g==="LUT_3D_SIZE"){if(l=Cs(b[0],g,f),l>n)throw new we(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!Ec(g)){if(g.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${g}`,f);continue}if(!l)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(pt(A[0],f),pt(A[1],f),pt(A[2],f))}if(s&&l)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Sc(r,o);let u=l*l*l;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function wc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Ri(t){return Math.round(wc(t)*255)}function Ms(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let l=0;l<e;l++){let a=((o*e+s)*e+l)*3,c=(s*n+o*e+l)*4;r[c]=Ri(t.data[a]??0),r[c+1]=Ri(t.data[a+1]??0),r[c+2]=Ri(t.data[a+2]??0),r[c+3]=255}return{width:n,height:i,data:r}}var wn=new Map,Cc="data-hf-color-grading-canvas",vs="data-hf-color-grading-source-hidden",Fc="__hf_color_grading_canvas__",Mc=64,Yt={enabled:!1,position:.5,softness:0,lineWidth:2};function Nc(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function Di(t){let e=t.getAttribute(Kt);return e==null?null:Es(e,Nc(t))}var Tc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),_c=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function rt(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Ns(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Lc(t){let e=Ns(t,Tc,t.VERTEX_SHADER),n=Ns(t,_c,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Ts(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function vc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Lc(e),i=Ts(e),r=Ts(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function kc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Rc(t){if(!kc(t))return{...Yt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Yt.position,0,1),softness:e(t.softness,Yt.softness,0,.25),lineWidth:e(t.lineWidth,Yt.lineWidth,0,12)}}function ks(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function Pi(t){return t instanceof Error?t.message:"LUT failed to load"}function Dc(t){let e=ks(t);if("error"in e)return{state:"error",message:e.error};let n=wn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Fs(o,{maxSize:Mc})),r={state:"pending",promise:i};return wn.set(e.href,r),i.then(o=>wn.set(e.href,{state:"ready",lut:o}),o=>wn.set(e.href,{state:"error",message:Pi(o)})),r}function _s(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ms(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=Pi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function Ic(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=ks(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=Dc(e);return r.state==="ready"?_s(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(_s(t,i.href,o),Ge(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=Pi(o),t.lutLoadingSrc=null,Ge(t))})),null)}function Ii(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&rt(n))return n;try{let i=document.querySelector(e);return i&&rt(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&rt(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&rt(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&rt(i)?i:null}catch{return null}}function Pc(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function Rs(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function Oc(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&Rs(e)?e:null}function Bc(t){if(t instanceof HTMLVideoElement){let e=Oc(t);if(e)return e}return Rs(t)?t:null}function Ls(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function Hc(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=Ls(o,"x"),l=Ls(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function Wc(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let c=Hc(o||"center"),u=(t-l)*c.x/t,m=(e-a)*c.y/e;return{scaleX:l/t,scaleY:a/e,offsetX:u,offsetY:m}}function Gc(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function Uc(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&Gc(t,r);let o=window.getComputedStyle(e);Fr(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Vc(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function zc(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(vs,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ge(t){if(t.destroyed)return!1;let e=Bc(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=Pc(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",l=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=l!=="hidden"&&x.visibility!=="hidden"}let a=Uc(t,i);if(!a)return!1;let c=window.getComputedStyle(i),u=Wc(a.width,a.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:m,program:f}=t;try{let x=Ic(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),Vc(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),zc(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function qc(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function Xt(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)})}function jc(t){let e=()=>{Ge(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>Xt(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function $c(t){if(!t.destroyed){t.destroyed=!0,qc(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(vs);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function Kc(t){let e=document.createElement("canvas");return e.className=Fc,e.setAttribute(Cc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ds(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(g,b,F)=>{let L=t.get(g);if(L)return L.grading=b,L.source=F,Ge(L),g instanceof HTMLVideoElement&&!g.paused&&Xt(L),!0;let k=Kc(g),V=vc(k);if(!V)return k.remove(),!1;let O={element:g,canvas:k,gl:V.gl,program:V.program,grading:b,compare:{...Yt},lut:null,lutLoadingSrc:null,lutError:null,source:F,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(g).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(g).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(g,O),e.add(g),jc(O),Ge(O),g instanceof HTMLVideoElement&&!g.paused&&Xt(O),!0},o=(g,b)=>{if(i)return!1;let F=Ii(g);if(!F)return!1;let L=t.get(F);if(!L){let k=Di(F);if(!Jt(k)||!r(F,k,"attribute"))return!1;L=t.get(F)}return L?(L.compare=Rc(b),Ge(L),!0):!1},s=g=>{let b=t.get(g);b&&($c(b),t.delete(g),e.delete(g))},l=()=>{if(i)return 0;let g=new Set;document.querySelectorAll(`video[${Kt}], img[${Kt}]`).forEach(F=>{if(!rt(F))return;g.add(F);let L=Di(F);Jt(L)?r(F,L,"attribute"):s(F)});for(let F of Array.from(e)){let L=t.get(F);L&&(!F.isConnected||L.source==="attribute"&&!g.has(F))&&s(F)}return e.size},a=()=>{if(i)return 0;let g=0;for(let b of Array.from(e,F=>t.get(F)))b&&Ge(b)&&(g+=1);return g},c=(g,b)=>{if(i)return!1;let F=Ii(g);if(!F)return!1;let L=ki(b);return Jt(L)?r(F,L,"live"):(s(F),!0)},u=(g,b)=>{if(!rt(g))return!1;let F=t.get(g);return F?(F.sourceVisibleForCanvas=b,!0):!1},m=g=>{let b=Ii(g);if(!b)return{state:"missing",message:"Media not found"};let F=t.get(b);if(F)return F.lutError?{state:"unavailable",message:F.lutError}:F.grading.lut&&F.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:F.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:F.lut?"Shader + LUT active":"Shader active"};let L=Di(b);return Jt(L)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let g of Array.from(e))s(g)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Kt]}));let x={refresh:l,redraw:a,setGrading:c,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,l(),x}var Cn=class{constructor(e){ye(this,"_baseTime",0);ye(this,"_playStartMs",null);ye(this,"_rate",1);ye(this,"_duration",1/0);ye(this,"_nowMs");ye(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Is(t){return!Number.isFinite(t)||t<=0?1:t}function Jc(t,e){e||t.paused||!on().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function Yc(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return l&&u<=0?!1:(l?t.start(0,n+i,u):t.start(0,n+i),!0)}let c=-n/o;return l?t.start(r+c,i,a):t.start(r+c,i),!0}var Fn=class{constructor(){ye(this,"_ctx",null);ye(this,"_bufferCache",new Map);ye(this,"_failedSrcs",new Set);ye(this,"_activeSources",[]);ye(this,"_masterGain",null);ye(this,"_rateAnchorCtx",0);ye(this,"_rateAnchorComp",0);ye(this,"_rate",1);ye(this,"_paused",!0);ye(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1,c=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let u=Is(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!Yc(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:c}))return m.disconnect(),f.disconnect(),null;let g=e.muted;e.muted=!0,Jc(e,g);let b={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:g,bounded:Number.isFinite(c)&&c>0};return this._activeSources.push(b),this._paused=!1,m.addEventListener("ended",()=>{let F=this._activeSources.indexOf(b);F!==-1&&(this._activeSources.splice(F,1),e.muted=g,this._activeSources.length===0&&(this._paused=!0))}),b}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Is(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ps="data-hf-studio-manual-edit-gesture";var Oi="data-hf-authored-duration",Bi="data-hf-authored-end";function Os(){let t=Tr(),e=null,n=null,i=null,r=[],o=new Set,s=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let S=0;S<d.length;S++)h[`tl-${S}`]=d[S];window.__timelines=h}let a=l();a&&!a.hasAttribute("data-start")&&a.setAttribute("data-start","0");let c=d=>{r.push(d)},u=(d,p,h)=>{let S=h??`${d}:${JSON.stringify(p)}`;o.has(S)||(o.add(S),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},m=d=>{let p={scale:1,focusX:960,focusY:540},h=[],S=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},f=1/60,x=.75,A=2,g=.05,b=100,F=240,L=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},k=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},V=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},O=()=>l(),T=()=>{let d=O();if(!d)return;let p=V(d.getAttribute("data-width")),h=V(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},y=()=>{let d=O(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),w=h.getAttribute("data-end");S!=null&&!h.hasAttribute(Oi)&&h.setAttribute(Oi,S),w!=null&&!h.hasAttribute(Bi)&&h.setAttribute(Bi,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},E=()=>{let d=O();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=V(d.getAttribute("data-width")),h=V(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let S=Array.from(d.children);for(let w of S){let N=w.tagName.toLowerCase();if(N==="script"||N==="style"||N==="link"||N==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let P=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(P&&$&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Ve=w.style.top,be=w.style.left,St=w.style.width,ue=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let Z=window.getComputedStyle(w);Z.top!=="auto"||Z.bottom!=="auto"||Z.left!=="auto"||Z.right!=="auto"||Z.width!=="0px"||Z.height!=="0px"||(w.style.top=Ve,w.style.left=be,w.style.width=St,w.style.height=ue)}let Q=window.getComputedStyle(w),he=Q.position;if(he!=="absolute"&&he!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||Q.top!=="auto"||Q.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||Q.left!=="auto"||Q.right!=="auto"||(w.style.left="0"),N!=="audio"){let Ve=V(w.getAttribute("data-width")),be=V(w.getAttribute("data-height")),St=Q.width!=="0px"&&Q.width!=="auto",ue=Q.height!=="0px"&&Q.height!=="auto";Ve?!w.style.width&&!St&&(w.style.width=Ve):!w.style.width&&Q.width==="0px"&&(w.style.width="100%"),be?!w.style.height&&!ue&&(w.style.height=be):!w.style.height&&Q.height==="0px"&&(w.style.height="100%")}}},C=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),M=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),_=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0):C(d,p),W=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let S=h==="video"||h==="audio"?_(d,0):C(d,0),w=M(d),N=d.getAttribute("data-composition-id");if(N){let $=(window.__timelines??{})[N],Q=null;if($&&typeof $.duration=="function"){let xe=Number($.duration());Number.isFinite(xe)&&xe>0&&(Q=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Oi)||d.hasAttribute(Bi))&&(w==null||w<=0)&&Q!=null&&(w=Q)}let P=w!=null&&w>0?S+w:Number.POSITIVE_INFINITY;return p>=S&&(Number.isFinite(P)?p<=P:!0)},z=!!document.querySelector("[data-composition-src]"),re=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){re=!0;break}}}let D=!z&&!re,Y=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},se=d=>typeof d=="number"&&Number.isFinite(d)&&d>f,U=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),S=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>S?Math.max(0,d.duration-S):null},te=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let S=_(h,0);if(!Number.isFinite(S))continue;let w=U(h);w==null||w<=f||(p=Math.max(p,Math.max(0,S)+w))}return p>f?p:null},G=()=>{let d=O();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),S=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(S=w);let N=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let P of N){if(!(P instanceof Element)||P.parentElement?.closest("[data-composition-id]")!==d)continue;let Q=h.resolveStartForElement(P,0),he=h.resolveDurationForElement(P);!Number.isFinite(Q)||he==null||he<=0||(S=Math.max(S,Math.max(0,Q)+he))}return S>f?S:null},ne=()=>{let d=te();return typeof d!="number"||!Number.isFinite(d)||d<=f?null:d},Me=d=>se(d)?Math.max(f,d*x):f,R=(d,p=0)=>{let h=Y(d),S=ne(),w=G(),N=Math.max(S??0,w??0),P=Number.isFinite(p)&&p>f?p:0,$=0;return se(h)?$=Math.max(h,N,P):se(N)?$=Math.max(N,P):$=P,$>0?Math.max(0,$):0},I=()=>{let d=window.__timelines??{},p=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=ne(),S=G(),w=Math.max(h??0,S??0)||null,N=Me(w),P=ue=>{let Z=document.querySelector(`[data-composition-id="${CSS.escape(ue)}"]`);return Z?p.resolveStartForElement(Z,0):0},$=ue=>{let Z=window.gsap;if(!Z||typeof Z.timeline!="function")return null;let me=Z.timeline({paused:!0});for(let Se of ue)me.add(Se.timeline,P(Se.compositionId));return me},Q=(ue,Z)=>{if(!se(ue))return null;let me=window.gsap;if(!me||typeof me.timeline!="function")return null;let Se=me.timeline({paused:!0});if(Z)try{Se.add(Z,0)}catch(ce){v("runtime.init.site2",ce)}let Ae=Se;if(typeof Ae.to=="function")try{Ae.to({},{duration:ue})}catch(ce){v("runtime.init.site3",ce)}return Se},he=(ue,Z)=>{let me=ue;if(typeof me.getChildren!="function")return[];try{let Se=me.getChildren(!0,!0,!0)??[];if(!Array.isArray(Se))return[];let Ae=[];for(let ce of Z)if(!Se.some(ve=>ve===ce.timeline))try{let ve=P(ce.compositionId);ue.add(ce.timeline,ve),Ae.push(ce.compositionId)}catch(ve){v("runtime.init.site4",ve)}return Ae}catch{return[]}},xe=O(),K=xe?.getAttribute("data-composition-id")??null;if(!K)return{timeline:null};let oe=d[K]??null,be=(()=>{if(!xe)return[];let ue=new Set,Z=Array.from(xe.querySelectorAll("[data-composition-id]")),me=[];for(let Se of Z){let Ae=Se.getAttribute("data-composition-id");if(!Ae||Ae===K||ue.has(Ae))continue;ue.add(Ae);let ce=d[Ae]??null;if(!ce||typeof ce.play!="function"||typeof ce.pause!="function")continue;let Fe=Y(ce);me.push({compositionId:Ae,timeline:ce,durationSeconds:Fe??0})}return me})(),St=ue=>{for(let Z of ue){let me=Z.timeline;if(typeof me.paused=="function")try{me.paused(!1)}catch(Se){v("runtime.init.site5",Se)}}};if(be.length>0&&St(be),oe){let ue=be.length>0?he(oe,be):[];if((be.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+K+"\'])"))&&(H=!0),ue.length>0)try{let ce=oe.time();oe.seek(ce,!1)}catch{}let Z=Y(oe);if(!se(Z)&&be.length>0){let ce=be.map(Aa=>Aa.compositionId),Fe=$(be),ve=Y(Fe);if(Fe&&se(ve))return{timeline:Fe,selectedTimelineIds:ce,selectedDurationSeconds:ve,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:N,selectedDurationSeconds:ve,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:ce,autoNestedChildren:ue}}};let Hn=Q(w??0,oe),Wn=Y(Hn);if(Hn&&se(Wn))return{timeline:Hn,selectedTimelineIds:[K],selectedDurationSeconds:Wn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Wn,selectedTimelineIds:[K],autoNestedChildren:ue}}}}if(!se(Z)&&be.length===0){let ce=Q(w??0,oe),Fe=Y(ce);if(ce&&se(Fe))return{timeline:ce,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Fe,selectedTimelineIds:[K]}}}}let me=xe?.getAttribute("data-duration"),Se=me?parseFloat(me):null,Ae=Math.max(se(Se)?Se:0,S??0);if(Ae>0&&se(Ae)&&se(Z)&&Ae>=Z+.5){let ce=oe;if(typeof ce.to=="function")try{ce.to({},{duration:0},Ae)}catch(ve){v("runtime.init.site6",ve)}let Fe=Y(oe);if(se(Fe))return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:K,rootDurationSeconds:Z,rootDeclaredDur:Se,authoredCompositionDurationFloorSeconds:S,newDur:Fe}}}}return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Z,mediaDurationFloorSeconds:h,diagnostics:ue.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:K,selectedDurationSeconds:Z,autoNestedChildren:ue}}:void 0}}if(be.length>0){let ue=be.map(Se=>Se.compositionId),Z=$(be),me=Y(Z);if(Z)return{timeline:Z,selectedTimelineIds:ue,selectedDurationSeconds:me,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:K,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:N,selectedDurationSeconds:me,mediaDurationFloorSeconds:h,selectedTimelineIds:ue}}}}return{timeline:null}},H=!1,ie=()=>{if(!D)return!1;let d=t.capturedTimeline,p=Y(d),h=se(p);if(d&&h&&H)return!1;let S=I();if(!S.timeline)return!1;if(d&&d===S.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=S.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let w=R(t.capturedTimeline,0);if(w<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),w>0){try{B.setDuration(w)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let P=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(P,!1),t.capturedTimeline.pause()}let N=window.__hfStudioManualEditsApply;typeof N=="function"&&N()}if(S.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let N=O(),P=w>0?w:0,$=String(P>0?P:1),Q=new Set,he=new Set(document.querySelectorAll("[data-start]")),xe=K=>{let oe=K.parentElement;for(;oe&&oe!==N;){if(he.has(oe))return!0;oe=oe.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let K of t.capturedTimeline.getChildren(!0))if(typeof K.targets=="function")for(let oe of K.targets())oe instanceof HTMLElement&&oe!==N&&(oe.hasAttribute("data-start")||xe(oe)||Q.has(oe)||(Q.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",$),oe.setAttribute("data-hf-autostamped","1")))}catch{}if(N instanceof HTMLElement)for(let K of N.querySelectorAll("[id]"))K instanceof HTMLElement&&K!==N&&(K.hasAttribute("data-start")||xe(K)||Q.has(K)||K.tagName==="SCRIPT"||K.tagName==="STYLE"||K.tagName==="LINK"||(Q.add(K),K.setAttribute("data-start","0"),K.setAttribute("data-duration",$),K.setAttribute("data-hf-autostamped","1")))}for(let N of Ne)en.delete(N),$i(N);return!0};window.__hfForceTimelineRebind=()=>{H=!1,ie()};let ae=()=>{let d=O();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),N=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,P=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!N||!P||u("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:S,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},q=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,ae()}))},j=()=>{n=d=>{let p=L(d.error??d.message).slice(0,F);if(!p)return;let h=k(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let p=L(d.reason).slice(0,F);if(!p)return;let h=k(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},X=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let S=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),N=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,P=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";u(P,{tagName:w,assetUrl:N,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${P}:${w}:${N??"unknown"}`)};h.addEventListener("error",S),c(()=>{h.removeEventListener("error",S)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&u("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ie=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let S=Math.max(0,t.currentTime||0),w=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(S,!1),w&&t.capturedTimeline.play()}catch(N){v("runtime.init.site7",N)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:S,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ge=null,ot=!1,Ne=new Set,en=new WeakMap,tn=()=>{t.tornDown||(ge!=null&&window.clearTimeout(ge),ge=window.setTimeout(()=>{if(t.tornDown)return;ge=null;let d=I();if(!d.timeline||!se(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){ie()&&(st(),Te(!0));return}if(ot)return;let h=Y(t.capturedTimeline),S=d.selectedDurationSeconds??Y(d.timeline);se(S)&&(!se(h)||S>=h+g)&&Ie(d,"manual")&&(ot=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:S??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),st(),Te(!0))},b))},ca=()=>{for(let d of Ne)d.removeEventListener("loadedmetadata",tn),d.removeEventListener("durationchange",tn);Ne.clear()},vn=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(Ne.has(p))continue;Ne.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",tn),p.addEventListener("durationchange",tn),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),$i(p)}},$i=d=>{en.has(d)||Ar(d,t.capturedTimeline,R(t.capturedTimeline,0),en)},kn=new WeakMap,Ki=d=>{let p=kn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,S=h==="static"||h==="relative"||h==="sticky";return kn.set(d,S),S},Rn=new WeakMap,da=d=>{let p=Rn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Rn.set(d,h),h},fa=()=>{kn=new WeakMap,Rn=new WeakMap},Le=()=>{let d=N=>{let P=N.closest("[data-composition-id]"),$=P?C(P,0):null,Q=P?M(P,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:P,inheritedStart:$,inheritedDuration:Q}},p=Er({shouldIncludeElement:N=>N.hasAttribute("data-start")||!!d(N).compositionRoot,resolveStartSeconds:N=>{let P=d(N);return _(N,P.inheritedStart??0)},resolveDurationSeconds:N=>{let P=d(N),$=_(N,P.inheritedStart??0),Q=Number.parseFloat(N.dataset.playbackStart??N.dataset.mediaStart??"0")||0,he=P.inheritedStart!=null&&P.inheritedDuration!=null&&P.inheritedDuration>0?Math.max(0,P.inheritedStart+P.inheritedDuration-$):null,xe=Number.isFinite(N.duration)&&N.duration>Q?Math.max(0,N.duration-Q):null,K=Number.parseFloat(N.dataset.duration??""),oe=Number.isFinite(K)&&K>0?K:null,Ve=[xe,he,oe].filter(be=>be!=null);return Ve.length>0?Math.min(...Ve):null}});for(let N of p.mediaClips){let P=en.get(N.el);P&&(N.volumeKeyframes=P)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||wr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&fe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(N,P)=>fe.setElementVolume(N,P),isWebAudioOwned:N=>fe.ownsElement(N),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]")),w=O();for(let N of S){if(!(N instanceof HTMLElement))continue;let P=W(N,t.currentTime);if(P){let $=N.parentElement;for(;$&&$!==w;){if($ instanceof HTMLElement&&$.hasAttribute("data-start")&&!W($,t.currentTime)){P=!1;break}$=$.parentElement}}N.style.visibility=P?"visible":"hidden",(N instanceof HTMLVideoElement||N instanceof HTMLImageElement)&&e?.setSourceVisibility(N,P),P?Ki(N)&&N.style.removeProperty("display"):Ki(N)&&da(N)&&(N.style.display="none")}},Te=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Dn="",ma=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},st=()=>{y(),T(),E();let d=O();if(d){let S=V(d.getAttribute("data-width")),w=V(d.getAttribute("data-height")),N=S?parseInt(S,10):0,P=w?parseInt(w,10):0;N>0&&P>0&&Ee({source:"hf-preview",type:"stage-size",width:N,height:P})}ie();let p=Dr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=ma();if(Dn!==h&&fa(),!window.__clipTree||Dn!==h){let S=window;window.__clipTree=_r({startResolver:ze({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Dn=h}Ee(p),q()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){v("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:p})}catch(S){v("runtime.init.site9",S)}}},Ze=()=>{window.__renderReady=!1},yt=null,bt=!0,pa=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let S=h();S&&d.push(S)}catch(S){v("runtime.init.adapterReady",S)}}return d},ha=()=>{let d=pa();if(d.length===0)return yt=null,bt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==yt&&(yt=p,bt=!1,Promise.resolve(p).then(()=>{yt===p&&(bt=!0,Ze())},h=>{yt===p&&(bt=!0,v("runtime.init.adapterReady",h),Ze())})),bt};if(D)Li();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:V,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};bs(d).then(()=>ys(d)).finally(()=>{D=!0,vn(),X(),Li(),Ze()})}let nn=Cr({postMessage:d=>Ee(d)});nn.installPickerApi();let He=Ds();e=He,c(()=>{He.destroy(),e=null});let In=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(w){v("runtime.init.site10",w)}},pe=Nr({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:In,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:Te,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{He.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>R(t.capturedTimeline,0)});window.__player=m(pe),window.__playerReady=!0,tr(Ee),At("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=er({onPlay:()=>{pe.play(),At("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),At("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{fe.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;pe.seek(h),At("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,fe.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),w=Number.isFinite(S)?S:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(fe.stopAll(),B.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(fe.stopAll(),B.detachAudioSource()),Le())},onSetPlaybackRate:d=>{In(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),Qi()},onSetColorGrading:(d,p)=>{He.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{He.setCompare(d,p)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,et(d),B.reachedEnd()){fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,et(p)),Pe("pause"),Le(),Te(!0)}},onEnablePickMode:()=>nn.enablePickMode(),onDisablePickMode:()=>nn.disablePickMode()}),t.deterministicAdapters=[br(),nr({resolveStartSeconds:d=>C(d,0)}),rr(),ar(),ur(),cr(),dr(),fr(),mr(),pr(),hr(),ir({getTimeline:()=>t.capturedTimeline})],gr(),yr(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,lr(p)},j(),vn(),Pe("discover");let B=new Cn;t.transportClock=B;let fe=new Fn,Pn=!1;fe.init().then(d=>{Pn=d});let xa=()=>{let d=t.capturedTimeline,p=ie();t.capturedTimeline&&(p||t.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=t.capturedTimeline);let h=R(t.capturedTimeline,0);h>0&&B.setDuration(h),Pe("discover",t.currentTime),window.__renderReady=!0,st(),Te(!0)};if(Ze=()=>{if(!D||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!ha()){window.__renderReady=!1;return}xa()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),Ze()};window.addEventListener("hf-timelines-built",d)}Ze(),D&&setTimeout(()=>{Ze()},0);let rn=0,On=!1,ga=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(S){v(h,S)}},ya=d=>{let p=window.__timelines??{},h=O()?.getAttribute("data-composition-id")??null;for(let[S,w]of Object.entries(p)){if(!w||S===h)continue;let N=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!N)continue;let P=C(N,0);if(!Number.isFinite(P))continue;let $=M(N,{includeAuthoredTimingAttrs:!0}),Q=Y(w),he=$!=null&&$>0?$:Q,xe=Math.max(0,he!=null&&he>0?Math.min(he,d-P):d-P);ga(w,xe,"runtime.init.transport.childTimeline")}},ba=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(S){v("runtime.init.activateSiblings",S)}},et=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ba(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){v("runtime.init.transport.seek",S)}}else ya(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(w){v("runtime.init.transport.adapter",w)}},Sa=()=>{try{return document.querySelector(`[${Ps}]`)!=null}catch{return!1}},Ji=()=>{if(!(t.tornDown||On)){On=!0;try{if(t.transportRafId=window.requestAnimationFrame(Ji),rn+=1,rn%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<A)){let h=t.capturedTimeline;if(ie()){t.capturedTimeline&&!pe._timeline&&(pe._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=R(t.capturedTimeline,0);S>0&&B.setDuration(S),st()}}if(rn%20===0&&st(),rn%30===0&&vn(),t.capturedTimeline){let p=R(t.capturedTimeline,0);p>0&&(!B.isPlaying()||p>=B.getDuration())&&B.setDuration(p)}if(B.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&fe.isActive()&&fe.context){let p=fe.getTime();p>=0&&B.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let S of p){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let w=Number.parseFloat(S.dataset.start??""),N=Number.parseFloat(S.dataset.duration??""),P=Number.isFinite(N)&&N>0?w+N:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&t.currentTime>=w&&t.currentTime<=P){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(B.attachAudioSource({el:S,compositionStart:w,mediaStart:$}),h=!0);break}}!h&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,(B.isPlaying()||!Sa())&&et(d),B.isPlaying()&&B.reachedEnd()){fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,et(p)),Pe("pause"),Le(),Te(!0);return}B.isPlaying()&&Le(),Te(!1)}finally{On=!1}}},Yi=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let w=Number.parseFloat(h.dataset.duration??""),N=Number.isFinite(w)&&w>0?S+w:1/0;if(d<S||d>=N)continue;let P=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+P;if($>=0)try{h.currentTime=$}catch{}}},Xi=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=fe.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,N=Number.parseFloat(h.dataset.volume??""),P=Number.isFinite(N)?N:1,$=Number.parseFloat(h.dataset.duration??""),Q=Number.isFinite($)&&$>0?$:Number.POSITIVE_INFINITY,he=h.closest("[data-composition-id]");if(he){let xe=C(he,0),K=M(he,{includeAuthoredTimingAttrs:!0});K!=null&&K>0&&(Q=Math.min(Q,Math.max(0,xe+K-S)))}fe.decodeAudioElement(h).then(xe=>{!xe||!B.isPlaying()||fe.schedulePlayback(h,xe,S,w,B.now(),P*t.bridgeVolume,d,t.playbackRate,Q)})}},Qi=()=>{fe.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Pn&&B.isPlaying()&&fe.hasBoundedActiveSources()&&(fe.stopAll(),Xi())};if(pe.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let p=R(d,0);if(p>0)B.setDuration(p),B.reachedEnd()&&(B.seek(0),t.currentTime=0,et(0));else{let h=O(),S=Number(h?.getAttribute("data-duration")??0);S>0&&B.setDuration(S)}d&&d.pause(),B.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,Yi(B.now()),Pn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Xi(),Pe("play"),Le(),He.redraw(),Te(!0))},pe.pause=()=>{if(!B.isPlaying())return;fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,Yi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),He.redraw(),Te(!0)},pe.seek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);fe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(p),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let S=t.capturedTimeline;S&&S.pause(),et(t.currentTime),Pe("pause"),Le(),He.redraw(),Te(!0)},pe.renderSeek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(p),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,et(t.currentTime,{activateChildren:!0}),Le(),He.redraw(),Te(!0)},pe.getTime=()=>B.now(),pe.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>B.isPlaying(),pe.setPlaybackRate=d=>{In(d),B.setRate(t.playbackRate),Qi()},t.capturedTimeline){let d=R(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let Zi=window.__player;if(Zi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Zi,p,{get:()=>pe[p],set:h=>{pe[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(Ji),st(),Te(!0);let Bn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,fe.destroy(),ge!=null&&(window.clearTimeout(ge),ge=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),nn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Bn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Bn,t.beforeUnloadHandler=Bn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Bs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Hi=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Xc(t){if(t<=255)return Bs[t];let e=0,n=Hi.length-1;for(;e<=n;){let i=e+n>>1,r=Hi[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function Qc(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let u=t.charCodeAt(c),m=u,f=1;if(u>=55296&&u<=56319&&c+1<e){let A=t.charCodeAt(c+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=Xc(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[c+A]=x;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let u=n[c];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",l=s,a=l;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let u;for(u=c-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=c+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let c=0;c<e;c++){let u=n[c];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[c]="ON")}a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let u=c+1;for(;u<e&&n[u]==="ON";)u++;let m=c>0?n[c-1]:l,f=u<e?n[u]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let g=c;g<u;g++)n[g]=x;c=u-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let u=n[c];(o[c]&1)===0?u==="R"?o[c]++:(u==="AN"||u==="EN")&&(o[c]+=2):(u==="L"||u==="AN"||u==="EN")&&o[c]++}return o}function Hs(t,e){let n=Qc(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Zc=/[ \\t\\n\\r\\f]+/g,ed=/[\\t\\n\\r\\f]| {2,}|^ | $/;function td(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function nd(t){if(!ed.test(t))return t;let e=t.replace(Zc," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function id(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Wi=null,rd;function od(){return Wi===null&&(Wi=new Intl.Segmenter(rd,{granularity:"word"})),Wi}var sd=/\\p{Script=Arabic}/u,Mn=/\\p{M}/u,$s=/\\p{Nd}/u;function Ws(t){return sd.test(t)}function Gs(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Gs(r))return!0;e++;continue}}if(Gs(n))return!0}}return!1}function ad(t){let e=_n(t);return e!==null&&(Tn.has(e)||Xe.has(e))}var ld=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function ud(t){return De(t)}function cd(t){let e=_n(t);return e!==null&&ld.has(e)}function Nn(t){return!ad(t)&&!cd(t)}var Tn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),Zt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Ui=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),dd=new Set([":",".","\\u060C","\\u061B"]),fd=new Set(["\\u104F"]),md=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function pd(t){if(Vi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Mn.test(n)))return!1}return e}function hd(t){for(let e of t)if(!Tn.has(e)&&!Xe.has(e))return!1;return t.length>0}function xd(t){if(Vi(t))return!0;for(let e of t)if(!Zt.has(e)&&!Ui.has(e)&&!Mn.test(e))return!1;return t.length>0}function Vi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Mn.test(n))){if(Zt.has(n)||Xe.has(n)||Ui.has(n)){e=!0;continue}return!1}return e}function Ks(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function _n(t){if(t.length===0)return null;let e=Ks(t,t.length);return t.slice(e)}function gd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Mn.test(i)){n--;continue}if(Zt.has(i)||Ui.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function yd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Us(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return t[i]=l,l}function Vs(t,e){return t&&e!==null&&dd.has(e)}function bd(t){let e=_n(t);return e!==null&&fd.has(e)}function Sd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Ln(t){let e=t.length;for(;e>0;){let n=Ks(t,e),i=t.slice(n,e);if(md.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ad(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Ed=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function _e(t){return t.length===1?t[0]:t.join("")}function wd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),_e(n)}function Cd(t,e,n,i){if(!Ed.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,c=0;for(let u of t){let m=Ad(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),c+=u.length;continue}o!==null&&r.push({text:_e(s),isWordLike:a,kind:o,start:l}),o=m,s=[u],l=n+c,a=f,c+=u.length}return o!==null&&r.push({text:_e(s),isWordLike:a,kind:o,start:l}),r}function Gi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Fd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Md(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Fd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Nd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Td(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!Md(t,s))continue;let l=[e[s]],a=s+1;for(;a<t.len&&!Gi(i[a]);){l.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=_e(l)}let o=0;for(let s=0;s<e.length;s++){let l=e[s];l.length!==0&&(o!==s&&(e[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function _d(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Nd(s))continue;let l=o+1;if(l>=t.len||Gi(t.kinds[l]))continue;let a=[],c=t.starts[l],u=l;for(;u<t.len&&!Gi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(_e(a)),n.push(!0),i.push("text"),r.push(c),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Ld=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),zs=/^[A-Za-z0-9_]+[,:;]*$/,qs=/[,:;]+$/;function Js(t){for(let e of t)if($s.test(e))return!0;return!1}function Qt(t){if(t.length===0)return!1;for(let e of t)if(!($s.test(e)||Ld.has(e)))return!1;return!0}function vd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o];if(l==="text"&&Qt(s)&&Js(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Qt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(_e(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function kd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o],a=t.isWordLike[o];if(l==="text"&&a&&zs.test(s)){let c=[s],u=qs.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&zs.test(t.texts[m]);){let f=t.texts[m];c.push(f),u=qs.test(f),m++}e.push(_e(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Rd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let c=0;c<l.length;c++){let u=l[c];if(!a)break;(u.length===0||!Js(u)||!Qt(u))&&(a=!1)}if(a){let c=0;for(let u=0;u<l.length;u++){let m=l[u],f=u<l.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Dd(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],l=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let u=[s[0]],m=c;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=_e(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),l=t.isWordLike[o],a="text",c=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=_e(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),l=l||t.isWordLike[o],o++;continue}s.push(m)}e.push(_e(s)),n.push(l),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Id(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=gd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function js(t,e,n){let i=od(),r=0,o=[],s=[],l=[],a=[],c=[],u=[],m=[],f=[],x=[],A=[],g=[],b=[];for(let T of i.segment(t))for(let y of Cd(T.segment,T.isWordLike??!1,T.index,n)){let Y=function(){u[D]!==null&&(s[D]=[Us(o,u,m,D)],u[D]=null),s[D].push(y.text),l[D]=l[D]||y.isWordLike,f[D]=f[D]||M,x[D]=x[D]||_,A[D]=z,g[D]=re,b[D]=Vs(x[D],W)},E=y.kind==="text",C=yd(y.text,y.isWordLike,y.kind),M=De(y.text),_=Ws(y.text),W=_n(y.text),z=Ln(y.text),re=bd(y.text),D=r-1;e.carryCJKAfterClosingQuote&&E&&r>0&&a[D]==="text"&&M&&f[D]&&A[D]||E&&r>0&&a[D]==="text"&&hd(y.text)&&f[D]||E&&r>0&&a[D]==="text"&&g[D]?Y():E&&r>0&&a[D]==="text"&&y.isWordLike&&_&&b[D]?(Y(),l[D]=!0):C!==null&&r>0&&a[D]==="text"&&u[D]===C?m[D]=(m[D]??1)+1:E&&!y.isWordLike&&r>0&&a[D]==="text"&&(pd(y.text)||y.text==="-"&&l[D])?Y():(o[r]=y.text,s[r]=[y.text],l[r]=y.isWordLike,a[r]=y.kind,c[r]=y.start,u[r]=C,m[r]=C===null?0:1,f[r]=M,x[r]=_,A[r]=z,g[r]=re,b[r]=Vs(_,W),r++)}for(let T=0;T<r;T++){if(u[T]!==null){o[T]=Us(o,u,m,T);continue}o[T]=_e(s[T])}for(let T=1;T<r;T++)a[T]==="text"&&!l[T]&&Vi(o[T])&&a[T-1]==="text"&&(o[T-1]+=o[T],l[T-1]=l[T-1]||l[T],o[T]="");let F=Array.from({length:r},()=>null),L=-1;for(let T=r-1;T>=0;T--){let y=o[T];if(y.length!==0){if(a[T]==="text"&&!l[T]&&xd(y)&&L>=0&&a[L]==="text"){let E=F[L]??[];E.push(y),F[L]=E,c[L]=c[T],o[T]="";continue}L=T}}for(let T=0;T<r;T++){let y=F[T];y!=null&&(o[T]=wd(y,o[T]))}let k=0;for(let T=0;T<r;T++){let y=o[T];y.length!==0&&(k!==T&&(o[k]=y,l[k]=l[T],a[k]=a[T],c[k]=c[T]),k++)}o.length=k,l.length=k,a.length=k,c.length=k;let V=Dd({len:k,texts:o,isWordLike:l,kinds:a,starts:c}),O=Id(kd(Rd(vd(_d(Td(V))))));for(let T=0;T<O.len-1;T++){let y=Sd(O.texts[T]);y!==null&&(O.kinds[T]!=="space"&&O.kinds[T]!=="preserved-space"||O.kinds[T+1]!=="text"||!Ws(O.texts[T+1])||(O.texts[T]=y.space,O.isWordLike[T]=!1,O.kinds[T]=O.kinds[T]==="preserved-space"?"preserved-space":"space",O.texts[T+1]=y.marks+O.texts[T+1],O.starts[T+1]=O.starts[T]+y.space.length))}return O}function Pd(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function Od(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,c=!1;function u(){o!==null&&(e.push(_e(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],g=t.starts[m];if(x==="text"){let b=ud(f),F=Nn(f);if(o!==null&&a&&c){o.push(f),s=s||A,a=a||b,c=F;continue}u(),o=[f],s=A,l=g,a=b,c=F;continue}u(),e.push(f),n.push(A),i.push(x),r.push(g)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Ys(t,e,n="normal",i="normal"){let r=td(n),o=r.mode==="pre-wrap"?id(t):nd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Od(js(o,e,r)):js(o,e,r);return{normalized:o,chunks:Pd(s,r),...s}}var ht=null,Xs=new Map,xt=null,Bd=96,Hd=/\\p{Emoji_Presentation}/u,Wd=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,zi=null,Qs=new Map;function qi(){if(ht!==null)return ht;if(typeof OffscreenCanvas<"u")return ht=new OffscreenCanvas(1,1).getContext("2d"),ht;if(typeof document<"u")return ht=document.createElement("canvas").getContext("2d"),ht;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Gd(t){let e=Xs.get(t);return e||(e=new Map,Xs.set(t,e)),e}function Ue(t,e){let n=e.get(t);return n===void 0&&(n={width:qi().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function gt(){if(xt!==null)return xt;if(typeof navigator>"u")return xt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},xt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return xt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},xt}function Ud(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Zs(){return zi===null&&(zi=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zi}function Vd(t){return Hd.test(t)||t.includes("\\uFE0F")}function ea(t){return Wd.test(t)}function zd(t,e){let n=Qs.get(t);if(n!==void 0)return n;let i=qi();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return Qs.set(t,n),n}function qd(t){let e=0,n=Zs();for(let i of n.segment(t))Vd(i.segment)&&e++;return e}function jd(t,e){return e.emojiCount===void 0&&(e.emojiCount=qd(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-jd(t,e)*n}function ta(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Zs(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ue(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>Bd){let u=[],m=null,f=0;for(let x of s){let A=Ue(x,n),g=Qe(x,A,i);if(m===null)u.push(g);else{let b=m+x,F=Ue(b,n);u.push(Qe(b,F,i)-f)}m=x,f=g}return e.breakableFitAdvances=u,e.breakableFitAdvances}let l=[],a="",c=0;for(let u of s){a+=u;let m=Ue(a,n),f=Qe(a,m,i);l.push(f-c),c=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function na(t,e){let n=qi();n.font=t;let i=Gd(t),r=Ud(t),o=e?zd(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function $d(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function Kd(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function Jd(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let l=s+t[o];if((o+1<t.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function ia(t,e){return t.simpleLineWalkFastPath?ra(t,e):oa(t,e)}function ra(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=gt().lineFitEpsilon,a=e+l,c=0,u=0,m=!1,f=0,x=0,A=0,g=0,b=-1,F=0;function L(){b=-1,F=0}function k(C=A,M=g,_=u){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:C,endGraphemeIndex:M,width:_}),u=0,m=!1,L()}function V(C,M){m=!0,f=C,x=0,A=C+1,g=0,u=M}function O(C,M,_){m=!0,f=C,x=M,A=C,g=M+1,u=_}function T(C,M){if(!m){V(C,M);return}u+=M,A=C+1,g=0}function y(C,M){let _=o[C];for(let W=M;W<_.length;W++){let z=_[W];m?u+z>a?(k(),O(C,W,z)):(u+=z,A=C,g=W+1):O(C,W,z)}m&&A===C&&g===_.length&&(A=C+1,g=0)}let E=0;for(;E<i.length&&!(!m&&(E=$d(t,E),E>=i.length));){let C=i[E],M=r[E],_=M==="space"||M==="preserved-space"||M==="tab"||M==="zero-width-break"||M==="soft-hyphen";if(!m){C>e&&o[E]!==null?y(E,0):V(E,C),_&&(b=E+1,F=u-C),E++;continue}if(u+C>a){if(_){T(E,C),k(E+1,0,u-C),E++;continue}if(b>=0){if(A>b||A===b&&g>0){k();continue}k(b,0,F);continue}if(C>e&&o[E]!==null){k(),y(E,0),E++;continue}k();continue}T(E,C),_&&(b=E+1,F=u-C),E++}return m&&k(),c}function oa(t,e,n){if(t.simpleLineWalkFastPath)return ra(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=gt(),f=m.lineFitEpsilon,x=e+f,A=0,g=0,b=!1,F=0,L=0,k=0,V=0,O=-1,T=0,y=0,E=null;function C(){O=-1,T=0,y=0,E=null}function M(U=k,te=V,G=g){A++,n?.({startSegmentIndex:F,startGraphemeIndex:L,endSegmentIndex:U,endGraphemeIndex:te,width:G}),g=0,b=!1,C()}function _(U,te){b=!0,F=U,L=0,k=U+1,V=0,g=te}function W(U,te,G){b=!0,F=U,L=te,k=U,V=te+1,g=G}function z(U,te){if(!b){_(U,te);return}g+=te,k=U+1,V=0}function re(U,te,G,ne){if(!te)return;let Me=U==="tab"?0:r[G],R=U==="tab"?ne:o[G];O=G+1,T=g-ne+Me,y=g-ne+R,E=U}function D(U,te){let G=l[U];for(let ne=te;ne<G.length;ne++){let Me=G[ne];b?g+Me>x?(M(),W(U,ne,Me)):(g+=Me,k=U,V=ne+1):W(U,ne,Me)}b&&k===U&&V===G.length&&(k=U+1,V=0)}function Y(U){if(E!=="soft-hyphen")return!1;let te=l[U];if(te==null)return!1;let{fitCount:G,fittedWidth:ne}=Jd(te,g,e,f,a);return G===0?!1:(g=ne,k=U,V=G,C(),G===te.length?(k=U+1,V=0,!0):(M(U,G,ne+a),D(U,G),!0))}function se(U){A++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),C()}for(let U=0;U<u.length;U++){let te=u[U];if(te.startSegmentIndex===te.endSegmentIndex){se(te);continue}b=!1,g=0,F=te.startSegmentIndex,L=0,k=te.startSegmentIndex,V=0,C();let G=te.startSegmentIndex;for(;G<te.endSegmentIndex;){let ne=s[G],Me=ne==="space"||ne==="preserved-space"||ne==="tab"||ne==="zero-width-break"||ne==="soft-hyphen",R=ne==="tab"?Kd(g,c):i[G];if(ne==="soft-hyphen"){b&&(k=G+1,V=0,O=G+1,T=g+a,y=g+a,E=ne),G++;continue}if(!b){R>e&&l[G]!==null?D(G,0):_(G,R),re(ne,Me,G,R),G++;continue}if(g+R>x){let H=g+(ne==="tab"?0:r[G]),ie=g+(ne==="tab"?R:o[G]);if(E==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&T<=x){M(O,0,y);continue}if(E==="soft-hyphen"&&Y(G)){G++;continue}if(Me&&H<=x){z(G,R),M(G+1,0,ie),G++;continue}if(O>=0&&T<=x){if(k>O||k===O&&V>0){M();continue}let ae=O;M(ae,0,y),G=ae;continue}if(R>e&&l[G]!==null){M(),D(G,0),G++;continue}M();continue}z(G,R),re(ne,Me,G,R),G++}if(b){let ne=O===te.consumedEndSegmentIndex?y:g;M(te.consumedEndSegmentIndex,0,ne)}}return A}var ji=null;function Yd(){return ji===null&&(ji=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ji}function Xd(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Qd(t,e){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function c(m,f,x){i=[m],r=f,o=x,s=Ln(m),l=Zt.has(m)}function u(m,f){i.push(m),o=o||f;let x=Ln(m);m.length===1&&Xe.has(m)?s=s||x:s=x,l=!1}for(let m of Yd().segment(t)){let f=m.segment,x=De(f);if(i.length===0){c(f,m.index,x);continue}if(l||Tn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),c(f,m.index,x)}return a(),n}function Zd(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=Nn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<t.length;l++){let a=t[l],c=De(a.text),u=Nn(a.text);if(r&&o){n.push(a.text),r=r||c,o=u;continue}s(),n=[a.text],i=a.start,r=c,o=u}return s(),e}function ef(t,e,n,i){let r=gt(),{cache:o,emojiCorrection:s}=na(e,ea(t.normalized)),l=Qe("-",Ue("-",o),s),c=Qe(" ",Ue(" ",o),s)*8;if(t.len===0)return Xd(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,g=n?[]:null,b=[],F=n?[]:null,L=Array.from({length:t.len});function k(y,E,C,M,_,W,z){_!=="text"&&_!=="space"&&_!=="zero-width-break"&&(A=!1),u.push(E),m.push(C),f.push(M),x.push(_),g?.push(W),b.push(z),F!==null&&F.push(y)}function V(y,E,C,M,_){let W=Ue(y,o),z=Qe(y,W,s),re=E==="space"||E==="preserved-space"||E==="zero-width-break"?0:z,D=E==="space"||E==="zero-width-break"?0:z;if(_&&M&&y.length>1){let Y="sum-graphemes";Qt(y)?Y="pair-context":r.preferPrefixWidthsForBreakableRuns&&(Y="segment-prefixes");let se=ta(y,W,o,s,Y);k(y,z,re,D,E,C,se);return}k(y,z,re,D,E,C,null)}for(let y=0;y<t.len;y++){L[y]=u.length;let E=t.texts[y],C=t.isWordLike[y],M=t.kinds[y],_=t.starts[y];if(M==="soft-hyphen"){k(E,0,l,l,M,_,null);continue}if(M==="hard-break"){k(E,0,0,0,M,_,null);continue}if(M==="tab"){k(E,0,0,0,M,_,null);continue}let W=Ue(E,o);if(M==="text"&&W.containsCJK){let z=Qd(E,r),re=i==="keep-all"?Zd(z):z;for(let D=0;D<re.length;D++){let Y=re[D];V(Y.text,"text",_+Y.start,C,i==="keep-all"||!De(Y.text))}continue}V(E,M,_,C,!0)}let O=tf(t.chunks,L,u.length),T=g===null?null:Hs(t.normalized,g);return F!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:T,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:O,segments:F}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:T,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:O}}function tf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,l=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function nf(t,e,n,i){let r=i?.wordBreak??"normal",o=Ys(t,gt(),i?.whiteSpace,r);return ef(o,e,n,r)}function sa(t,e,n){return nf(t,e,!1,n)}function aa(t,e,n){let i=ia(t,e);return{lineCount:i,height:i*n}}var rf={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function la(t,e){let n={...rf,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=sa(t,o),{lineCount:l}=aa(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:la,getVariables:cs};function ua(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Os())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ua,{once:!0}):ua();})();\n';
|
|
28747
28949
|
}
|
|
28748
28950
|
});
|
|
28749
28951
|
|
|
@@ -33220,6 +33422,9 @@ async function getCdpSession(page) {
|
|
|
33220
33422
|
}
|
|
33221
33423
|
return client;
|
|
33222
33424
|
}
|
|
33425
|
+
function shouldDefaultCaptureBeyondViewport(browserVersion, platform10 = process.platform) {
|
|
33426
|
+
return platform10 === "darwin" && browserVersion.startsWith("Chrome/");
|
|
33427
|
+
}
|
|
33223
33428
|
async function sendBeginFrame(client, params) {
|
|
33224
33429
|
for (let attempt = 0; ; attempt++) {
|
|
33225
33430
|
try {
|
|
@@ -33631,6 +33836,12 @@ async function driveWarmupTicks(options, state) {
|
|
|
33631
33836
|
await sleep3(options.intervalMs);
|
|
33632
33837
|
}
|
|
33633
33838
|
}
|
|
33839
|
+
function resolveCaptureSessionOptions(options, browserVersion, platform10 = process.platform) {
|
|
33840
|
+
return {
|
|
33841
|
+
...options,
|
|
33842
|
+
captureBeyondViewport: options.captureBeyondViewport ?? shouldDefaultCaptureBeyondViewport(browserVersion, platform10)
|
|
33843
|
+
};
|
|
33844
|
+
}
|
|
33634
33845
|
async function waitForCloseWithTimeout(promise) {
|
|
33635
33846
|
let timedOut = false;
|
|
33636
33847
|
let timer;
|
|
@@ -33683,6 +33894,7 @@ async function createCaptureSession(serverUrl, outputDir, options, onBeforeCaptu
|
|
|
33683
33894
|
}, variablesJson);
|
|
33684
33895
|
}
|
|
33685
33896
|
const browserVersion = await browser.version();
|
|
33897
|
+
const sessionOptions = resolveCaptureSessionOptions(options, browserVersion);
|
|
33686
33898
|
const expectedMajor = config?.expectedChromiumMajor;
|
|
33687
33899
|
if (Number.isFinite(expectedMajor)) {
|
|
33688
33900
|
const actualChromiumMajor = Number.parseInt(
|
|
@@ -33696,15 +33908,15 @@ async function createCaptureSession(serverUrl, outputDir, options, onBeforeCaptu
|
|
|
33696
33908
|
}
|
|
33697
33909
|
}
|
|
33698
33910
|
const viewport = {
|
|
33699
|
-
width:
|
|
33700
|
-
height:
|
|
33701
|
-
deviceScaleFactor:
|
|
33911
|
+
width: sessionOptions.width,
|
|
33912
|
+
height: sessionOptions.height,
|
|
33913
|
+
deviceScaleFactor: sessionOptions.deviceScaleFactor || 1
|
|
33702
33914
|
};
|
|
33703
33915
|
await page.setViewport(viewport);
|
|
33704
33916
|
return {
|
|
33705
33917
|
browser,
|
|
33706
33918
|
page,
|
|
33707
|
-
options,
|
|
33919
|
+
options: sessionOptions,
|
|
33708
33920
|
serverUrl,
|
|
33709
33921
|
outputDir,
|
|
33710
33922
|
onBeforeCapture,
|
|
@@ -33899,17 +34111,17 @@ async function applyVideoMetadataHints(page, hints) {
|
|
|
33899
34111
|
if (!hints || hints.length === 0) return;
|
|
33900
34112
|
await page.evaluate(
|
|
33901
34113
|
(metadataHints) => {
|
|
33902
|
-
for (const
|
|
33903
|
-
if (!
|
|
34114
|
+
for (const hint2 of metadataHints) {
|
|
34115
|
+
if (!hint2.id || !Number.isFinite(hint2.width) || !Number.isFinite(hint2.height) || hint2.width <= 0 || hint2.height <= 0) {
|
|
33904
34116
|
continue;
|
|
33905
34117
|
}
|
|
33906
|
-
const video = document.getElementById(
|
|
34118
|
+
const video = document.getElementById(hint2.id);
|
|
33907
34119
|
if (!video) continue;
|
|
33908
|
-
if (!video.hasAttribute("width")) video.setAttribute("width", String(
|
|
33909
|
-
if (!video.hasAttribute("height")) video.setAttribute("height", String(
|
|
34120
|
+
if (!video.hasAttribute("width")) video.setAttribute("width", String(hint2.width));
|
|
34121
|
+
if (!video.hasAttribute("height")) video.setAttribute("height", String(hint2.height));
|
|
33910
34122
|
const computed = window.getComputedStyle(video);
|
|
33911
34123
|
if (!video.style.aspectRatio && (!computed.aspectRatio || computed.aspectRatio === "auto")) {
|
|
33912
|
-
video.style.aspectRatio = `${
|
|
34124
|
+
video.style.aspectRatio = `${hint2.width} / ${hint2.height}`;
|
|
33913
34125
|
}
|
|
33914
34126
|
}
|
|
33915
34127
|
},
|
|
@@ -34596,7 +34808,11 @@ function getCapturePerfSummary(session) {
|
|
|
34596
34808
|
staticDedupSkipReason: session.staticDedupSkipReason
|
|
34597
34809
|
};
|
|
34598
34810
|
}
|
|
34599
|
-
|
|
34811
|
+
function isTransientBrowserError(error) {
|
|
34812
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
34813
|
+
return TRANSIENT_BROWSER_ERROR_PATTERNS.some((pattern) => pattern.test(message));
|
|
34814
|
+
}
|
|
34815
|
+
var BROWSER_CONSOLE_BUFFER_SIZE, CAPTURE_SESSION_CLOSE_TIMEOUT_MS, LOCKED_WARMUP_TICKS, realSleep, HF_READY_DIAGNOSTIC_EXPR, TRANSIENT_BROWSER_ERROR_PATTERNS;
|
|
34600
34816
|
var init_frameCapture = __esm({
|
|
34601
34817
|
"../engine/src/services/frameCapture.ts"() {
|
|
34602
34818
|
"use strict";
|
|
@@ -34627,6 +34843,17 @@ var init_frameCapture = __esm({
|
|
|
34627
34843
|
declaredDuration: declaredDuration,
|
|
34628
34844
|
};
|
|
34629
34845
|
})()`;
|
|
34846
|
+
TRANSIENT_BROWSER_ERROR_PATTERNS = [
|
|
34847
|
+
/Navigating frame was detached/i,
|
|
34848
|
+
/Target closed/i,
|
|
34849
|
+
/Session closed/i,
|
|
34850
|
+
/browser has disconnected/i,
|
|
34851
|
+
/Page crashed/i,
|
|
34852
|
+
/Execution context was destroyed/i,
|
|
34853
|
+
/Cannot find context with specified id/i,
|
|
34854
|
+
/Failed to launch the browser process/i,
|
|
34855
|
+
/ECONNREFUSED/i
|
|
34856
|
+
];
|
|
34630
34857
|
}
|
|
34631
34858
|
});
|
|
34632
34859
|
|
|
@@ -41885,6 +42112,7 @@ __export(src_exports2, {
|
|
|
41885
42112
|
isHdrColorSpace: () => isHdrColorSpace,
|
|
41886
42113
|
isHttpUrl: () => isHttpUrl,
|
|
41887
42114
|
isLowMemorySystem: () => isLowMemorySystem,
|
|
42115
|
+
isTransientBrowserError: () => isTransientBrowserError,
|
|
41888
42116
|
isVideoFrameFormat: () => isVideoFrameFormat,
|
|
41889
42117
|
killTrackedProcesses: () => killTrackedProcesses,
|
|
41890
42118
|
launchHdrBrowser: () => launchHdrBrowser,
|
|
@@ -42500,6 +42728,7 @@ function trackRenderComplete(props) {
|
|
|
42500
42728
|
duration_ms: props.durationMs,
|
|
42501
42729
|
fps: props.fps,
|
|
42502
42730
|
quality: props.quality,
|
|
42731
|
+
authoring_skill: props.authoringSkill,
|
|
42503
42732
|
workers: props.workers,
|
|
42504
42733
|
docker: props.docker,
|
|
42505
42734
|
gpu: props.gpu,
|
|
@@ -42548,6 +42777,7 @@ function trackRenderError(props) {
|
|
|
42548
42777
|
{
|
|
42549
42778
|
fps: props.fps,
|
|
42550
42779
|
quality: props.quality,
|
|
42780
|
+
authoring_skill: props.authoringSkill,
|
|
42551
42781
|
docker: props.docker,
|
|
42552
42782
|
workers: props.workers,
|
|
42553
42783
|
gpu: props.gpu,
|
|
@@ -45484,9 +45714,12 @@ var init_manager = __esm({
|
|
|
45484
45714
|
var normalize_exports = {};
|
|
45485
45715
|
__export(normalize_exports, {
|
|
45486
45716
|
detectFormat: () => detectFormat,
|
|
45717
|
+
formatSrt: () => formatSrt,
|
|
45718
|
+
formatVtt: () => formatVtt,
|
|
45487
45719
|
loadTranscript: () => loadTranscript,
|
|
45488
45720
|
patchCaptionHtml: () => patchCaptionHtml,
|
|
45489
|
-
stripBeforeOnset: () => stripBeforeOnset
|
|
45721
|
+
stripBeforeOnset: () => stripBeforeOnset,
|
|
45722
|
+
wordsToCues: () => wordsToCues
|
|
45490
45723
|
});
|
|
45491
45724
|
import { readFileSync as readFileSync12, readdirSync as readdirSync7, writeFileSync as writeFileSync8 } from "fs";
|
|
45492
45725
|
import { extname as extname5, join as join18 } from "path";
|
|
@@ -45639,9 +45872,104 @@ function parseVttTimestamp(ts) {
|
|
|
45639
45872
|
}
|
|
45640
45873
|
return 0;
|
|
45641
45874
|
}
|
|
45875
|
+
function formatSrtTimestamp(seconds) {
|
|
45876
|
+
const { hours, minutes, wholeSeconds, milliseconds } = timestampParts(seconds);
|
|
45877
|
+
return `${pad2(hours)}:${pad2(minutes)}:${pad2(wholeSeconds)},${pad3(milliseconds)}`;
|
|
45878
|
+
}
|
|
45879
|
+
function formatVttTimestamp(seconds) {
|
|
45880
|
+
const { hours, minutes, wholeSeconds, milliseconds } = timestampParts(seconds);
|
|
45881
|
+
return `${pad2(hours)}:${pad2(minutes)}:${pad2(wholeSeconds)}.${pad3(milliseconds)}`;
|
|
45882
|
+
}
|
|
45642
45883
|
function round3(n2) {
|
|
45643
45884
|
return Math.round(n2 * 1e3) / 1e3;
|
|
45644
45885
|
}
|
|
45886
|
+
function timestampParts(seconds) {
|
|
45887
|
+
const safeSeconds = Number.isFinite(seconds) ? seconds : 0;
|
|
45888
|
+
const totalMs = Math.max(0, Math.round(safeSeconds * 1e3));
|
|
45889
|
+
const milliseconds = totalMs % 1e3;
|
|
45890
|
+
const totalSeconds = (totalMs - milliseconds) / 1e3;
|
|
45891
|
+
const wholeSeconds = totalSeconds % 60;
|
|
45892
|
+
const totalMinutes = (totalSeconds - wholeSeconds) / 60;
|
|
45893
|
+
const minutes = totalMinutes % 60;
|
|
45894
|
+
const hours = (totalMinutes - minutes) / 60;
|
|
45895
|
+
return { hours, minutes, wholeSeconds, milliseconds };
|
|
45896
|
+
}
|
|
45897
|
+
function pad2(n2) {
|
|
45898
|
+
return n2.toString().padStart(2, "0");
|
|
45899
|
+
}
|
|
45900
|
+
function pad3(n2) {
|
|
45901
|
+
return n2.toString().padStart(3, "0");
|
|
45902
|
+
}
|
|
45903
|
+
function endsSentence(text) {
|
|
45904
|
+
return /[.!?][)"'\]}]*$/.test(text);
|
|
45905
|
+
}
|
|
45906
|
+
function pushCue(cues, cue) {
|
|
45907
|
+
if (!cue) return;
|
|
45908
|
+
const text = cue.text.trim();
|
|
45909
|
+
if (!text) return;
|
|
45910
|
+
cues.push({ text, start: round3(cue.start), end: round3(cue.end) });
|
|
45911
|
+
}
|
|
45912
|
+
function breaksCue(current2, word, text, maxChars, maxGap) {
|
|
45913
|
+
const nextLength = current2.text.length + 1 + text.length;
|
|
45914
|
+
const gap = word.start - current2.end;
|
|
45915
|
+
return nextLength > maxChars || gap > maxGap;
|
|
45916
|
+
}
|
|
45917
|
+
function entriesToCues(words) {
|
|
45918
|
+
const cues = [];
|
|
45919
|
+
for (const word of words) {
|
|
45920
|
+
pushCue(cues, { text: word.text, start: word.start, end: word.end });
|
|
45921
|
+
}
|
|
45922
|
+
return cues;
|
|
45923
|
+
}
|
|
45924
|
+
function joinTokens(left, right) {
|
|
45925
|
+
const a = left.at(-1) ?? "";
|
|
45926
|
+
const b2 = right[0] ?? "";
|
|
45927
|
+
const sep8 = CJK_CHAR.test(a) || CJK_CHAR.test(b2) ? "" : " ";
|
|
45928
|
+
return `${left}${sep8}${right}`;
|
|
45929
|
+
}
|
|
45930
|
+
function wordsToCues(words, opts = {}) {
|
|
45931
|
+
const preGrouped = opts.preGrouped ?? words.some((w3) => /\s/.test(w3.text.trim()));
|
|
45932
|
+
if (preGrouped) return entriesToCues(words);
|
|
45933
|
+
const maxChars = opts.maxChars ?? 42;
|
|
45934
|
+
const maxGap = opts.maxGap ?? 0.8;
|
|
45935
|
+
const cues = [];
|
|
45936
|
+
let current2;
|
|
45937
|
+
const flush2 = () => {
|
|
45938
|
+
pushCue(cues, current2);
|
|
45939
|
+
current2 = void 0;
|
|
45940
|
+
};
|
|
45941
|
+
for (const word of words) {
|
|
45942
|
+
const text = word.text.trim();
|
|
45943
|
+
if (!text) continue;
|
|
45944
|
+
if (current2 && !breaksCue(current2, word, text, maxChars, maxGap)) {
|
|
45945
|
+
current2.text = joinTokens(current2.text, text);
|
|
45946
|
+
current2.end = word.end;
|
|
45947
|
+
} else {
|
|
45948
|
+
flush2();
|
|
45949
|
+
current2 = { text, start: word.start, end: word.end };
|
|
45950
|
+
}
|
|
45951
|
+
if (endsSentence(text)) flush2();
|
|
45952
|
+
}
|
|
45953
|
+
flush2();
|
|
45954
|
+
return cues;
|
|
45955
|
+
}
|
|
45956
|
+
function formatSrt(words, opts) {
|
|
45957
|
+
const cues = wordsToCues(words, opts);
|
|
45958
|
+
if (cues.length === 0) return "";
|
|
45959
|
+
return cues.map(
|
|
45960
|
+
(cue, i2) => `${i2 + 1}
|
|
45961
|
+
${formatSrtTimestamp(cue.start)} --> ${formatSrtTimestamp(cue.end)}
|
|
45962
|
+
${cue.text}`
|
|
45963
|
+
).join("\n\n") + "\n";
|
|
45964
|
+
}
|
|
45965
|
+
function formatVtt(words, opts) {
|
|
45966
|
+
const cues = wordsToCues(words, opts);
|
|
45967
|
+
if (cues.length === 0) return "WEBVTT\n\n";
|
|
45968
|
+
return "WEBVTT\n\n" + cues.map(
|
|
45969
|
+
(cue) => `${formatVttTimestamp(cue.start)} --> ${formatVttTimestamp(cue.end)}
|
|
45970
|
+
${cue.text}`
|
|
45971
|
+
).join("\n\n") + "\n";
|
|
45972
|
+
}
|
|
45645
45973
|
function loadTranscript(filePath) {
|
|
45646
45974
|
const ext = extname5(filePath).toLowerCase();
|
|
45647
45975
|
const content = readFileSync12(filePath, "utf-8");
|
|
@@ -45692,9 +46020,11 @@ function patchCaptionHtml(dir, words) {
|
|
|
45692
46020
|
}
|
|
45693
46021
|
}
|
|
45694
46022
|
}
|
|
46023
|
+
var CJK_CHAR;
|
|
45695
46024
|
var init_normalize = __esm({
|
|
45696
46025
|
"src/whisper/normalize.ts"() {
|
|
45697
46026
|
"use strict";
|
|
46027
|
+
CJK_CHAR = /[ -〿-ヿ㐀-䶿一-鿿豈--]/;
|
|
45698
46028
|
}
|
|
45699
46029
|
});
|
|
45700
46030
|
|
|
@@ -46466,6 +46796,7 @@ function lintMultipleRootCompositions(projectDir) {
|
|
|
46466
46796
|
const rootHtmlFiles = readdirSync8(projectDir).filter((f3) => f3.endsWith(".html"));
|
|
46467
46797
|
const rootCompositions = [];
|
|
46468
46798
|
for (const file of rootHtmlFiles) {
|
|
46799
|
+
if (file === "caption-skin.html") continue;
|
|
46469
46800
|
const content = readFileSync15(join21(projectDir, file), "utf-8");
|
|
46470
46801
|
if (/data-composition-id/i.test(content)) {
|
|
46471
46802
|
rootCompositions.push(file);
|
|
@@ -46950,11 +47281,11 @@ function label(name, value) {
|
|
|
46950
47281
|
const pad = 14 - name.length;
|
|
46951
47282
|
return ` ${c.dim(name)}${" ".repeat(Math.max(1, pad))}${c.bold(value)}`;
|
|
46952
47283
|
}
|
|
46953
|
-
function errorBox(title,
|
|
47284
|
+
function errorBox(title, hint2, suggestion) {
|
|
46954
47285
|
console.error(`
|
|
46955
47286
|
${c.error("\u2717")} ${c.bold(title)}`);
|
|
46956
|
-
if (
|
|
46957
|
-
${c.dim(
|
|
47287
|
+
if (hint2) console.error(`
|
|
47288
|
+
${c.dim(hint2)}`);
|
|
46958
47289
|
if (suggestion) console.error(` ${c.accent(suggestion)}`);
|
|
46959
47290
|
console.error();
|
|
46960
47291
|
}
|
|
@@ -47014,11 +47345,11 @@ var init_project = __esm({
|
|
|
47014
47345
|
title;
|
|
47015
47346
|
hint;
|
|
47016
47347
|
suggestion;
|
|
47017
|
-
constructor(title,
|
|
47348
|
+
constructor(title, hint2, suggestion) {
|
|
47018
47349
|
super(title);
|
|
47019
47350
|
this.name = "InvalidProjectError";
|
|
47020
47351
|
this.title = title;
|
|
47021
|
-
this.hint =
|
|
47352
|
+
this.hint = hint2;
|
|
47022
47353
|
this.suggestion = suggestion;
|
|
47023
47354
|
}
|
|
47024
47355
|
};
|
|
@@ -84258,7 +84589,8 @@ function applyUpdatesToCall(call, updates) {
|
|
|
84258
84589
|
reconcileEditableProperties(call.fromArg, updates.fromProperties);
|
|
84259
84590
|
}
|
|
84260
84591
|
if (updates.duration !== void 0) setVarsKey(call.varsArg, "duration", updates.duration);
|
|
84261
|
-
if (updates.
|
|
84592
|
+
if (updates.easeEach !== void 0) applyEaseUpdate(call.varsArg, updates.easeEach);
|
|
84593
|
+
else if (updates.ease !== void 0) applyEaseUpdate(call.varsArg, updates.ease);
|
|
84262
84594
|
if (updates.position !== void 0) {
|
|
84263
84595
|
const posIdx = call.method === "fromTo" ? 3 : 2;
|
|
84264
84596
|
call.node.arguments[posIdx] = parseExpr(serializeValue(updates.position));
|
|
@@ -84287,6 +84619,7 @@ function buildTweenStatementCode2(timelineVar, anim) {
|
|
|
84287
84619
|
if (anim.method !== "set" && anim.duration !== void 0) props.duration = anim.duration;
|
|
84288
84620
|
if (anim.ease) props.ease = anim.ease;
|
|
84289
84621
|
const entries2 = Object.entries(props).map(([k2, v2]) => `${safeJsKey(k2)}: ${serializeValue(v2)}`);
|
|
84622
|
+
if (anim.method === "set") entries2.push("immediateRender: true");
|
|
84290
84623
|
if (anim.extras) {
|
|
84291
84624
|
for (const [k2, v2] of Object.entries(anim.extras)) {
|
|
84292
84625
|
entries2.push(`${safeJsKey(k2)}: ${serializeValue(v2)}`);
|
|
@@ -84400,7 +84733,7 @@ function addAnimationToScript2(script, animation) {
|
|
|
84400
84733
|
insertAfterAnchor(parsed, newStatement);
|
|
84401
84734
|
return { script: recast.print(parsed.ast).code, id };
|
|
84402
84735
|
}
|
|
84403
|
-
function addAnimationWithKeyframesToScript2(script, targetSelector, position, duration, keyframes, ease) {
|
|
84736
|
+
function addAnimationWithKeyframesToScript2(script, targetSelector, position, duration, keyframes, ease, easeEach) {
|
|
84404
84737
|
let parsed;
|
|
84405
84738
|
try {
|
|
84406
84739
|
parsed = parseGsapAst(script);
|
|
@@ -84412,7 +84745,7 @@ function addAnimationWithKeyframesToScript2(script, targetSelector, position, du
|
|
|
84412
84745
|
return { script, id: "" };
|
|
84413
84746
|
}
|
|
84414
84747
|
const selector = JSON.stringify(targetSelector);
|
|
84415
|
-
const kfCode = buildKeyframeObjectCode2(keyframes);
|
|
84748
|
+
const kfCode = buildKeyframeObjectCode2(keyframes, easeEach ? { easeEach } : void 0);
|
|
84416
84749
|
const varEntries = [`keyframes: ${kfCode}`, `duration: ${serializeValue(duration)}`];
|
|
84417
84750
|
if (ease) varEntries.push(`ease: ${JSON.stringify(ease)}`);
|
|
84418
84751
|
const posCode = serializeValue(position);
|
|
@@ -84921,6 +85254,23 @@ function updateKeyframeInScript2(script, animationId, percentage, properties, ea
|
|
|
84921
85254
|
const { loc, kfNode } = ctx;
|
|
84922
85255
|
const match = findKeyframePropByPct(kfNode, percentage);
|
|
84923
85256
|
if (!match) return script;
|
|
85257
|
+
if (Object.keys(properties).length === 0 && ease) {
|
|
85258
|
+
const existing = match.prop.value;
|
|
85259
|
+
if (existing?.type === "ObjectExpression") {
|
|
85260
|
+
const props = existing.properties ?? [];
|
|
85261
|
+
const easeIdx = props.findIndex(
|
|
85262
|
+
(p2) => isObjectProperty3(p2) && propKeyName3(p2) === "ease"
|
|
85263
|
+
);
|
|
85264
|
+
const easeNode = parseExpr(`({ ease: ${JSON.stringify(ease)} })`).properties[0];
|
|
85265
|
+
if (easeIdx >= 0) {
|
|
85266
|
+
props[easeIdx] = easeNode;
|
|
85267
|
+
} else {
|
|
85268
|
+
props.push(easeNode);
|
|
85269
|
+
}
|
|
85270
|
+
return recast.print(loc.parsed.ast).code;
|
|
85271
|
+
}
|
|
85272
|
+
return script;
|
|
85273
|
+
}
|
|
84924
85274
|
match.prop.value = buildKeyframeValueNode(properties, ease);
|
|
84925
85275
|
return recast.print(loc.parsed.ast).code;
|
|
84926
85276
|
}
|
|
@@ -85831,7 +86181,8 @@ function executeGsapMutationAcorn(body, block, respond2) {
|
|
|
85831
86181
|
body.position,
|
|
85832
86182
|
body.duration,
|
|
85833
86183
|
body.keyframes,
|
|
85834
|
-
body.ease
|
|
86184
|
+
body.ease,
|
|
86185
|
+
body.easeEach
|
|
85835
86186
|
);
|
|
85836
86187
|
return result.script;
|
|
85837
86188
|
}
|
|
@@ -96387,33 +96738,71 @@ async function runProbeStage(input2) {
|
|
|
96387
96738
|
quality: needsAlpha ? void 0 : 80,
|
|
96388
96739
|
deviceScaleFactor
|
|
96389
96740
|
};
|
|
96390
|
-
|
|
96391
|
-
|
|
96392
|
-
|
|
96393
|
-
|
|
96394
|
-
|
|
96395
|
-
|
|
96396
|
-
|
|
96397
|
-
|
|
96398
|
-
|
|
96399
|
-
|
|
96400
|
-
|
|
96401
|
-
|
|
96402
|
-
|
|
96403
|
-
|
|
96404
|
-
|
|
96405
|
-
|
|
96406
|
-
|
|
96407
|
-
|
|
96741
|
+
const PROBE_MAX_ATTEMPTS = 2;
|
|
96742
|
+
for (let attempt = 1; attempt <= PROBE_MAX_ATTEMPTS; attempt++) {
|
|
96743
|
+
const attemptStart = Date.now();
|
|
96744
|
+
try {
|
|
96745
|
+
log2.info("Creating capture session...", { attempt, maxAttempts: PROBE_MAX_ATTEMPTS });
|
|
96746
|
+
probeSession = await createCaptureSession(
|
|
96747
|
+
fileServer.url,
|
|
96748
|
+
join44(workDir, "probe"),
|
|
96749
|
+
captureOpts,
|
|
96750
|
+
null,
|
|
96751
|
+
probeCfg
|
|
96752
|
+
);
|
|
96753
|
+
log2.info("Waiting for composition to initialize...", { attempt });
|
|
96754
|
+
const heartbeat = setInterval(() => {
|
|
96755
|
+
const elapsed = ((Date.now() - attemptStart) / 1e3).toFixed(1);
|
|
96756
|
+
log2.info(`Still waiting for browser initialization... (${elapsed}s elapsed)`);
|
|
96757
|
+
}, 3e4);
|
|
96758
|
+
try {
|
|
96759
|
+
await initializeSession(probeSession);
|
|
96760
|
+
} finally {
|
|
96761
|
+
clearInterval(heartbeat);
|
|
96762
|
+
}
|
|
96763
|
+
} catch (err) {
|
|
96764
|
+
const isTransient = isTransientBrowserError(err);
|
|
96765
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
96766
|
+
log2.warn("Browser probe attempt failed", {
|
|
96767
|
+
attempt,
|
|
96768
|
+
maxAttempts: PROBE_MAX_ATTEMPTS,
|
|
96769
|
+
isTransient,
|
|
96770
|
+
error: errMsg,
|
|
96771
|
+
elapsedMs: Date.now() - attemptStart
|
|
96772
|
+
});
|
|
96773
|
+
if (probeSession) {
|
|
96774
|
+
try {
|
|
96775
|
+
await closeCaptureSession(probeSession);
|
|
96776
|
+
} catch (closeErr) {
|
|
96777
|
+
log2.warn("Failed to close crashed probe session", {
|
|
96778
|
+
error: closeErr instanceof Error ? closeErr.message : String(closeErr)
|
|
96779
|
+
});
|
|
96780
|
+
}
|
|
96781
|
+
probeSession = null;
|
|
96782
|
+
}
|
|
96783
|
+
if (isTransient && attempt < PROBE_MAX_ATTEMPTS) {
|
|
96784
|
+
log2.info("Retrying with a fresh browser session...", {
|
|
96785
|
+
attempt: attempt + 1,
|
|
96786
|
+
maxAttempts: PROBE_MAX_ATTEMPTS
|
|
96787
|
+
});
|
|
96788
|
+
assertNotAborted();
|
|
96789
|
+
continue;
|
|
96790
|
+
}
|
|
96791
|
+
throw err;
|
|
96792
|
+
}
|
|
96793
|
+
log2.info("Composition ready", {
|
|
96794
|
+
attempt,
|
|
96795
|
+
initMs: Date.now() - attemptStart
|
|
96796
|
+
});
|
|
96797
|
+
break;
|
|
96408
96798
|
}
|
|
96409
|
-
log2.info("Composition ready", {
|
|
96410
|
-
initMs: Date.now() - initStart
|
|
96411
|
-
});
|
|
96412
96799
|
assertNotAborted();
|
|
96413
|
-
|
|
96800
|
+
const session = probeSession;
|
|
96801
|
+
probeSession = session;
|
|
96802
|
+
lastBrowserConsole = session.browserConsoleBuffer;
|
|
96414
96803
|
if (composition.duration <= 0) {
|
|
96415
96804
|
log2.info("Discovering composition duration...");
|
|
96416
|
-
const discoveredDuration = await getCompositionDuration(
|
|
96805
|
+
const discoveredDuration = await getCompositionDuration(session);
|
|
96417
96806
|
assertNotAborted();
|
|
96418
96807
|
log2.info("Probed composition duration from browser", {
|
|
96419
96808
|
discoveredDuration,
|
|
@@ -96427,7 +96816,7 @@ async function runProbeStage(input2) {
|
|
|
96427
96816
|
}
|
|
96428
96817
|
if (compiled.unresolvedCompositions.length > 0) {
|
|
96429
96818
|
const resolutions = await resolveCompositionDurations(
|
|
96430
|
-
|
|
96819
|
+
session.page,
|
|
96431
96820
|
compiled.unresolvedCompositions
|
|
96432
96821
|
);
|
|
96433
96822
|
assertNotAborted();
|
|
@@ -96446,7 +96835,7 @@ async function runProbeStage(input2) {
|
|
|
96446
96835
|
}
|
|
96447
96836
|
}
|
|
96448
96837
|
log2.info("Discovering media assets from browser DOM...");
|
|
96449
|
-
const browserMedia = await discoverMediaFromBrowser(
|
|
96838
|
+
const browserMedia = await discoverMediaFromBrowser(session.page);
|
|
96450
96839
|
assertNotAborted();
|
|
96451
96840
|
if (browserMedia.length > 0) {
|
|
96452
96841
|
const existingVideoIds = new Set(composition.videos.map((v2) => v2.id));
|
|
@@ -96537,7 +96926,7 @@ async function runProbeStage(input2) {
|
|
|
96537
96926
|
audioCount: composition.audios.length
|
|
96538
96927
|
});
|
|
96539
96928
|
const automation = await discoverAudioVolumeAutomationFromTimeline(
|
|
96540
|
-
|
|
96929
|
+
session.page,
|
|
96541
96930
|
composition.audios.map((audio) => audio.id),
|
|
96542
96931
|
composition.duration,
|
|
96543
96932
|
fpsToNumber(job.config.fps)
|
|
@@ -96560,7 +96949,7 @@ async function runProbeStage(input2) {
|
|
|
96560
96949
|
videoCount: composition.videos.length
|
|
96561
96950
|
});
|
|
96562
96951
|
const visibilityWindows = await discoverVideoVisibilityFromTimeline(
|
|
96563
|
-
|
|
96952
|
+
session.page,
|
|
96564
96953
|
composition.duration
|
|
96565
96954
|
);
|
|
96566
96955
|
assertNotAborted();
|
|
@@ -96614,8 +97003,8 @@ async function runProbeStage(input2) {
|
|
|
96614
97003
|
});
|
|
96615
97004
|
diagnostics.push("(Could not gather browser diagnostics \u2014 page may have crashed)");
|
|
96616
97005
|
}
|
|
96617
|
-
const
|
|
96618
|
-
throw new Error("Composition duration is 0 \u2014 this would produce a black video." +
|
|
97006
|
+
const hint2 = diagnostics.length > 0 ? "\n\nDiagnostics:\n - " + diagnostics.join("\n - ") : "\n\nCheck that GSAP timelines are registered on window.__timelines.";
|
|
97007
|
+
throw new Error("Composition duration is 0 \u2014 this would produce a black video." + hint2);
|
|
96619
97008
|
}
|
|
96620
97009
|
if (probeSession) {
|
|
96621
97010
|
const failedRequests = probeSession.browserConsoleBuffer.filter(
|
|
@@ -96846,6 +97235,7 @@ async function runCaptureStage(input2) {
|
|
|
96846
97235
|
} = input2;
|
|
96847
97236
|
let { workerCount, probeSession } = input2;
|
|
96848
97237
|
let lastBrowserConsole = [];
|
|
97238
|
+
let captureBeyondViewport = probeSession?.options.captureBeyondViewport;
|
|
96849
97239
|
const captureCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
|
|
96850
97240
|
if (frameRange !== void 0) {
|
|
96851
97241
|
if (!Number.isFinite(frameRange.startFrame) || !Number.isFinite(frameRange.endFrame) || frameRange.startFrame < 0 || frameRange.endFrame <= frameRange.startFrame) {
|
|
@@ -96897,6 +97287,7 @@ async function runCaptureStage(input2) {
|
|
|
96897
97287
|
workerCount = lastAttempt.workers;
|
|
96898
97288
|
}
|
|
96899
97289
|
if (probeSession) {
|
|
97290
|
+
captureBeyondViewport = probeSession.options.captureBeyondViewport;
|
|
96900
97291
|
lastBrowserConsole = probeSession.browserConsoleBuffer;
|
|
96901
97292
|
await closeCaptureSession(probeSession);
|
|
96902
97293
|
probeSession = null;
|
|
@@ -96910,6 +97301,7 @@ async function runCaptureStage(input2) {
|
|
|
96910
97301
|
videoInjector,
|
|
96911
97302
|
captureCfg
|
|
96912
97303
|
);
|
|
97304
|
+
captureBeyondViewport = session.options.captureBeyondViewport;
|
|
96913
97305
|
if (probeSession) {
|
|
96914
97306
|
prepareCaptureSessionForReuse(session, framesDir, videoInjector);
|
|
96915
97307
|
probeSession = null;
|
|
@@ -96948,7 +97340,7 @@ async function runCaptureStage(input2) {
|
|
|
96948
97340
|
await closeCaptureSession(session);
|
|
96949
97341
|
}
|
|
96950
97342
|
}
|
|
96951
|
-
return { workerCount, probeSession, lastBrowserConsole };
|
|
97343
|
+
return { workerCount, probeSession, lastBrowserConsole, captureBeyondViewport };
|
|
96952
97344
|
}
|
|
96953
97345
|
var init_captureStage = __esm({
|
|
96954
97346
|
"../producer/src/services/render/stages/captureStage.ts"() {
|
|
@@ -97656,6 +98048,7 @@ async function runCaptureStreamingStage(input2) {
|
|
|
97656
98048
|
} = input2;
|
|
97657
98049
|
let { workerCount, probeSession } = input2;
|
|
97658
98050
|
let lastBrowserConsole = [];
|
|
98051
|
+
let captureBeyondViewport = probeSession?.options.captureBeyondViewport;
|
|
97659
98052
|
const captureCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
|
|
97660
98053
|
let streamingEncoder = null;
|
|
97661
98054
|
let streamingEncoderClosed = false;
|
|
@@ -97720,6 +98113,7 @@ async function runCaptureStreamingStage(input2) {
|
|
|
97720
98113
|
);
|
|
97721
98114
|
pushWorkerDedupPerfs(workerResults, dedupPerfs);
|
|
97722
98115
|
if (probeSession) {
|
|
98116
|
+
captureBeyondViewport = probeSession.options.captureBeyondViewport;
|
|
97723
98117
|
lastBrowserConsole = probeSession.browserConsoleBuffer;
|
|
97724
98118
|
await closeCaptureSession(probeSession);
|
|
97725
98119
|
probeSession = null;
|
|
@@ -97733,6 +98127,7 @@ async function runCaptureStreamingStage(input2) {
|
|
|
97733
98127
|
videoInjector,
|
|
97734
98128
|
captureCfg
|
|
97735
98129
|
);
|
|
98130
|
+
captureBeyondViewport = session.options.captureBeyondViewport;
|
|
97736
98131
|
if (probeSession) {
|
|
97737
98132
|
prepareCaptureSessionForReuse(session, framesDir, videoInjector);
|
|
97738
98133
|
probeSession = null;
|
|
@@ -97781,7 +98176,8 @@ async function runCaptureStreamingStage(input2) {
|
|
|
97781
98176
|
encodeMs: encodeResult.durationMs,
|
|
97782
98177
|
probeSession,
|
|
97783
98178
|
lastBrowserConsole,
|
|
97784
|
-
workerCount
|
|
98179
|
+
workerCount,
|
|
98180
|
+
captureBeyondViewport
|
|
97785
98181
|
};
|
|
97786
98182
|
} finally {
|
|
97787
98183
|
if (streamingEncoder && !streamingEncoderClosed) {
|
|
@@ -99808,6 +100204,10 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
99808
100204
|
fileServer = probeResult.fileServer;
|
|
99809
100205
|
probeSession = probeResult.probeSession;
|
|
99810
100206
|
lastBrowserConsole = probeResult.lastBrowserConsole;
|
|
100207
|
+
let resolvedCaptureBeyondViewport = probeSession?.options.captureBeyondViewport;
|
|
100208
|
+
if (resolvedCaptureBeyondViewport !== void 0) {
|
|
100209
|
+
updateCaptureObservability({ captureBeyondViewport: resolvedCaptureBeyondViewport });
|
|
100210
|
+
}
|
|
99811
100211
|
job.duration = probeResult.duration;
|
|
99812
100212
|
job.totalFrames = probeResult.totalFrames;
|
|
99813
100213
|
const totalFrames = probeResult.totalFrames;
|
|
@@ -99927,11 +100327,12 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
99927
100327
|
quality: needsAlpha ? void 0 : job.config.quality === "draft" ? 80 : 95,
|
|
99928
100328
|
variables: job.config.variables,
|
|
99929
100329
|
deviceScaleFactor,
|
|
99930
|
-
|
|
100330
|
+
...composition.videos.length > 0 ? { captureBeyondViewport: true } : {}
|
|
99931
100331
|
};
|
|
99932
|
-
|
|
99933
|
-
|
|
99934
|
-
|
|
100332
|
+
resolvedCaptureBeyondViewport = captureOptions.captureBeyondViewport ?? resolvedCaptureBeyondViewport;
|
|
100333
|
+
if (resolvedCaptureBeyondViewport !== void 0) {
|
|
100334
|
+
updateCaptureObservability({ captureBeyondViewport: resolvedCaptureBeyondViewport });
|
|
100335
|
+
}
|
|
99935
100336
|
const buildCaptureOptions = () => ({
|
|
99936
100337
|
...captureOptions,
|
|
99937
100338
|
videoMetadataHints,
|
|
@@ -100060,7 +100461,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
100060
100461
|
observability.checkpoint("capture_strategy", "resolved", {
|
|
100061
100462
|
workerCount,
|
|
100062
100463
|
forceScreenshot: captureForceScreenshot,
|
|
100063
|
-
captureBeyondViewport:
|
|
100464
|
+
captureBeyondViewport: resolvedCaptureBeyondViewport ?? null,
|
|
100064
100465
|
useStreamingEncode,
|
|
100065
100466
|
useLayeredComposite,
|
|
100066
100467
|
usePageSideCompositing: usePageSideCompositingForTransitions,
|
|
@@ -100172,6 +100573,11 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
100172
100573
|
streamingHandled = true;
|
|
100173
100574
|
workerCount = streamingRes.workerCount;
|
|
100174
100575
|
updateCaptureObservability({ workerCount });
|
|
100576
|
+
if (streamingRes.captureBeyondViewport !== void 0) {
|
|
100577
|
+
updateCaptureObservability({
|
|
100578
|
+
captureBeyondViewport: streamingRes.captureBeyondViewport
|
|
100579
|
+
});
|
|
100580
|
+
}
|
|
100175
100581
|
probeSession = streamingRes.probeSession;
|
|
100176
100582
|
lastBrowserConsole = streamingRes.lastBrowserConsole;
|
|
100177
100583
|
perfStages.captureMs = Date.now() - stage4Start;
|
|
@@ -100214,6 +100620,11 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
100214
100620
|
const captureFrameMs = Date.now() - captureFrameStart;
|
|
100215
100621
|
workerCount = captureRes.workerCount;
|
|
100216
100622
|
updateCaptureObservability({ workerCount });
|
|
100623
|
+
if (captureRes.captureBeyondViewport !== void 0) {
|
|
100624
|
+
updateCaptureObservability({
|
|
100625
|
+
captureBeyondViewport: captureRes.captureBeyondViewport
|
|
100626
|
+
});
|
|
100627
|
+
}
|
|
100217
100628
|
probeSession = captureRes.probeSession;
|
|
100218
100629
|
lastBrowserConsole = captureRes.lastBrowserConsole;
|
|
100219
100630
|
perfStages.captureMs = Date.now() - stage4Start;
|
|
@@ -102171,7 +102582,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
102171
102582
|
// declare `data-composition-variables` leave this undefined and the
|
|
102172
102583
|
// engine skips the `evaluateOnNewDocument` injection.
|
|
102173
102584
|
variables: encoder.variables,
|
|
102174
|
-
|
|
102585
|
+
...(planVideos?.videos.length ?? 0) > 0 ? { captureBeyondViewport: true } : {},
|
|
102175
102586
|
// lock the BeginFrame warmup loop to a fixed iteration count so
|
|
102176
102587
|
// `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
|
|
102177
102588
|
lockWarmupTicks: true
|
|
@@ -106553,8 +106964,8 @@ function browserTimeoutErrorMessage(error) {
|
|
|
106553
106964
|
function resolveBrowserTimeoutMsArg(raw) {
|
|
106554
106965
|
const result = parseBrowserTimeoutMsArg(raw);
|
|
106555
106966
|
if (!result.ok) {
|
|
106556
|
-
const { title, message, hint } = browserTimeoutErrorMessage(result.error);
|
|
106557
|
-
errorBox(title, message,
|
|
106967
|
+
const { title, message, hint: hint2 } = browserTimeoutErrorMessage(result.error);
|
|
106968
|
+
errorBox(title, message, hint2);
|
|
106558
106969
|
process.exit(1);
|
|
106559
106970
|
}
|
|
106560
106971
|
return result.value;
|
|
@@ -106602,8 +107013,8 @@ function compositionEntryErrorMessage(error) {
|
|
|
106602
107013
|
function resolveCompositionEntryArg(raw, projectDir, stat3) {
|
|
106603
107014
|
const result = parseCompositionEntryArg(raw, projectDir, stat3);
|
|
106604
107015
|
if (!result.ok) {
|
|
106605
|
-
const { title, message, hint } = compositionEntryErrorMessage(result.error);
|
|
106606
|
-
errorBox(title, message,
|
|
107016
|
+
const { title, message, hint: hint2 } = compositionEntryErrorMessage(result.error);
|
|
107017
|
+
errorBox(title, message, hint2);
|
|
106607
107018
|
process.exit(1);
|
|
106608
107019
|
}
|
|
106609
107020
|
return result.value;
|
|
@@ -106775,6 +107186,20 @@ var init_feedback = __esm({
|
|
|
106775
107186
|
}
|
|
106776
107187
|
});
|
|
106777
107188
|
|
|
107189
|
+
// src/telemetry/skill.ts
|
|
107190
|
+
function normalizeSkillSlug(raw) {
|
|
107191
|
+
if (typeof raw !== "string") return void 0;
|
|
107192
|
+
const slug = raw.trim();
|
|
107193
|
+
return SKILL_SLUG.test(slug) ? slug : void 0;
|
|
107194
|
+
}
|
|
107195
|
+
var SKILL_SLUG;
|
|
107196
|
+
var init_skill = __esm({
|
|
107197
|
+
"src/telemetry/skill.ts"() {
|
|
107198
|
+
"use strict";
|
|
107199
|
+
SKILL_SLUG = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
107200
|
+
}
|
|
107201
|
+
});
|
|
107202
|
+
|
|
106778
107203
|
// src/utils/dockerRunArgs.ts
|
|
106779
107204
|
function resolveDockerPlatform(arch2 = process.arch, env = process.env) {
|
|
106780
107205
|
const override = env.HYPERFRAMES_DOCKER_PLATFORM;
|
|
@@ -107384,11 +107809,11 @@ var init_batchRender = __esm({
|
|
|
107384
107809
|
BatchRenderInputError = class extends Error {
|
|
107385
107810
|
title;
|
|
107386
107811
|
hint;
|
|
107387
|
-
constructor(title, message,
|
|
107812
|
+
constructor(title, message, hint2) {
|
|
107388
107813
|
super(message);
|
|
107389
107814
|
this.name = "BatchRenderInputError";
|
|
107390
107815
|
this.title = title;
|
|
107391
|
-
this.hint =
|
|
107816
|
+
this.hint = hint2;
|
|
107392
107817
|
}
|
|
107393
107818
|
};
|
|
107394
107819
|
PLACEHOLDER_RE = /\{([A-Za-z0-9_.-]+)\}/g;
|
|
@@ -107596,6 +108021,7 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
107596
108021
|
workers: options.workers,
|
|
107597
108022
|
docker: true,
|
|
107598
108023
|
gpu: options.gpu,
|
|
108024
|
+
authoringSkill: options.authoringSkill,
|
|
107599
108025
|
...getMemorySnapshot()
|
|
107600
108026
|
});
|
|
107601
108027
|
printRenderComplete(outputPath, elapsed, options.quiet);
|
|
@@ -107782,7 +108208,7 @@ function createNoopProducerLogger() {
|
|
|
107782
108208
|
}
|
|
107783
108209
|
};
|
|
107784
108210
|
}
|
|
107785
|
-
function handleRenderError(error, options, startTime, docker,
|
|
108211
|
+
function handleRenderError(error, options, startTime, docker, hint2, failedStage, job) {
|
|
107786
108212
|
const message = normalizeErrorMessage2(error);
|
|
107787
108213
|
trackRenderError({
|
|
107788
108214
|
fps: fpsToNumber(options.fps),
|
|
@@ -107790,6 +108216,7 @@ function handleRenderError(error, options, startTime, docker, hint, failedStage,
|
|
|
107790
108216
|
docker,
|
|
107791
108217
|
workers: options.workers,
|
|
107792
108218
|
gpu: options.gpu,
|
|
108219
|
+
authoringSkill: options.authoringSkill,
|
|
107793
108220
|
elapsedMs: Date.now() - startTime,
|
|
107794
108221
|
errorMessage: message,
|
|
107795
108222
|
failedStage,
|
|
@@ -107799,7 +108226,7 @@ function handleRenderError(error, options, startTime, docker, hint, failedStage,
|
|
|
107799
108226
|
if (options.throwOnError) {
|
|
107800
108227
|
throw new Error(message);
|
|
107801
108228
|
}
|
|
107802
|
-
errorBox("Render failed", message,
|
|
108229
|
+
errorBox("Render failed", message, hint2);
|
|
107803
108230
|
process.exit(1);
|
|
107804
108231
|
}
|
|
107805
108232
|
function trackRenderMetrics(job, elapsedMs, options, docker) {
|
|
@@ -107815,6 +108242,7 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
|
|
|
107815
108242
|
workers: options.workers ?? perf?.workers,
|
|
107816
108243
|
docker,
|
|
107817
108244
|
gpu: options.gpu,
|
|
108245
|
+
authoringSkill: options.authoringSkill,
|
|
107818
108246
|
staticDedupEnabled: perf?.staticDedup?.enabled,
|
|
107819
108247
|
staticDedupArmed: perf?.staticDedup?.armed,
|
|
107820
108248
|
staticDedupSkipReason: perf?.staticDedup?.skipReason,
|
|
@@ -107892,6 +108320,7 @@ var init_render2 = __esm({
|
|
|
107892
108320
|
init_events();
|
|
107893
108321
|
init_feedback();
|
|
107894
108322
|
init_renderObservability();
|
|
108323
|
+
init_skill();
|
|
107895
108324
|
init_system();
|
|
107896
108325
|
init_version();
|
|
107897
108326
|
init_env();
|
|
@@ -107980,6 +108409,10 @@ var init_render2 = __esm({
|
|
|
107980
108409
|
description: "Quality: draft, standard, high",
|
|
107981
108410
|
default: "standard"
|
|
107982
108411
|
},
|
|
108412
|
+
skill: {
|
|
108413
|
+
type: "string",
|
|
108414
|
+
description: "Authoring workflow skill that initiated this render (e.g. product-launch-video). Recorded on anonymous render telemetry for per-skill usage breakdowns; ignored unless it is a slug."
|
|
108415
|
+
},
|
|
107983
108416
|
format: {
|
|
107984
108417
|
type: "string",
|
|
107985
108418
|
description: "Output format: mp4, webm, mov, gif, png-sequence (MOV/WebM render with transparency; png-sequence writes RGBA frames to a directory for AE/Nuke/Fusion ingest; gif is best at 15fps for PRs/docs)",
|
|
@@ -108132,6 +108565,13 @@ var init_render2 = __esm({
|
|
|
108132
108565
|
process.exit(1);
|
|
108133
108566
|
}
|
|
108134
108567
|
const quality = qualityRaw;
|
|
108568
|
+
const authoringSkill = normalizeSkillSlug(args.skill);
|
|
108569
|
+
if (typeof args.skill === "string" && args.skill.trim() !== "" && !authoringSkill) {
|
|
108570
|
+
process.stderr.write(
|
|
108571
|
+
`hyperframes: ignoring --skill="${args.skill}" \u2014 not a valid slug (lowercase letters/digits/hyphens, max 64); this render will be unattributed.
|
|
108572
|
+
`
|
|
108573
|
+
);
|
|
108574
|
+
}
|
|
108135
108575
|
const formatRaw = args.format ?? "mp4";
|
|
108136
108576
|
const format = parseRenderFormat(formatRaw);
|
|
108137
108577
|
if (!format) {
|
|
@@ -108425,6 +108865,7 @@ var init_render2 = __esm({
|
|
|
108425
108865
|
const renderOptionsBase = {
|
|
108426
108866
|
fps,
|
|
108427
108867
|
quality,
|
|
108868
|
+
authoringSkill,
|
|
108428
108869
|
format,
|
|
108429
108870
|
workers,
|
|
108430
108871
|
gpu: useGpu,
|
|
@@ -108473,6 +108914,7 @@ var init_render2 = __esm({
|
|
|
108473
108914
|
await renderDocker(project.dir, outputPath, {
|
|
108474
108915
|
fps,
|
|
108475
108916
|
quality,
|
|
108917
|
+
authoringSkill,
|
|
108476
108918
|
format,
|
|
108477
108919
|
gifLoop,
|
|
108478
108920
|
workers,
|
|
@@ -108498,6 +108940,7 @@ var init_render2 = __esm({
|
|
|
108498
108940
|
await renderLocal(project.dir, outputPath, {
|
|
108499
108941
|
fps,
|
|
108500
108942
|
quality,
|
|
108943
|
+
authoringSkill,
|
|
108501
108944
|
format,
|
|
108502
108945
|
gifLoop,
|
|
108503
108946
|
workers,
|
|
@@ -108947,8 +109390,8 @@ async function detect(audioPath) {
|
|
|
108947
109390
|
return await analyzeBeatsHeadless(readFileSync50(audioPath));
|
|
108948
109391
|
} catch (err) {
|
|
108949
109392
|
const msg = err instanceof Error ? err.message : String(err);
|
|
108950
|
-
const
|
|
108951
|
-
fail(`Beat detection failed: ${msg}${
|
|
109393
|
+
const hint2 = /chrome|executable|browser|ENOENT/i.test(msg) ? "\nRun: npx hyperframes browser ensure" : "";
|
|
109394
|
+
fail(`Beat detection failed: ${msg}${hint2}`);
|
|
108952
109395
|
}
|
|
108953
109396
|
}
|
|
108954
109397
|
function report(file, result, json) {
|
|
@@ -111460,15 +111903,28 @@ __export(transcribe_exports2, {
|
|
|
111460
111903
|
});
|
|
111461
111904
|
import { existsSync as existsSync72, writeFileSync as writeFileSync30 } from "fs";
|
|
111462
111905
|
import { resolve as resolve48, join as join78, extname as extname12, dirname as dirname32 } from "path";
|
|
111906
|
+
function failWith(message, json) {
|
|
111907
|
+
trackCommandFailure("transcribe", message);
|
|
111908
|
+
if (json) {
|
|
111909
|
+
console.log(JSON.stringify({ ok: false, error: message }));
|
|
111910
|
+
} else {
|
|
111911
|
+
console.error(c.error(message));
|
|
111912
|
+
}
|
|
111913
|
+
process.exit(1);
|
|
111914
|
+
}
|
|
111915
|
+
function parseExportFormat(value, json) {
|
|
111916
|
+
if (!value) return void 0;
|
|
111917
|
+
const normalized = value.toLowerCase();
|
|
111918
|
+
if (normalized === "srt" || normalized === "vtt") return normalized;
|
|
111919
|
+
failWith(`Unsupported caption export format: ${value}. Use srt or vtt.`, json);
|
|
111920
|
+
}
|
|
111921
|
+
function exitNoWords(json) {
|
|
111922
|
+
failWith("No words found in transcript.", json);
|
|
111923
|
+
}
|
|
111463
111924
|
async function importTranscript(inputPath, dir, json) {
|
|
111464
111925
|
const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
|
|
111465
111926
|
const { words, format } = loadTranscript2(inputPath);
|
|
111466
|
-
if (words.length === 0)
|
|
111467
|
-
const message = "No words found in transcript.";
|
|
111468
|
-
trackCommandFailure("transcribe", message);
|
|
111469
|
-
console.error(c.error(message));
|
|
111470
|
-
process.exit(1);
|
|
111471
|
-
}
|
|
111927
|
+
if (words.length === 0) exitNoWords(json);
|
|
111472
111928
|
const outPath = join78(dir, "transcript.json");
|
|
111473
111929
|
writeFileSync30(outPath, JSON.stringify(words, null, 2));
|
|
111474
111930
|
patchCaptionHtml2(dir, words);
|
|
@@ -111482,6 +111938,24 @@ async function importTranscript(inputPath, dir, json) {
|
|
|
111482
111938
|
);
|
|
111483
111939
|
}
|
|
111484
111940
|
}
|
|
111941
|
+
async function exportTranscript(inputPath, dir, to, output, json, preserveCues) {
|
|
111942
|
+
const { loadTranscript: loadTranscript2, formatSrt: formatSrt2, formatVtt: formatVtt2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
|
|
111943
|
+
const { words, format } = loadTranscript2(inputPath);
|
|
111944
|
+
if (words.length === 0) exitNoWords(json);
|
|
111945
|
+
const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
|
|
111946
|
+
const outPath = resolve48(output ?? join78(dir, `transcript.${to}`));
|
|
111947
|
+
const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
|
|
111948
|
+
writeFileSync30(outPath, content);
|
|
111949
|
+
if (json) {
|
|
111950
|
+
console.log(
|
|
111951
|
+
JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
|
|
111952
|
+
);
|
|
111953
|
+
} else {
|
|
111954
|
+
console.log(
|
|
111955
|
+
`${c.success("\u25C7")} Exported ${c.accent(String(words.length))} words to ${c.accent(to.toUpperCase())} \u2192 ${c.accent(outPath)}`
|
|
111956
|
+
);
|
|
111957
|
+
}
|
|
111958
|
+
}
|
|
111485
111959
|
async function transcribeAudio(inputPath, dir, opts) {
|
|
111486
111960
|
const { transcribe: transcribe2 } = await Promise.resolve().then(() => (init_transcribe(), transcribe_exports));
|
|
111487
111961
|
const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2, stripBeforeOnset: stripBeforeOnset2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
|
|
@@ -111562,7 +112036,12 @@ var init_transcribe2 = __esm({
|
|
|
111562
112036
|
["Use a larger model for better accuracy", "hyperframes transcribe audio.mp3 --model medium.en"],
|
|
111563
112037
|
["Set language to filter non-target speech", "hyperframes transcribe audio.mp3 --language en"],
|
|
111564
112038
|
["Import an existing SRT file", "hyperframes transcribe subtitles.srt"],
|
|
111565
|
-
["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"]
|
|
112039
|
+
["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"],
|
|
112040
|
+
["Export captions to SRT", "hyperframes transcribe transcript.json --to srt"],
|
|
112041
|
+
[
|
|
112042
|
+
"Export single-word/CJK captions without re-grouping",
|
|
112043
|
+
"hyperframes transcribe transcript.json --to vtt --preserve-cues"
|
|
112044
|
+
]
|
|
111566
112045
|
];
|
|
111567
112046
|
transcribe_default = defineCommand({
|
|
111568
112047
|
meta: {
|
|
@@ -111595,6 +112074,20 @@ var init_transcribe2 = __esm({
|
|
|
111595
112074
|
description: "Output result as JSON",
|
|
111596
112075
|
default: false
|
|
111597
112076
|
},
|
|
112077
|
+
to: {
|
|
112078
|
+
type: "string",
|
|
112079
|
+
description: "Export transcript sidecar format: srt or vtt"
|
|
112080
|
+
},
|
|
112081
|
+
output: {
|
|
112082
|
+
type: "string",
|
|
112083
|
+
alias: "o",
|
|
112084
|
+
description: "Output path for exported SRT/VTT sidecar"
|
|
112085
|
+
},
|
|
112086
|
+
"preserve-cues": {
|
|
112087
|
+
type: "boolean",
|
|
112088
|
+
description: "Keep each transcript entry as its own caption cue (skip word-level grouping). Use when exporting an already-cued transcript whose entries have no internal spaces, e.g. single-word or CJK captions.",
|
|
112089
|
+
default: false
|
|
112090
|
+
},
|
|
111598
112091
|
optional: {
|
|
111599
112092
|
type: "boolean",
|
|
111600
112093
|
description: "Treat captions as optional: if whisper-cpp is unavailable, skip and exit 0 instead of failing. For pipelines that continue without captions.",
|
|
@@ -111612,6 +112105,16 @@ var init_transcribe2 = __esm({
|
|
|
111612
112105
|
const dir = resolve48(args.dir ?? dirname32(inputPath));
|
|
111613
112106
|
const ext = extname12(inputPath).toLowerCase();
|
|
111614
112107
|
const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
|
|
112108
|
+
const to = parseExportFormat(args.to, args.json);
|
|
112109
|
+
if (to) {
|
|
112110
|
+
if (!isImport) {
|
|
112111
|
+
failWith(
|
|
112112
|
+
"--to can only export from transcript files (.json, .srt, .vtt). Run transcribe first.",
|
|
112113
|
+
args.json
|
|
112114
|
+
);
|
|
112115
|
+
}
|
|
112116
|
+
return exportTranscript(inputPath, dir, to, args.output, args.json, args["preserve-cues"]);
|
|
112117
|
+
}
|
|
111615
112118
|
if (isImport) {
|
|
111616
112119
|
return importTranscript(inputPath, dir, args.json);
|
|
111617
112120
|
}
|
|
@@ -111727,15 +112230,8 @@ var init_manager4 = __esm({
|
|
|
111727
112230
|
}
|
|
111728
112231
|
});
|
|
111729
112232
|
|
|
111730
|
-
// src/tts/
|
|
111731
|
-
var synthesize_exports = {};
|
|
111732
|
-
__export(synthesize_exports, {
|
|
111733
|
-
synthesize: () => synthesize
|
|
111734
|
-
});
|
|
112233
|
+
// src/tts/python.ts
|
|
111735
112234
|
import { execFileSync as execFileSync9 } from "child_process";
|
|
111736
|
-
import { existsSync as existsSync74, writeFileSync as writeFileSync31, mkdirSync as mkdirSync39, readdirSync as readdirSync28, unlinkSync as unlinkSync7 } from "fs";
|
|
111737
|
-
import { join as join80, dirname as dirname33, basename as basename15 } from "path";
|
|
111738
|
-
import { homedir as homedir11 } from "os";
|
|
111739
112235
|
function findPython() {
|
|
111740
112236
|
for (const name of ["python3", "python"]) {
|
|
111741
112237
|
try {
|
|
@@ -111769,6 +112265,36 @@ function hasPythonPackage(python, pkg) {
|
|
|
111769
112265
|
return false;
|
|
111770
112266
|
}
|
|
111771
112267
|
}
|
|
112268
|
+
function hasPythonModules(modules) {
|
|
112269
|
+
const python = findPython();
|
|
112270
|
+
if (!python) return false;
|
|
112271
|
+
const list = JSON.stringify(modules);
|
|
112272
|
+
const probe = `import importlib.util,sys; sys.exit(0 if all(importlib.util.find_spec(m) for m in ${list}) else 1)`;
|
|
112273
|
+
try {
|
|
112274
|
+
execFileSync9(python, ["-c", probe], {
|
|
112275
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
112276
|
+
timeout: 1e4
|
|
112277
|
+
});
|
|
112278
|
+
return true;
|
|
112279
|
+
} catch {
|
|
112280
|
+
return false;
|
|
112281
|
+
}
|
|
112282
|
+
}
|
|
112283
|
+
var init_python = __esm({
|
|
112284
|
+
"src/tts/python.ts"() {
|
|
112285
|
+
"use strict";
|
|
112286
|
+
}
|
|
112287
|
+
});
|
|
112288
|
+
|
|
112289
|
+
// src/tts/synthesize.ts
|
|
112290
|
+
var synthesize_exports = {};
|
|
112291
|
+
__export(synthesize_exports, {
|
|
112292
|
+
synthesize: () => synthesize
|
|
112293
|
+
});
|
|
112294
|
+
import { execFileSync as execFileSync10 } from "child_process";
|
|
112295
|
+
import { existsSync as existsSync74, writeFileSync as writeFileSync31, mkdirSync as mkdirSync39, readdirSync as readdirSync28, unlinkSync as unlinkSync7 } from "fs";
|
|
112296
|
+
import { join as join80, dirname as dirname33, basename as basename15 } from "path";
|
|
112297
|
+
import { homedir as homedir11 } from "os";
|
|
111772
112298
|
function ensureSynthScript() {
|
|
111773
112299
|
if (!existsSync74(SCRIPT_PATH)) {
|
|
111774
112300
|
mkdirSync39(SCRIPT_DIR, { recursive: true });
|
|
@@ -111815,7 +112341,7 @@ async function synthesize(text, outputPath, options) {
|
|
|
111815
112341
|
mkdirSync39(dirname33(outputPath), { recursive: true });
|
|
111816
112342
|
options?.onProgress?.(`Generating speech with voice ${voice} (${lang})...`);
|
|
111817
112343
|
try {
|
|
111818
|
-
const stdout2 =
|
|
112344
|
+
const stdout2 = execFileSync10(
|
|
111819
112345
|
python,
|
|
111820
112346
|
[scriptPath, modelPath2, voicesPath, text, voice, String(speed), outputPath, lang],
|
|
111821
112347
|
{
|
|
@@ -111856,6 +112382,7 @@ var init_synthesize = __esm({
|
|
|
111856
112382
|
"src/tts/synthesize.ts"() {
|
|
111857
112383
|
"use strict";
|
|
111858
112384
|
init_manager4();
|
|
112385
|
+
init_python();
|
|
111859
112386
|
SYNTH_SCRIPT = `
|
|
111860
112387
|
import sys, json, inspect
|
|
111861
112388
|
|
|
@@ -112220,6 +112747,60 @@ var init_docs = __esm({
|
|
|
112220
112747
|
}
|
|
112221
112748
|
});
|
|
112222
112749
|
|
|
112750
|
+
// src/audio/providers.ts
|
|
112751
|
+
function decideVoice(f3) {
|
|
112752
|
+
if (f3.hasHeygen) return { engine: "heygen", label: "HeyGen Starfish", local: false, ready: true };
|
|
112753
|
+
if (f3.elevenlabs) return { engine: "elevenlabs", label: "ElevenLabs", local: false, ready: true };
|
|
112754
|
+
return {
|
|
112755
|
+
engine: "kokoro",
|
|
112756
|
+
label: "Kokoro",
|
|
112757
|
+
local: true,
|
|
112758
|
+
ready: f3.kokoro,
|
|
112759
|
+
...f3.kokoro ? {} : { setupHint: KOKORO_PIP }
|
|
112760
|
+
};
|
|
112761
|
+
}
|
|
112762
|
+
function decideMusic(f3) {
|
|
112763
|
+
if (f3.hasHeygen) return { engine: "heygen", label: "HeyGen library", local: false, ready: true };
|
|
112764
|
+
if (f3.lyria) return { engine: "lyria", label: "Lyria (Gemini)", local: false, ready: true };
|
|
112765
|
+
return {
|
|
112766
|
+
engine: "musicgen",
|
|
112767
|
+
label: "MusicGen",
|
|
112768
|
+
local: true,
|
|
112769
|
+
ready: f3.musicgen,
|
|
112770
|
+
...f3.musicgen ? {} : { setupHint: MUSICGEN_PIP }
|
|
112771
|
+
};
|
|
112772
|
+
}
|
|
112773
|
+
function gatherVoiceFacts(hasHeygen) {
|
|
112774
|
+
if (hasHeygen) return { hasHeygen, elevenlabs: false, kokoro: false };
|
|
112775
|
+
const elevenlabs = Boolean(process.env["ELEVENLABS_API_KEY"]) && hasPythonModules(["elevenlabs"]);
|
|
112776
|
+
const kokoro = hasPythonModules(KOKORO_MODULES);
|
|
112777
|
+
return { hasHeygen, elevenlabs, kokoro };
|
|
112778
|
+
}
|
|
112779
|
+
function gatherMusicFacts(hasHeygen) {
|
|
112780
|
+
if (hasHeygen) return { hasHeygen, lyria: false, musicgen: false };
|
|
112781
|
+
const hasLyriaKey = Boolean(process.env["GEMINI_API_KEY"] || process.env["GOOGLE_API_KEY"]);
|
|
112782
|
+
const lyria = hasLyriaKey && hasPythonModules(["google.genai"]);
|
|
112783
|
+
const musicgen = hasPythonModules(MUSICGEN_MODULES);
|
|
112784
|
+
return { hasHeygen, lyria, musicgen };
|
|
112785
|
+
}
|
|
112786
|
+
function resolveVoice(hasHeygen) {
|
|
112787
|
+
return decideVoice(gatherVoiceFacts(hasHeygen));
|
|
112788
|
+
}
|
|
112789
|
+
function resolveMusic(hasHeygen) {
|
|
112790
|
+
return decideMusic(gatherMusicFacts(hasHeygen));
|
|
112791
|
+
}
|
|
112792
|
+
var KOKORO_MODULES, MUSICGEN_MODULES, KOKORO_PIP, MUSICGEN_PIP;
|
|
112793
|
+
var init_providers = __esm({
|
|
112794
|
+
"src/audio/providers.ts"() {
|
|
112795
|
+
"use strict";
|
|
112796
|
+
init_python();
|
|
112797
|
+
KOKORO_MODULES = ["kokoro_onnx", "soundfile"];
|
|
112798
|
+
MUSICGEN_MODULES = ["transformers", "torch", "soundfile", "numpy"];
|
|
112799
|
+
KOKORO_PIP = "pip install kokoro-onnx soundfile";
|
|
112800
|
+
MUSICGEN_PIP = "pip install transformers torch soundfile numpy";
|
|
112801
|
+
}
|
|
112802
|
+
});
|
|
112803
|
+
|
|
112223
112804
|
// src/commands/doctor.ts
|
|
112224
112805
|
var doctor_exports = {};
|
|
112225
112806
|
__export(doctor_exports, {
|
|
@@ -112342,6 +112923,22 @@ async function checkWhisper() {
|
|
|
112342
112923
|
hint: getInstallInstructions2()
|
|
112343
112924
|
};
|
|
112344
112925
|
}
|
|
112926
|
+
function checkLocalVoice() {
|
|
112927
|
+
if (hasPythonModules(KOKORO_MODULES)) return { ok: true, detail: "Kokoro deps installed" };
|
|
112928
|
+
return {
|
|
112929
|
+
ok: false,
|
|
112930
|
+
detail: "Not installed (optional \u2014 local voice fallback)",
|
|
112931
|
+
hint: KOKORO_PIP
|
|
112932
|
+
};
|
|
112933
|
+
}
|
|
112934
|
+
function checkLocalMusic() {
|
|
112935
|
+
if (hasPythonModules(MUSICGEN_MODULES)) return { ok: true, detail: "MusicGen deps installed" };
|
|
112936
|
+
return {
|
|
112937
|
+
ok: false,
|
|
112938
|
+
detail: "Not installed (optional \u2014 local music fallback)",
|
|
112939
|
+
hint: MUSICGEN_PIP
|
|
112940
|
+
};
|
|
112941
|
+
}
|
|
112345
112942
|
function redactHome(s2) {
|
|
112346
112943
|
const home = process.env["HOME"] || process.env["USERPROFILE"];
|
|
112347
112944
|
if (!home) return s2;
|
|
@@ -112371,6 +112968,8 @@ var init_doctor = __esm({
|
|
|
112371
112968
|
init_dist();
|
|
112372
112969
|
init_colors();
|
|
112373
112970
|
init_preflight();
|
|
112971
|
+
init_providers();
|
|
112972
|
+
init_python();
|
|
112374
112973
|
init_version();
|
|
112375
112974
|
init_updateCheck();
|
|
112376
112975
|
init_system();
|
|
@@ -112397,6 +112996,8 @@ var init_doctor = __esm({
|
|
|
112397
112996
|
}
|
|
112398
112997
|
checks.push({ name: "Environment", run: checkEnvironment });
|
|
112399
112998
|
checks.push({ name: "whisper-cpp", run: checkWhisper });
|
|
112999
|
+
checks.push({ name: "TTS (Kokoro)", run: checkLocalVoice });
|
|
113000
|
+
checks.push({ name: "BGM (MusicGen)", run: checkLocalMusic });
|
|
112400
113001
|
const outcomes = [];
|
|
112401
113002
|
for (const check of checks) {
|
|
112402
113003
|
const result = await check.run();
|
|
@@ -112463,7 +113064,7 @@ __export(upgrade_exports, {
|
|
|
112463
113064
|
default: () => upgrade_default,
|
|
112464
113065
|
examples: () => examples22
|
|
112465
113066
|
});
|
|
112466
|
-
import { execFileSync as
|
|
113067
|
+
import { execFileSync as execFileSync11 } from "child_process";
|
|
112467
113068
|
var examples22, upgrade_default;
|
|
112468
113069
|
var init_upgrade = __esm({
|
|
112469
113070
|
"src/commands/upgrade.ts"() {
|
|
@@ -112534,7 +113135,7 @@ var init_upgrade = __esm({
|
|
|
112534
113135
|
console.log(` ${c.dim("Running:")} ${c.accent(installCmd)}`);
|
|
112535
113136
|
console.log();
|
|
112536
113137
|
try {
|
|
112537
|
-
|
|
113138
|
+
execFileSync11("npm", installArgs, { stdio: "inherit", shell: false });
|
|
112538
113139
|
ye(c.success(`Upgraded to v${result.latest}`));
|
|
112539
113140
|
} catch {
|
|
112540
113141
|
ye(c.dim("Install failed. Try running manually:"));
|
|
@@ -112722,15 +113323,15 @@ var events_exports2 = {};
|
|
|
112722
113323
|
__export(events_exports2, {
|
|
112723
113324
|
default: () => events_default
|
|
112724
113325
|
});
|
|
112725
|
-
var ALLOWED_EVENTS, ALLOWED_OUTCOMES,
|
|
113326
|
+
var ALLOWED_EVENTS, ALLOWED_OUTCOMES, events_default;
|
|
112726
113327
|
var init_events2 = __esm({
|
|
112727
113328
|
"src/commands/events.ts"() {
|
|
112728
113329
|
"use strict";
|
|
112729
113330
|
init_dist();
|
|
112730
113331
|
init_client();
|
|
113332
|
+
init_skill();
|
|
112731
113333
|
ALLOWED_EVENTS = ["skill_invoked", "skill_completed"];
|
|
112732
113334
|
ALLOWED_OUTCOMES = ["success", "error", "abort"];
|
|
112733
|
-
SKILL_SLUG = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
112734
113335
|
events_default = defineCommand({
|
|
112735
113336
|
meta: {
|
|
112736
113337
|
name: "events",
|
|
@@ -115283,9 +115884,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
115283
115884
|
return { iterator: asyncIterator, nextMethod, done: false };
|
|
115284
115885
|
}
|
|
115285
115886
|
const SymbolAsyncIterator = (_c2 = (_a4 = Symbol.asyncIterator) !== null && _a4 !== void 0 ? _a4 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c2 !== void 0 ? _c2 : "@@asyncIterator";
|
|
115286
|
-
function GetIterator(obj,
|
|
115887
|
+
function GetIterator(obj, hint2 = "sync", method) {
|
|
115287
115888
|
if (method === void 0) {
|
|
115288
|
-
if (
|
|
115889
|
+
if (hint2 === "async") {
|
|
115289
115890
|
method = GetMethod(obj, SymbolAsyncIterator);
|
|
115290
115891
|
if (method === void 0) {
|
|
115291
115892
|
const syncMethod = GetMethod(obj, Symbol.iterator);
|
|
@@ -157426,12 +158027,12 @@ function requireStack(stackName, cwd = process.cwd()) {
|
|
|
157426
158027
|
const stack = readStackOutputs(stackName, cwd);
|
|
157427
158028
|
if (!stack) {
|
|
157428
158029
|
const known = listStackNames(cwd);
|
|
157429
|
-
let
|
|
158030
|
+
let hint2 = `Run \`hyperframes lambda deploy${stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${stackName}`}\` first.`;
|
|
157430
158031
|
if (known.length) {
|
|
157431
|
-
|
|
158032
|
+
hint2 += ` Known stacks here: ${known.join(", ")}.`;
|
|
157432
158033
|
}
|
|
157433
158034
|
console.error(
|
|
157434
|
-
`[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${
|
|
158035
|
+
`[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${hint2}`
|
|
157435
158036
|
);
|
|
157436
158037
|
process.exit(1);
|
|
157437
158038
|
}
|
|
@@ -157448,12 +158049,12 @@ var init_state = __esm({
|
|
|
157448
158049
|
});
|
|
157449
158050
|
|
|
157450
158051
|
// src/commands/lambda/sam.ts
|
|
157451
|
-
import { execFileSync as
|
|
158052
|
+
import { execFileSync as execFileSync12, spawnSync as spawnSync4 } from "child_process";
|
|
157452
158053
|
import { existsSync as existsSync87 } from "fs";
|
|
157453
158054
|
import { join as join95 } from "path";
|
|
157454
158055
|
function assertSamAvailable() {
|
|
157455
158056
|
try {
|
|
157456
|
-
|
|
158057
|
+
execFileSync12("sam", ["--version"], { stdio: "ignore" });
|
|
157457
158058
|
} catch {
|
|
157458
158059
|
throw new Error(
|
|
157459
158060
|
"`sam` CLI not found on PATH. Install AWS SAM CLI from https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html and retry."
|
|
@@ -157462,7 +158063,7 @@ function assertSamAvailable() {
|
|
|
157462
158063
|
}
|
|
157463
158064
|
function assertAwsCliAvailable() {
|
|
157464
158065
|
try {
|
|
157465
|
-
|
|
158066
|
+
execFileSync12("aws", ["--version"], { stdio: "ignore" });
|
|
157466
158067
|
} catch {
|
|
157467
158068
|
throw new Error(
|
|
157468
158069
|
"`aws` CLI not found on PATH. Install from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html and configure credentials before retrying."
|
|
@@ -157539,7 +158140,7 @@ function fetchStackOutputs(opts) {
|
|
|
157539
158140
|
if (opts.awsProfile) {
|
|
157540
158141
|
args.unshift("--profile", opts.awsProfile);
|
|
157541
158142
|
}
|
|
157542
|
-
const out =
|
|
158143
|
+
const out = execFileSync12("aws", args, { encoding: "utf-8" });
|
|
157543
158144
|
const parsed = JSON.parse(out);
|
|
157544
158145
|
const byKey = new Map(parsed.map((o) => [o.OutputKey, o.OutputValue]));
|
|
157545
158146
|
const bucketName = byKey.get("RenderBucketName");
|
|
@@ -160044,11 +160645,11 @@ var init_errors = __esm({
|
|
|
160044
160645
|
AuthError = class extends Error {
|
|
160045
160646
|
code;
|
|
160046
160647
|
hint;
|
|
160047
|
-
constructor(code, message,
|
|
160648
|
+
constructor(code, message, hint2) {
|
|
160048
160649
|
super(message);
|
|
160049
160650
|
this.name = "AuthError";
|
|
160050
160651
|
this.code = code;
|
|
160051
|
-
this.hint =
|
|
160652
|
+
this.hint = hint2;
|
|
160052
160653
|
}
|
|
160053
160654
|
};
|
|
160054
160655
|
ErrNotConfigured = () => new AuthError(
|
|
@@ -160997,10 +161598,10 @@ function reportApiError(stage, err, options = {}) {
|
|
|
160997
161598
|
errorBox("Not found", options.notFound);
|
|
160998
161599
|
process.exit(1);
|
|
160999
161600
|
}
|
|
161000
|
-
const
|
|
161601
|
+
const hint2 = err.code ? hints[err.code] : void 0;
|
|
161001
161602
|
const title = `${stage} (HTTP ${err.status})`;
|
|
161002
|
-
if (
|
|
161003
|
-
errorBox(title, err.message,
|
|
161603
|
+
if (hint2) {
|
|
161604
|
+
errorBox(title, err.message, hint2);
|
|
161004
161605
|
} else if (options.suggestion) {
|
|
161005
161606
|
errorBox(title, err.message, options.suggestion);
|
|
161006
161607
|
} else if (err.code) {
|
|
@@ -162179,18 +162780,92 @@ var init_login = __esm({
|
|
|
162179
162780
|
}
|
|
162180
162781
|
});
|
|
162181
162782
|
|
|
162783
|
+
// src/commands/auth/status-guidance.ts
|
|
162784
|
+
function offlineEngineLines(engines) {
|
|
162785
|
+
if (!engines || engines.length === 0) {
|
|
162786
|
+
return [
|
|
162787
|
+
c.dim("Prefer offline? Just continue \u2014 local engines (Kokoro \xB7 MusicGen) need no account.")
|
|
162788
|
+
];
|
|
162789
|
+
}
|
|
162790
|
+
const lines = ["Prefer offline? Workflows will use these local engines:"];
|
|
162791
|
+
for (const e3 of engines) {
|
|
162792
|
+
const cap = e3.capability.padEnd(5);
|
|
162793
|
+
if (e3.ready) {
|
|
162794
|
+
lines.push(` ${cap} \u2192 ${e3.label} ${c.success("\u2713 ready")}`);
|
|
162795
|
+
} else {
|
|
162796
|
+
lines.push(` ${cap} \u2192 ${e3.label} ${c.warn("\u26A0 deps missing")}`);
|
|
162797
|
+
if (e3.setupHint) lines.push(` ${c.dim(e3.setupHint)}`);
|
|
162798
|
+
}
|
|
162799
|
+
}
|
|
162800
|
+
if (engines.some((e3) => !e3.ready)) {
|
|
162801
|
+
lines.push(c.dim(" (or run `hyperframes doctor` to check the local toolchain)"));
|
|
162802
|
+
}
|
|
162803
|
+
return lines;
|
|
162804
|
+
}
|
|
162805
|
+
function buildUnconfiguredLines(ctx, engines) {
|
|
162806
|
+
if (!ctx.interactive) {
|
|
162807
|
+
return [
|
|
162808
|
+
c.warn("Not signed in to HeyGen (non-interactive)."),
|
|
162809
|
+
c.dim(
|
|
162810
|
+
"Set HEYGEN_API_KEY to use HeyGen, or workflows fall back to local engines (Kokoro voice \xB7 MusicGen music)."
|
|
162811
|
+
)
|
|
162812
|
+
];
|
|
162813
|
+
}
|
|
162814
|
+
return [
|
|
162815
|
+
c.warn("Not signed in to HeyGen \u2014 voice & music will use local engines (free, offline)."),
|
|
162816
|
+
"",
|
|
162817
|
+
"Sign in or sign up (browser OAuth, writes ~/.heygen \u2014 no per-repo .env):",
|
|
162818
|
+
` ${c.accent("npx hyperframes auth login")} ${c.dim("# browser sign-in / sign-up")}`,
|
|
162819
|
+
"",
|
|
162820
|
+
"Or paste an existing HeyGen API key (get one at app.heygen.com/settings/api):",
|
|
162821
|
+
` ${c.accent("npx hyperframes auth login --api-key")} ${c.dim("# paste at the prompt")}`,
|
|
162822
|
+
"",
|
|
162823
|
+
...offlineEngineLines(engines)
|
|
162824
|
+
];
|
|
162825
|
+
}
|
|
162826
|
+
function buildUnconfiguredJson(ctx, engines) {
|
|
162827
|
+
return {
|
|
162828
|
+
configured: false,
|
|
162829
|
+
interactive: ctx.interactive,
|
|
162830
|
+
recommended_action: RECOMMENDED_ACTION,
|
|
162831
|
+
fallback: "local",
|
|
162832
|
+
...engines ? { offline_engines: engines } : {}
|
|
162833
|
+
};
|
|
162834
|
+
}
|
|
162835
|
+
var RECOMMENDED_ACTION;
|
|
162836
|
+
var init_status_guidance = __esm({
|
|
162837
|
+
"src/commands/auth/status-guidance.ts"() {
|
|
162838
|
+
"use strict";
|
|
162839
|
+
init_colors();
|
|
162840
|
+
RECOMMENDED_ACTION = "npx hyperframes auth login";
|
|
162841
|
+
}
|
|
162842
|
+
});
|
|
162843
|
+
|
|
162182
162844
|
// src/commands/auth/status.ts
|
|
162183
162845
|
var status_exports = {};
|
|
162184
162846
|
__export(status_exports, {
|
|
162185
162847
|
default: () => status_default
|
|
162186
162848
|
});
|
|
162849
|
+
function detectUnconfiguredContext() {
|
|
162850
|
+
const sys = getSystemMeta();
|
|
162851
|
+
return { interactive: !sys.is_ci && (sys.is_tty || sys.agent_runtime !== null) };
|
|
162852
|
+
}
|
|
162853
|
+
function collectOfflineEngines() {
|
|
162854
|
+
const voice = resolveVoice(false);
|
|
162855
|
+
const music = resolveMusic(false);
|
|
162856
|
+
return [
|
|
162857
|
+
{ capability: "voice", label: voice.label, ready: voice.ready, ...hint(voice.setupHint) },
|
|
162858
|
+
{ capability: "music", label: music.label, ready: music.ready, ...hint(music.setupHint) }
|
|
162859
|
+
];
|
|
162860
|
+
}
|
|
162861
|
+
function hint(setupHint) {
|
|
162862
|
+
return setupHint ? { setupHint } : {};
|
|
162863
|
+
}
|
|
162187
162864
|
function handleUnconfigured(asJson) {
|
|
162188
|
-
|
|
162189
|
-
|
|
162190
|
-
|
|
162191
|
-
|
|
162192
|
-
console.log(`Run ${c.accent("hyperframes auth login --api-key")} to sign in.`);
|
|
162193
|
-
}
|
|
162865
|
+
const ctx = detectUnconfiguredContext();
|
|
162866
|
+
const engines = asJson || ctx.interactive ? collectOfflineEngines() : void 0;
|
|
162867
|
+
const output = asJson ? JSON.stringify(buildUnconfiguredJson(ctx, engines)) : buildUnconfiguredLines(ctx, engines).join("\n");
|
|
162868
|
+
console.log(output);
|
|
162194
162869
|
process.exit(1);
|
|
162195
162870
|
}
|
|
162196
162871
|
function handleResolveError(err, asJson) {
|
|
@@ -162309,7 +162984,10 @@ var init_status = __esm({
|
|
|
162309
162984
|
"use strict";
|
|
162310
162985
|
init_dist();
|
|
162311
162986
|
init_auth2();
|
|
162987
|
+
init_system();
|
|
162312
162988
|
init_colors();
|
|
162989
|
+
init_providers();
|
|
162990
|
+
init_status_guidance();
|
|
162313
162991
|
status_default = defineCommand({
|
|
162314
162992
|
meta: { name: "status", description: "Show the active HeyGen credential" },
|
|
162315
162993
|
args: {
|